mesh.Begin

From GMod Wiki

Jump to: navigation, search
Function
Syntax mesh.Begin( Enum Primitive Type, Number Primitive Number )
Where is this used?
Description:
Starts the process of defining a mesh. Must be finished with an accompanying call to mesh.End. This function should be called in the same places that the render functions are called; in an entity's Draw function, etc.
Returns: nil
Part of Library: mesh
Realm: NewerClient.png
BBCode Link: [b][url=http://wiki.garrysmod.com/?title=Mesh.Begin]Mesh.Begin [img]http://wiki.garrysmod.com/favicon.ico[/img][/url][/b]



Examples

DescriptionDraws a single triangle with one vertex at the entity's origin
Used onNewerClient.png
Code
 
local mat_debugwhite = Material( "models/debug/debugwhite" );
function ENT:Draw()
	self:DrawModel();
 
	local mat = Matrix();
	mat:Translate( self:GetPos() );
	mat:Rotate( self:GetAngles() );
	mat:Scale( Vector( 1, 1, 1 ) * 64 );
 
	render.SetMaterial( mat_debugwhite );
 
	cam.PushModelMatrix( mat );
 
		mesh.Begin( MATERIAL_TRIANGLES, 1 );
		--mesh.Begin( MATERIAL_LINE_LOOP, 3 );
 
			mesh.Position( Vector( 0, 0, 0 ) );
			mesh.Normal( Vector( 0, 0, 1 ) );
			mesh.AdvanceVertex();
 
			mesh.Position( Vector( 0, 1, 0 ) );
			mesh.Normal( Vector( 0, 0, 1 ) );
			mesh.AdvanceVertex();
 
			mesh.Position( Vector( 0, 0, 1 ) );
			mesh.Normal( Vector( 0, 0, 1 ) );
			mesh.AdvanceVertex();
 
		mesh.End();
 
	cam.PopModelMatrix();
end
OutputA triangle that rotates with the entity it is being drawn on.


Additional Notes

CLIENT | 0000000000000000 | 00000000000000000 | MATERIAL_POINTS
CLIENT | 0000000000000001 | 00000000000000001 | MATERIAL_LINES
CLIENT | 0000000000000002 | 00000000000000010 | MATERIAL_TRIANGLES
CLIENT | 0000000000000003 | 00000000000000011 | MATERIAL_TRIANGLE_STRIP
CLIENT | 0000000000000004 | 00000000000000100 | MATERIAL_LINE_STRIP
CLIENT | 0000000000000005 | 00000000000000101 | MATERIAL_LINE_LOOP
CLIENT | 0000000000000006 | 00000000000000110 | MATERIAL_POLYGON
CLIENT | 0000000000000007 | 00000000000000111 | MATERIAL_QUADS
Personal tools
Namespaces
Variants
Actions
Navigation
Lua Scripting
Functions
Hooks
Toolbox