New Animation System for Irrlicht

Discuss about anything related to the Irrlicht Engine, or read announcements about any significant features or usage changes.
d_e_b_u_g
Posts: 2
Joined: Wed Jul 18, 2007 3:23 pm

Post by d_e_b_u_g »

Hi Luke and co.

Great work on an amazing plug-in - kudos :)

This sounds like exactly what I'm looking for as well and now that it seems (from what I've read in this thread) to be at last in a stable working state, I was wondering when this will be merged back into the core or main irrlicht package/distribution?

If nothing definite yet, then appreciate rough estimate. e.g. version 1.4, 1.5, or are we looking at post version 2.0?

cheers
(\__/)
(='.'=) Copy bunny into your signature to
(")_(") help him gain world domination.
falko1
Posts: 8
Joined: Mon Jul 23, 2007 1:20 pm
Location: Italy

Post by falko1 »

Hi, this is my first post in this forum

I was looking for an occasion to write something and "introduce myself" :D

Ok, I think that this question can help everyone who wants to install the new animation system (thanks Luke :D) in their Irrlicht releases without reading all this (very interesting but long) topic :)

The question is: what files should I get from SVN to get this animation system working? (I know, it's an "half" working, but I want to try :))

Thank you in advance, and I apologize for my english :)
Saturn
Posts: 418
Joined: Mon Sep 25, 2006 5:58 pm

Post by Saturn »

falko1
Posts: 8
Joined: Mon Jul 23, 2007 1:20 pm
Location: Italy

Post by falko1 »

Thanks, Saturn :)
gheft
Posts: 34
Joined: Mon Jul 30, 2007 4:11 am

Post by gheft »

H, another new poster here

I'm wondering when the .x file loader will work, currently it gives me "Could not load mesh, file format seems to be unsupported". on files that used to work in 1.3.1.
I would use b3d except there is no working exporter for max 9.

excellent work to everyone involved
Luke
Admin
Posts: 449
Joined: Fri Jul 14, 2006 7:55 am
Location: Australia
Contact:

Post by Luke »

I'm wondering when the .x file loader will work, currently it gives me "Could not load mesh, file format seems to be unsupported". on files that used to work in 1.3.1.
I would use b3d except there is no working exporter for max 9.
Yeah I’m working on the x loader now, the latest update should let you load x files, but the meshbuffer is not split for the materials yet, and it has no animations yet.

Ms3d and b3d are complete.
GameDude
Posts: 498
Joined: Thu May 24, 2007 12:24 am

Post by GameDude »

So when this animation system is complete, will the next version of the Irrlicht be released?
Luke
Admin
Posts: 449
Joined: Fri Jul 14, 2006 7:55 am
Location: Australia
Contact:

Post by Luke »

So when this animation system is complete, will the next version of the Irrlicht be released?
I don't know, it's up to niko, but it needs to be tested a fair bit first.





update for the x loader:

animation support added, still a bit to go (some meshes still don't work)

meshbuffer is still not split for the materials yet
BlindSide
Admin
Posts: 2821
Joined: Thu Dec 08, 2005 9:09 am
Location: NZ!

Post by BlindSide »

Luke wrote: meshbuffer is still not split for the materials yet
Whats this all about? Are you gonna use different meshbuffers for each material? Do you think this will have a bad impact on performance?

Oh well I guess its a good compromise between using 32 bit indices or limiting yourself to 65355 vertices per model. This would just allow people to use seperate materials to achieve a high vertex count in the same model, kind of like a mesh splitter?

EDIT: Oh this is just for the X loader's progress, so Im guessing its already some common feature in all loaders to handle materials and is irrlelevant to what I just described =/
ShadowMapping for Irrlicht!: Get it here
Need help? Come on the IRC!: #irrlicht on irc://irc.freenode.net
Luke
Admin
Posts: 449
Joined: Fri Jul 14, 2006 7:55 am
Location: Australia
Contact:

Post by Luke »

BlindSide,

don't worry the splitting is only so different textures/materials can be used in a single mesh



by the way don't try to load from more then one x file, I haven't written the code to clean it up after load, or the destructor yet, so you will get weird bugs.
Dorth
Posts: 931
Joined: Sat May 26, 2007 11:03 pm

Post by Dorth »

BTW Luke, dunno if you remember my request for loading all animations from different files (an animation a file). Well, as a follow up, do you think the loader could write somewhere the number of frames in that specific animation? Thanks ahead ;)
Luke
Admin
Posts: 449
Joined: Fri Jul 14, 2006 7:55 am
Location: Australia
Contact:

Post by Luke »

dunno if you remember my request for loading all animations from different files (an animation a file)
yeah you can use:

virtual bool useAnimationFrom(ISkinnedMesh *mesh) = 0;
Well, as a follow up, do you think the loader could write somewhere the number of frames in that specific animation?
I'm not sure why you want that, what's the problem with skinnedMesh working it out?
jordan
Posts: 2
Joined: Thu Aug 02, 2007 7:24 am

SkinnedMesh compilation problem on Feisty

Post by jordan »

I'm trying to build the SkinnedMesh r816 using gcc on Ubuntu (Feisty) and compilation fails with this error:

make: *** No rule to make target `CAnimatedMeshMS3D.o', needed by `libIrrlicht.a'. Stop.

The CAnimatedMeshMS3D.cpp file is not present in the source/Irrlicht directory.

If I remove CAnimatedMeshMS3D.o from the "IRROBJ = ..." line in the source/Irrlicht/Makefile, it fails on another file

make: *** No rule to make target `CAnimatedMeshB3d.o', needed by `libIrrlicht.a'. Stop.

If I remove that from the IRROBJ as well, the next error is:

make: *** No rule to make target `CDefaultMeshFormatLoader.o', needed by `libIrrlicht.a'. Stop.

Remove that too and next we get:

CB3DMeshFileLoader.h:4:30: error: irrCompileConfig.h: No such file or directory

CB3DMeshFileLoader.h:4 is:

#include "irrCompileConfig.h"

Changing this to

#include "IrrCompileConfig.h"

fixes the problem. And then it compiles. Next, I try to compile the examples (I copied the entire "examples" folder from the svn trunk). Here's what I get:


./buildAllExamples.sh
Building 01.HelloWorld
Makefile:33: Cleaning...
Makefile:29: Building...
g++ -I../../include -I/usr/X11R6/include -O3 -ffast-math main.cpp -o ../../bin/Linux/01.HelloWorld -L/usr/X11R6/lib -L../../lib/Linux -lIrrlicht -lGL -lGLU -lXxf86vm -lXext -lX11
../../lib/Linux/libIrrlicht.a(CSceneManager.o): In function `CSceneManager':
/home/axel/irrlicht/SkinnedMesh/source/Irrlicht/CSceneManager.cpp:171: undefined reference to `irr::scene::CBSPMeshFileLoader::CBSPMeshFileLoader(irr::io::IFileSystem*, irr::video::IVideoDriver*, irr::scene::ISceneManager*)'
/home/axel/irrlicht/SkinnedMesh/source/Irrlicht/CSceneManager.cpp:174: undefined reference to `irr::scene::CMD2MeshFileLoader::CMD2MeshFileLoader()'
/home/axel/irrlicht/SkinnedMesh/source/Irrlicht/CSceneManager.cpp:177: undefined reference to `irr::scene::CMS3DMeshFileLoader::CMS3DMeshFileLoader(irr::video::IVideoDriver*)'
/home/axel/irrlicht/SkinnedMesh/source/Irrlicht/CSceneManager.cpp:213: undefined reference to `irr::scene::CB3DMeshFileLoader::CB3DMeshFileLoader(irr::scene::ISceneManager*)'
/home/axel/irrlicht/SkinnedMesh/source/Irrlicht/CSceneManager.cpp:171: undefined reference to `irr::scene::CBSPMeshFileLoader::CBSPMeshFileLoader(irr::io::IFileSystem*, irr::video::IVideoDriver*, irr::scene::ISceneManager*)'
/home/axel/irrlicht/SkinnedMesh/source/Irrlicht/CSceneManager.cpp:174: undefined reference to `irr::scene::CMD2MeshFileLoader::CMD2MeshFileLoader()'
/home/axel/irrlicht/SkinnedMesh/source/Irrlicht/CSceneManager.cpp:177: undefined reference to `irr::scene::CMS3DMeshFileLoader::CMS3DMeshFileLoader(irr::video::IVideoDriver*)'
/home/axel/irrlicht/SkinnedMesh/source/Irrlicht/CSceneManager.cpp:213: undefined reference to `irr::scene::CB3DMeshFileLoader::CB3DMeshFileLoader(irr::scene::ISceneManager*)'
../../lib/Linux/libIrrlicht.a(CXMeshFileLoader.o): In function `irr::scene::CXMeshFileLoader::createMesh(irr::io::IReadFile*)':
/home/axel/irrlicht/SkinnedMesh/source/Irrlicht/CXMeshFileLoader.cpp:60: undefined reference to `irr::scene::CSkinnedMesh::CSkinnedMesh()'
collect2: ld returned 1 exit status
make: *** [all_linux] Error 1


If I check the libIrrlicht.a for the supposed missing symbol for the first error, using 'nm libIrrlicht.a', I find the following line under the CSceneManager.o section:

_ZN3irr5scene18CBSPMeshFileLoaderC1EPNS_2io11IFileSystemEPNS_5video12IVideoDriverEPNS0_13ISceneManagerE

Which certainly seems to indicate that the symbol is present. I haven't checked all of them, but I tried a few of the errors above and in each case the symbol is present in the appropriate object file in libIrrlicht.a.

Not sure how to proceed from here. Any help would be most appreciated.
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

You simply have to add those files mentioned as namespaces. Due to the changes of the animation system the mesh loaders also change.
Luke
Admin
Posts: 449
Joined: Fri Jul 14, 2006 7:55 am
Location: Australia
Contact:

Post by Luke »

jordan,

yeah, simply add the new files to the project (as some of the project files are out of date, as I don't use them)

I'll fix that wrong case in, #include "irrCompileConfig.h"
Post Reply