Rendering Engine


So after making a post on the official Irrlicht forums it seems that Irrlicht 1.8 will come with full OpenGl ES support but then I found something interesting...

There is a fully working Irrlicht wrapper for the Iphone which uses no other than OpenGL ES.

This wrapper also includes a physics library and touch controls. :)

Here's a link to the thread on the Irrlicht forums. Scroll down to Garfinkle and read his post.
Click here

If I'm correct this is exactly what we're looking for but will it work on the Pandora?

Only time will tell...
 
I also wanted to ask a question dealing with SDL.

I've been using Code::Blocks with the Pandora compiler on Ubuntu 10.04 with no problems but whenever I try to compile a SDL project I get this error.

||=== y, Debug ===|
ld||cannot find -lSDL|
||=== Build finished: 1 errors, 1 warnings ===|

I've built SDL using

./Configure
make
make install

But no matter what I do it doesn't work.

Do I need to setup my linkers or search directories?

Can someone help me solve this problem?
 
Kordman916 said:
Where do I set the search directories?

And what linkers do I need to add?
You have to know that I don't use Code:Block so I can't help with this. But I can help you setup the cross-compiling environement.
Which one are you using ? (I know about your ubuntu, but not the toolchain, and there are a few around and paths depend on that :p)
 
Last edited by a moderator:
Last edited by a moderator:
Unfathomable Depths said:
Thanks sebt3 :)

Is this the Pandora ARM package because a lot of the libs are marked xf86? If it is the Pandora package is it using the SGX or software rendering?
I added the dependency libs. xf86 mean XFree86 which is the ancestor of xorg (used on pandora). In the end these aren't realy used (the server side is desactivated) but these libs are required at run time.
But this is the pandora package build in debug mode. It is using the hardware acceleration.
I've run the demo and a few exemples without a glich :)
 
Last edited by a moderator:
Brilliant :D

Shame I'm busy this weekend. I'll try and get something done so we can get an idea of how fast Irrlicht will run on the Pandora.

Thanks again sebt3. Awesome work :)
 
Unfathomable Depths said:
Kordman916 said:
sebt3 said:
Kordman916 said:
Can someone help me solve this problem?
yep :)

Kordman916 said:
Do I need to setup my linkers or search directories?
It look so :)

Where do I set the search directories?

And what linkers do I need to add?

I thought you followed the guide I posted. That tells you how to set up the linker and search dirs.
Code::Blocks Cross Compiler (Linux)
I did follow the tutorial you made and it worked perfectly I was even able to compile test programs in Code::Blocks

but everytime I try to run the default SDL project included with Code::Blocks using the Pandora compiler I get this error

||=== y, Debug ===|
||warning: library search path "/usr/local/lib" is unsafe for cross-compilation|
ld||cannot find -lSDL|
||=== Build finished: 1 errors, 1 warnings ===|

I have all the pakages installed so I'm not sure what's the problem
 
Last edited by a moderator:
wardred said:
Eniko,
I could be wrong but I always thought the animation was kinda static. Like 2D, but with more "frames" for you animations - usually. (I remember Quake 1/2 animations seemed very much legs together, legs apart...legs together, legs apart... Many 2D games seemed to have more frames of animation.) So you'd have a walk/run/jump cycle pre-calculated, and all you'd do is tell the character which direction it was pointing in, what "frame" it was on, and have a point reference for its place in 3D space. The "animation" would be pre-done in your your rendering package of choice. It gets a little tricker with hills or steps, but mainly that would be calculating the height of the character, I thought. Is it worse than that in most games?
Actually, since 3D graphics are vector-based, they correspond more closely to Flash animation than traditional 2D sprite animations.
Here's sort of how it would go, from simple-but-inefficient to modern techniques:

1. Storing a whole vertex array for each frame - I don't think this was ever actually used
2. Storing a whole vertex array for each keyframe, then interpolating between keyframes. IIRC the early Quake and Quake II engines used this.
3. Storing a skeleton and then keyframing the skeleton. Works pretty well, still used in many cases for general character animation. However, facial animation, at least in Source Engine I believe, uses "morph targets", which are sort of like keyframes that can pull the face into multiple different directions at once to form complex animations. Usually you combine a whole bunch like "raise eyebrow", "smirk", "smile" or something.
4. Inverse kinematics - This is hard for me to explain, but it's a superset of "foot planting" animation. The graphics engine uses environmental data and loads of trigonometry to position the ends of limbs in global space (such as feet on the ground, or hands on a lever or something), then move back up the skeletal hierarchy so the knees / elbows are bent and angles just right. Usually, there is a predefined skeletal animation as the base, and then the engine adjusts everything slightly after running the forward kinematic animation. Jurassic Park:Trespasser tried to use this for every animation, to horrid effect. You can see velociraptors plant their feet as they stumble sideways into the player character, while their bodies bounce up and down. Not to implemented in a hurry at all.
5. Other things. Skeletons have gotten more complicated with modern games. Apparently they have to model muscle bulges and stuff so the ACH DEE GRAFIX look just right, like in CINEMATICS. SARCASM CAPS
s
1 is easy to do, but eats hard disk and memory. 2 is pretty simple, but requires a lot of keyframes, since it will interpolate everything linearly, which causes rotating objects to shrink and expand in odd ways. 3 is pretty difficult since there's trigonometry involved and I could never get Blender to export anything right. 4 is probably simple once you get 3 working, it's mostly within the engine as opposed to working with an animation editor. 5 is overkill for homemade games.
 
Last edited by a moderator:
Cool, thanks for the explanation Lulzfish. That'll be a fun ride, should I ever get there. School and work are pretty much eating the time right now, so even my stupid simple little 2d thing is on hold for now... I have plans to deal with that, but they'll take time.
 
wardred said:
School and work are pretty much eating the time right now, so even my stupid simple little 2d thing is on hold for now...
Man, it's summer and I'm unemployed, and my little 2D thing is still moving slowly.
I can't decide between SDL audio with my own mixer, SDL_mixer, or QAudioOutputDevice with my own mixer.
I did spend a couple of days putting Theora recording in, but I think it's time I added sound, it's really boring to shoot a gun that makes no noise.
 
Last edited by a moderator:
sebt3: WOW! This looks great! I'm going to spend my day getting an Irrlicht game going on the Pandora .. thanks for providing that! BTW, it looks very, very easy to use if you use the bollocks-style of onboard development - just copy the tarball to the Pandora development directory of your choice, add the paths to LIBS and CFLAGS, and oila!

Instant Irrlicht action!

Superb!! :)

EDIT: Now if we could only get this library included in the Base OS, that would be mega-wonderful-alicious ..
 
Kordman916 said:
I did follow the tutorial you made and it worked perfectly I was even able to compile test programs in Code::Blocks

but everytime I try to run the default SDL project included with Code::Blocks using the Pandora compiler I get this error

||=== y, Debug ===|
||warning: library search path "/usr/local/lib" is unsafe for cross-compilation|
ld||cannot find -lSDL|
||=== Build finished: 1 errors, 1 warnings ===|

I have all the pakages installed so I'm not sure what's the problem

Ahh. I think when you create a new project use 'Console App', or whatever it's called, rather than 'SDL project'. The SDL project option is broken for cross-compiling.
 
Last edited by a moderator:
Unfathomable Depths said:
Kordman916 said:
I did follow the tutorial you made and it worked perfectly I was even able to compile test programs in Code::Blocks

but everytime I try to run the default SDL project included with Code::Blocks using the Pandora compiler I get this error

||=== y, Debug ===|
||warning: library search path "/usr/local/lib" is unsafe for cross-compilation|
ld||cannot find -lSDL|
||=== Build finished: 1 errors, 1 warnings ===|

I have all the pakages installed so I'm not sure what's the problem

Ahh. I think when you create a new project use 'Console App', or whatever it's called, rather than 'SDL project'. The SDL project option is broken for cross-compiling.

Thank you I will try that and see how it goes

Edit: I still got the same error now I'm going to try it with the GCC compiler instead.
 
Last edited by a moderator:
Quick question I downloaded SDL from the official site

but what should my linkers and search directories be?

Edit: I got SDL to work!!!!!

All I did was completely uninstall code::blocks and reinstall it and then the SDL project worked!!!@#!@#@!!!!
 
Just another quickie.

SDL projects are completely supported by the Pandora right? This includes sound and 3D.
 
Kordman916 said:
Just another quickie.

SDL projects are completely supported by the Pandora right? This includes sound and 3D.

SDL is completely supported but is software only. Including sound (SDL_mixer) but SDL has no 3D capabilities by itself.
 
Last edited by a moderator:
I've been working on little something for Pandora and PC, It is OpenGL powered rendering engine.. Nothing really fancy yet.
It only does the rendering part and gives some useful datatypes, so you must handle everything else like Window creating etc..
Homever while creating the rendering engine, I'm also doing game engine for small doujin game project for Pandora.

It still takes time while it is even useful tho, and the code is probably not for everyone liking.
Anyways, it uses Assimp for loading models and SDL for loading Images (And optionally create window). I plan to get rid of SDL_image depency tho.

FaceAnimation.png

Player&Testi_State.png

OpenGL_Sprite.png

Kuvakaappaus-Projekti.png

3dModel_Loading.png


I'm pretty shy showing any code, since I pretty much suck on programming.
But, If I ever get anything done, I'll release the source.

Currently I'm finding good 3d format, which has less animation bugs, maybe that I'll need to write my own exporter. Since animations don't seem to work correctly on complex models that I need.
They seem to work fine for many popular models like Psionic Dwarf for example. Collada seems to render my complex model fine, but I'm having problems to make it animate correctly.
 
Back
Top