directx vertex limit

Archives Forums/Blitz3D Bug Reports/directx vertex limit

mindstorms(Posted 2007) [#1]
There seems to not be a universal limit of how many vertices you can stuff into a surface; depending on how many vertices you add each frame, the program crashes at a different vertex amount.

Graphics3D 800,600,0,2

Local surf = CreateSurface(CreateMesh())

Local cam = CreateCamera()
MoveEntity cam,0,0,-100

Const num = 50      ;change this to say how many triangles are created each frame.
Local i,k
While Not KeyDown(1)
	For i = 1 To num
		k = AddVertex(surf,Rnd(-10,10),Rnd(-10,10),Rnd(-10,10))
		AddVertex(surf,Rnd(-10,10),Rnd(-10,10),Rnd(-10,10))
		AddVertex(surf,Rnd(-10,10),Rnd(-10,10),Rnd(-10,10))
		AddTriangle(surf,k,k+1,k+2)
	Next
	RenderWorld()
	Text 0,0,TrisRendered()
	Flip
Wend


I have gotten the following limits for the number of triangles added each frame with the above program:

+50 tris per frame caps out at 15700 triangles
+100 tris per frame caps out at 20900 triangles
+20 tris per frame caps out at 21280 triangles
+1000 tris per frame caps out at 17000 triangles