first of all I want to apologize if this topic has been discussed before, and I am sure it has. However, it is a quite important topic for me right now and I would just like to throw in a few observations, describe my current situation and maybe something constructive comes out of it.
I started over a year ago with Irrlicht. We are working on a small commercial MMPG, actually version 2, the current version is already running satisfactorily but only with Ultima Online style graphics that use simple DX7 surface sprites. Now we were looking for a basic 3D library that saves us the bother of doing all the low level nitty gritty stuff. Irrlicht was one of the first choices and I started by making a small demo. I used Cal3D for the animation which worked quite well, however we decided to give Ogre a try since it's so hyped. After wasting quite some time without any results and not much response from the Ogre community, we tried other commercial libraries out there, but they were too restricted. No other library offers the flexibility, easy of use and the relative power Irrlicht offers, so let me say a big thank you to Niko and the people who help making this possible
But now comes my problem. I never realized before that Irrlicht has some restrictions based on it's design and those restrictions are a real showstopper for our project. I'm sure it's my fault for not investigating this earlier, but I realized too late the Irrlicht has no support for DX hardware buffers, all vertices and indices are kept in user memory which is a a great performance hit. Furthermore, there is no flexible vertex format. After replacing Cal3D with our own skeletal system, we wanted to do hardware skinning and realized that the vertex format did not allow the passing of the necessary infos to the shaders. then there's the GUI that seems to draw every single character to the screen in a separate blit operation instead of building up a buffer for multiple frames. I havent investigated that too deeply yet, since I just discovered that, perhaps theres a way around this. I am sure, other problems will show up as I go but that's what I have seen so far.
Now, I'm not complaining. We have started to alter Irrlicht to add the missing stuff, a new vertex format, new hardware vertex and index buffer, new renderfunctions and so on. It's all relatively easy since it is all restricted to the Dx9 driver, the null driver and the IDevice.h file (btw thanks for taking out the double .h files that used to be in source and include
The idea now was, if anybody here is interested in the changes we are making. We would be willing to upload the modified Irrlicht engine if somebody want's to / can imnplement those changes into Irrlicht maybe? I wouldn't assume that anybody would be interested in our work if this were a bigger project like Ogre, but from what I gathered on the forums I feel that maybe there might be sufficient interest here for the changes we make. If not, forget my post
I should add that we are only interested in DX9 rendering. We don't use OpenGL or the software renderer, so sorry if we focus only on the DX9 side. If somebody is interested in this sort of thing, please let me know.



