I'm trying to choose a 3D engine for a project and Irrlicht ( version 1.8 ) is one of my options. But I have some problems...
First problem is with the quality of the rendering. I have a simple scene with floor, ceiling and walls and a number of cubes at intersections of lines with x and z multiple of 10 (361 cubes). I'm using Wavefront .obj for the objects. The floor looks fine in blender or if I export it to Collada (.dae) and look at it in Xcode:
But in the application it looks bad. Same with the walls and ceiling. It looks ok near the camera but worse and worse as the distance to camera increases:
I've tried with different lights, without lights, antialiasing, different formats etc., but no improvement. Any idea?
The second one is not necessarily a problem, but a question. With 361 cubes I get 60 frames (vsync). When I increase the number of cubes I get lower frame rates - 40fps for ~700 cubes, 25-30fps for ~1500. I use static mesh for the cube, even though I'm not sure this has any effect for these simple cubes.
Code: Select all
IMesh *mesh = smgr->getMesh("../../examples/res/cube.obj");
for (unsigned int i=0; i<mesh->getMeshBufferCount(); i++) {
mesh->getMeshBuffer(i)->setHardwareMappingHint(EHM_STATIC);
}
What can I do? LOD? Occlusion culling? What else?
Another problem is with the FPS camera. If I'm rotating and strafing in the same time, the movement is not so smooth, it's kind of jerky. This can be seen in the Quake3Map sample also.
Thanks & best regards,
Dumi.
P.S. The source code and everything needed is here - http://dako.ro/irrlicht/app.zip.