Am I missing something?

Discuss about anything related to the Irrlicht Engine, or read announcements about any significant features or usage changes.
Post Reply
Guest

Am I missing something?

Post by Guest »

I've looked at the Irrlicht code a bit (I admit it was about a month ago so *maybe* things have changed), and it looks like all the vertex and index data is stored in plain old system memory.

For example, when rendering on DX the calls used are DrawPrimitiveUP/DrawIndexedPrimitiveUP. This is despite the fact that every reference on DX says that these calls are very slow and that applications looking for good performance should use vertex and index buffers along with DrawPrimitive/DrawIndexedPrimitive. Similarly, I couldn't find any code in the GL renderer that used vertex buffer objects (VBOs).

I can understand why having the data in system memory is convenient (you can animate meshes without any special handling, and you can perform collision detection from the same triangles that you use to render), but I wonder how much faster Irrlict could be if it handled geometry like a modern engine.

NOTE: It is entirely possible that I missed the code for using vertex buffers or VBOs and have thus made a complete fool of myself. If that is the case please direct me to the appropriate place in the source code.
disanti
Posts: 367
Joined: Sat Jan 17, 2004 1:36 am
Location: California, US
Contact:

Post by disanti »

If you want optimized mesh storage/render pipeline, take a look at IrrlichtNX++.
________
Marriage Advice Advice
Last edited by disanti on Thu Feb 24, 2011 10:39 am, edited 1 time in total.
Guest

Post by Guest »

Mem/asset managment is also a pain using dynamic/vbuffers etc. I guess it is a big hassle to implement this in an all purpose engine, but I agree it should be made very open to implement it ourselves as needed in irrlicht. I used the faster pool types in my own D3D framework and it was faster :)
Fred

Post by Fred »

Source contributions are always welcome! ;)
Post Reply