Ticket #31 (new enhancement)
Cafu VBOs support proposal.
| Reported by: | ronsaldo | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Libs | Version: | svn-head |
| Keywords: | Cc: | ||
| Platform: | Linux: Ubuntu |
Description
Hello,
I have been messing a bit with Cafu source code and I have noticed that it only uses immediate mode for geometry drawing, which is deprecated and even removed in more recent versions of OpenGL.
I tried to implement it in Cafu with a varying success. Due to the way that render meshes are currently implemented I had to do several changes to add more flexibility and try to take more advantage of the performance of vertex buffer objects.
Because I didn't asked the development (and there wasn't any branch of development trying to do the same), I decided to leave my work in an incomplete state and leave it just as a small proof of concept, which is in the attached patch.
Only the RendererARB use this new rendering method, RendererOpenGL and RendererNull at least build without any problem. I haven't made any change to the others renderer because I'm using Ubuntu 10.4 AMD64 and they are excluded from the build process.
The reason of why it's complicated to add VBO support is that it's a lot more expensive to draw a mesh with only 1 polygon(FaceNodeT) than one with thousands of them. The added class FaceBatchesNodeT tries to compensate it.

