deprecated wrote:Ha... with patchsize 65 and heightmap of 512 look what happens...
Could not draw triangles, too many vertices(80768), maxium is 65535.
Could not draw triangles, too many vertices(80768), maxium is 65535.
Could not draw triangles, too many vertices(80768), maxium is 65535.
[repeat a bunch of times...]
this is the 32bit indices getting overloaded right??
time for 64bit...

Yes, 65535 is the limit for a value 2^16.
4294967296, is the limit for a value of 2^32
I'm assuming you're using OpenGL. See, with DirectX, the maximum number of primitives allowed in a DrawPrimitive call is determined from the D3D9CAPS structure, which is determined from your video card's capabilities I believe. OpenGL uses the hard-coded value of 65535, so even if you have updated the engine to use 32 bit indices, OpenGL will still fail on more than 65,535 primitives. However, the default for the drawPrimitive calls in the Irrlicht engine is to check the number of drawn primitives with ther vertex count, not the triangle count. Make sure, in CVideoOpenGL.cpp, in the drawPrimitive function, you are passing the triangleCount value to the checkPrimitiveCount. I need to look into OpenGL and see if there is a way to get the maximal primitive count for a glDrawElements call, I just don't know OpenGL as well as DirectX, sorry.
EDIT: Oh, and you can increase the FPS by a lot, if you disable the triangle selector. As we speak, i'm looking at ways to make the triangle selector faster, but i don't think it's all that possible, unless you force it to always use a low LOD of all the patches.