Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

irrlicht

Name: Anonymous 2009-09-30 1:54

Anyone have any experience with Irrlicht? I really hate the design of the thing. What is the deal with every fucking class being wrapped by a pure virtual interface?

Take IImage and CImage for example. I understand the need for an interface to wrap different underlying libraries, but the whole *POINT* of IImage is that it holds platform independent image data. The parameters of the data are in the fucking interface for crying out loud! You would think I could just create one from a blob of pixel data, but no. That implementation is hidden away. I have to either

a) Copy CImage out from the source so I can use it;
b) Implement an IImage myself (including all the locking and mutability); or
c) Statically link the whole fucking library.

How completely stupid is that? And EVERY SINGLE CLASS is like this, especially ones you would want to actually supply data to yourself. All the texture shit, meshes, animation data, fucking everything. The thing is completely unusable unless I put all my shit in stupid goddamn .x files and jpegs.

Also, why is it so huge? Why is 01.HelloWorld over 20 megs on Linux? Why is it that even when I strip it, it's still 3 megs? It doesn't even contain the media! Is it just because it's a gigantic template whore?

Does anyone have any suggestions for engines that aren't so broken (preferably under permissive licenses)? Or should I just use SDL and do the fucking rest myself?

Name: Anonymous 2009-09-30 15:36

I always wanted to post this in their forums, but it wasn't quite constructive enough. Of course on /prog/, that's not a problem.

Note that this evaluation was from almost exactly 1 year ago.

Problems
x no clear list of conventions used (transformation order, euler angle order, matrix layout, axis definition, etc.)
x material system sucks (how?)
x separate world and eye matrix unecessary
x vertex types suck:
____ x no way to have 3d (s, t, w) texture coords
____ x no way to have 2d vertex coords
____ x no way to use glColor (i.e. no way to have colorless verticies)
x rendering pipeline sucks:
____ x no access to the pipeline between OnAnimate() and render(), so you only get old data between frames
x no way to use fixed point math
x doesn't use hardware to speed up matrix manipulations
x opengl projection matrix is buggy (and still is)
x missing ability to change FrontFace between CC and CCW
x missing ability to globally disble color rendering for just depth rendering, or visa-versa
x color types suck (but was fairly easy to mostly fix, though it really needs a wider variety than just ABGR, RGB565 and RGBA5551)
x apparently the model loading code is a mess (not unexpected, but at least plib is clearer about what is supported)
x missing math:
____ x quaternion - rotateVect
____ x plane - mirror point
____ x transformation classes: using quaternions, euler, angle/axis, etc.
____ x glFrustum

Pluses
+ image loading was easily replaced with embedded sdk
+ variety of model formats are nice

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List