Tris/Verts Help

Blitz3D Forums/Blitz3D Programming/Tris/Verts Help

How are your meshes constucted? If your using shared vertex then that is the problem.

Here is the algorythm that I use to construct my meshes.

first I use this bit to call the function

	For loop = 1 To V_Pos -1
		For p_loop = 0 To profile_end -1

			x1 = T_PointsX (loop-1, p_loop) : 	x2 = T_PointsX (loop-1, p_loop+1)
			x3 = T_PointsX (loop,p_loop) :		x4 = T_PointsX (loop,p_loop+1)

			y1 = T_PointsY (loop-1, p_loop) : 	y2 = T_PointsY (loop-1, p_loop+1)
			y3 = T_PointsY (loop,p_loop) :		y4 = T_PointsY (loop,p_loop+1)

			z1 = T_PointsZ (loop-1,p_loop) : 	z2 = T_PointsZ (loop-1,p_loop+1)
			z3 = T_PointsZ (loop,p_loop) :		z4 = T_PointsZ (loop,p_loop+1)
			DrawQuadOnSurface (x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4,y5,1,0,1,surf)
		Next	
	Next


and then use this function to draw the quad


Function DrawQuadOnSurface (x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4,start_u#,end_u#,start_v#,end_v#,surf)
;2---3 (x3,y3,z3,x4,y4,z4)
;|    |
;0---1 (x1,y1,z1,x2,y2,z2)
		v0 = AddVertex (surf,x3,y3,z3,start_u,start_v) ; 0 left top
		v1 = AddVertex (surf, x4,y4,z4,end_u,start_v); 1 right top
		v2 =AddVertex (surf,x1,y1,z1,start_u,end_v) ; 2 left bottom
		v3 =AddVertex (surf,x2,y2,z2,end_u,end_v) ; 3 right bottom
		AddTriangle surf,v2,v0,v1 ; and 2 triangles...
		AddTriangle surf,v2,v1,v3
End Function


Each quad has it's own set of vertex.