Reduction of Mesh buffers

You are an experienced programmer and have a problem with the engine, shaders, or advanced effects? Here you'll get answers.
No questions about C++ programming or topics which are answered in the tutorials!
Post Reply
Pianist
Posts: 14
Joined: Wed Apr 22, 2009 12:47 pm
Location: Czech Republic

Reduction of Mesh buffers

Post by Pianist »

Hello guys,
I need render huge scene with thousands of objects. When everything is rendered separately frames per second rate goes down. So I need some kind of optimization. It's known that number of calling low level drawing methods determines FPS, because it consumes time. There is strong motivation for reduction of mesh buffers let me say motivation for reduction of drawVertexPrimitiveList method.

I've experienced undesired behavior of Irrlicht's rendering when all vertices of my huge object are appended into one. I have to notify it is not finally only one mesh buffer, because there is limitation for vertices count 65535. That means I've all objects appended into one and separated up into 65535 long pieces. In a real numbers, I've 10 thousand lines I can get situation when for one object is more combined meshbuffers. For this technique visual appearance goes down. For zooming in orthogonal view whole object disappears (some times) and when the camera/view is rotated for first person camera, there is possible find configuration in which this huge object translates in the scene. But there is no setPosition callback so the change position is irregular.

Does anobody hava an idea where's the mess?

thanks.
B@z
Posts: 876
Joined: Thu Jan 31, 2008 5:05 pm
Location: Hungary

Post by B@z »

Image
Image
Pianist
Posts: 14
Joined: Wed Apr 22, 2009 12:47 pm
Location: Czech Republic

Reduction of Mesh buffers

Post by Pianist »

Thanks for this advice, I've used class CMeshCombiner for mesh buffer count optimization and it has the same result as myown implementation. See the linked capture of my visualization:

http://o-server.protys.cz/~hfrauenberg/ ... _issue.avi

it is perspective view in Irrlicht with First Person Camera and I'm rotating camera angle with mouse. There is not any other command. You can see there is one point in which whole object compoused of lines is moved. I'm not able detect any setPosition callback. This undesired moving of object is in relation with mesh buffer combining/optimizing. Whe it is each mesh buffer rendered separately it doesn't move anything and this static object is kept to be static.

It's heavy.
Post Reply