Garry's Mod Wiki

Revision Difference

Global.Mesh#514885

<function name="Mesh" parent="Global" type="libraryfunc">⤶ <description>Returns a new mesh object.</description>⤶ <realm>Client</realm>⤶ <args>⤶ <arg name="mat" type="IMaterial" default="nil">The material the mesh is intended to be rendered with. It&#x27;s merely a hint that tells that mesh what vertex format it should use.</arg>⤶ </args>⤶ <rets>⤶ <ret name="" type="IMesh">The created object.</ret>⤶ </rets>⤶ </function>⤶ ⤶ <example>⤶ <description>Draws a triangle near Vector( 0, 0, 0 ) in the map.</description>⤶ <code>⤶ local mat = Material( "editor/wireframe" ) -- The material (a wireframe)⤶ local obj = Mesh() -- Create the IMesh object⤶ ⤶ local verts = { -- A table of 3 vertices that form a triangle⤶ { pos = Vector( 0, 0, 0 ), u = 0, v = 0 }, -- Vertex 1⤶ { pos = Vector( 10, 0, 0 ), u = 1, v = 0 }, -- Vertex 2⤶ { pos = Vector( 10, 10, 0 ), u = 1, v = 1 }, -- Vertex 3⤶ }⤶ ⤶ obj:BuildFromTriangles( verts ) -- Load the vertices into the IMesh object⤶ ⤶ hook.Add( "PostDrawOpaqueRenderables", "IMeshTest", function()⤶ ⤶ render.SetMaterial( mat ) -- Apply the material⤶ obj:Draw() -- Draw the mesh⤶ ⤶ end )⤶ </code>⤶ ⤶ </example>