Where are all the basic tutorials?
Where are all the basic tutorials?
Sure, there's Hello World and all kinds of code examples floating around, but where are the tutorials that explain how Irrlicht works? It really needs a tutorial that starts from the design points, architecture, etc. of Irrlicht and doesn't dive into source code right away. I have no idea what's a scene, node or anything else within the engine, and none of that seems to be documented anywhere in a user-friendly fashion. How do I draw something simple like a triangle on the screen?
Reality is for people who lack imagination.
-
- Posts: 299
- Joined: Mon Nov 27, 2006 6:52 pm
- Location: GERMANY
- Contact:
Plenty.
So in order to draw something, I need to have a scene and a node in it? What exactly is a node? If I wanted to draw a triangle, would it have to be a node? And if I wanted to change that triangle, would I have to delete it and make a new node?
How are models and animations stored in Irrlicht? If I wanted to put a model into Irrlicht and animate it, but not in any format Irrlicht automatically imports, what would I have to do?
So in order to draw something, I need to have a scene and a node in it? What exactly is a node? If I wanted to draw a triangle, would it have to be a node? And if I wanted to change that triangle, would I have to delete it and make a new node?
How are models and animations stored in Irrlicht? If I wanted to put a model into Irrlicht and animate it, but not in any format Irrlicht automatically imports, what would I have to do?
Reality is for people who lack imagination.
Going through the tutorials and editing them, and trying, and whatever is sure the easiest way to learn Irrlicht atm, I agree with GameDude.
But some information like the one Core Xii's asking about would sure make things much easier, too. You can find how things work by editing the examples, and after a while using them, you'll have made yourself a concept about what does things are. Having some sort of definitions about such things, in a tutorial form, would surely make things better.
So, where, you ask? Nowhere that I know of.
But some information like the one Core Xii's asking about would sure make things much easier, too. You can find how things work by editing the examples, and after a while using them, you'll have made yourself a concept about what does things are. Having some sort of definitions about such things, in a tutorial form, would surely make things better.
So, where, you ask? Nowhere that I know of.
Irrlicht uses a scene graph architecture. Most Higher level graphic engines, like Irrlicht, VRML, Ogre, and Unreal do.
What does scene graph mean?
The scene graph give us a more intuitive way to build a 3D graphic environment than constructing low level triangles.
Think of it this way.
How do you view the real world?
What needs to be in place for you to view the real world?
Well first we need world (scene).
Hmm I still can't see anything. Ah I need eyes to see with (camera). So we take the world (scene) and add eyes (camera).
Ok I have eyes but I still don't see anything. Our world is a empty void. Lets add a vase . So we take the world (scene) and add (load) the vase (node of a vase model).
Boy its dark in here. Lets add some light (use the scene to load a light source).
Ok here we are in the world with and vase and the lights are on.
Here is the graph.
Do you see how much easier it is to think about the 3D display in this way rather than as a bucket load of triangles and vertexes?
What does scene graph mean?
The scene graph give us a more intuitive way to build a 3D graphic environment than constructing low level triangles.
Think of it this way.
How do you view the real world?
What needs to be in place for you to view the real world?
Well first we need world (scene).
Hmm I still can't see anything. Ah I need eyes to see with (camera). So we take the world (scene) and add eyes (camera).
Ok I have eyes but I still don't see anything. Our world is a empty void. Lets add a vase . So we take the world (scene) and add (load) the vase (node of a vase model).
Boy its dark in here. Lets add some light (use the scene to load a light source).
Ok here we are in the world with and vase and the lights are on.
Here is the graph.
Code: Select all
|->vase
scene---|->light
|->eye
Now lets put some flowers in the vase.
|->flower
|->vase----|->flower
| |->flower
scene---|->light
|->eye
Now a bee lands on a flower.
|->flower->bee
|->vase-----|->flower
| |->flower
scene---|->light
|->eye
Hmm.
This is a bit confusing. I don't understand how I can draw something that is NOT some Quake 2 model that already contains animations, etc.
Say I put in a model of an upper arm, then give it a sub-node, the lower arm. I assume you can rotate the latter hierarchically... but how would I have the two models share vertices?
I am going to need to draw simple textured polygons anywhere completely arbitrarily without them being ready models, too. How does one do this?
This is a bit confusing. I don't understand how I can draw something that is NOT some Quake 2 model that already contains animations, etc.
Say I put in a model of an upper arm, then give it a sub-node, the lower arm. I assume you can rotate the latter hierarchically... but how would I have the two models share vertices?
I am going to need to draw simple textured polygons anywhere completely arbitrarily without them being ready models, too. How does one do this?
Reality is for people who lack imagination.
-
- Admin
- Posts: 14143
- Joined: Wed Apr 19, 2006 9:20 pm
- Location: Oldenburg(Oldb), Germany
- Contact:
No, your idea of scene node graphs goes too far here. If you want animations you should (probably) always use a 3d modeller (an external tool such as blender or MAX) and provide the models and animations there. Irrlicht's new animation system will simplify other ways of animation, but the usual way is to provide animated meshes.
Models which are hierarchically organised do not share vertices. You simply have to ensure that no edges will stick out of the model. but you might simply want to use skeletal animations which use a 3d model and a set of animated bones which are transforming the body to fllow the bones motions.
You can draw a triangle with a method from the driver any time you want (but be sure that you set up the projection matrix and the material properly). But in most cases, esp. if you do lots of polygons, it's much easier to create a vertex and index list as poart of a custom scene node. This will increase your render performance and keep the vertices grouped. Maybe check the ParticleSystem or Billboard sources for an idea of how to handle it.
Models which are hierarchically organised do not share vertices. You simply have to ensure that no edges will stick out of the model. but you might simply want to use skeletal animations which use a 3d model and a set of animated bones which are transforming the body to fllow the bones motions.
You can draw a triangle with a method from the driver any time you want (but be sure that you set up the projection matrix and the material properly). But in most cases, esp. if you do lots of polygons, it's much easier to create a vertex and index list as poart of a custom scene node. This will increase your render performance and keep the vertices grouped. Maybe check the ParticleSystem or Billboard sources for an idea of how to handle it.
Well I don't have such modeling resources available, but you can't be seriously suggesting that's the only way.
How does Irrlicht store/handle models and their animations internally, so I could make my own "importer"? (I guess that's a pretty broad question... but any help is appreciated)
How does Irrlicht store/handle models and their animations internally, so I could make my own "importer"? (I guess that's a pretty broad question... but any help is appreciated)
Reality is for people who lack imagination.
Please look at the custom scene node tutorial. It answers the very question you are asking repeatedly in a simple manner. (How to draw a triangle on the screen and change it OR More rather, manually specifiy what vertexes go where etc )
Cheers
Cheers
ShadowMapping for Irrlicht!: Get it here
Need help? Come on the IRC!: #irrlicht on irc://irc.freenode.net
Need help? Come on the IRC!: #irrlicht on irc://irc.freenode.net
-
- Admin
- Posts: 14143
- Joined: Wed Apr 19, 2006 9:20 pm
- Location: Oldenburg(Oldb), Germany
- Contact:
you won't find information about animation internal anywhere as of now. The current animation system uses custom data structures for every format. The new animation system uses some more general structures, but is not yet documented outside its sources.
However, you will have to invent your own animation format and implement the motions and transformations on your own if you don't want to use an exsiting format. You will have to define the way these things are specified and composed over time. I don't know if it is really useful to avoid the existing formats, what would be the benefits? If Irrlicht does not support your favorite format just write a loader and animator for it. This will enable the reuse of existing tools and avoid design flaws.
However, you will have to invent your own animation format and implement the motions and transformations on your own if you don't want to use an exsiting format. You will have to define the way these things are specified and composed over time. I don't know if it is really useful to avoid the existing formats, what would be the benefits? If Irrlicht does not support your favorite format just write a loader and animator for it. This will enable the reuse of existing tools and avoid design flaws.