Page 1 of 3

Adding a feature to Irrlicht as bachelor project

Posted: Wed Feb 03, 2010 4:59 pm
by gigilibala
Hi everyone

I am a bachelor Software Engineering student and I am in the last semester of uni.
I want to develop some features for an opensource game engine for my bachelor thesis and I found Irrlicht the best for my work.

I want you to tell me any needs you think is important of Irrlicht and then I will do some research on them. I will develop one or some of them as my project and new feature for Irrlicht.

I have 4 or 5 month halftime for doing this project and I really need you suggest me some features needed.

I have already thought of cloth modeling for Irrlicht but I think it is a little hard to develop and I want your opinion on it.

I am a semi professional C++ programmer and I already worked Java and C# too. So my ability in in programming is quite well.

Thanks if you can help me choose the features Irrlicht needs. I intended to include my implementation into future Irrlicht releases.

Posted: Wed Feb 03, 2010 5:11 pm
by loki1985
personally i think the missing feature which is of highest strategic importance would be multithreading, but that is kind of a big task.

other than that, a revamp of the Image/Texture system would be good.

but if you are looking for smaller things, i am sure you will find some nice task

Posted: Wed Feb 03, 2010 5:37 pm
by Nox
You mean something like this: http://sourceforge.net/tracker/index.ph ... tid=540678 ?

Well the question is if multithreading would help that much. But a flexible vertexformat would be nice. Something like this: http://7bitfaster.de/downloads/irrlicht_initiative.pdf point 2.2.2

Posted: Wed Feb 03, 2010 7:00 pm
by gigilibala
loki1985 wrote:personally i think the missing feature which is of highest strategic importance would be multithreading, but that is kind of a big task.

other than that, a revamp of the Image/Texture system would be good.

but if you are looking for smaller things, i am sure you will find some nice task
Hi loki

Can you introduce more what is needed about multithreading.
And What is revamp of Image/Texture?

Posted: Wed Feb 03, 2010 7:50 pm
by loki1985
gigilibala wrote:
loki1985 wrote:personally i think the missing feature which is of highest strategic importance would be multithreading, but that is kind of a big task.

other than that, a revamp of the Image/Texture system would be good.

but if you are looking for smaller things, i am sure you will find some nice task
Hi loki

Can you introduce more what is needed about multithreading.
And What is revamp of Image/Texture?
well, currently the engine is singlethreaded, which means e.g. loading a model in the background and rendering at the same time is not possible. but to work on this one would need very detailed knowledge of the engines inner workings, and it still is a pretty big task.

the revamp of image/texture system: currently the engine does not support compressed textures and similar. how exactly this could be implemented while still allowing the features currently possible is beyond my knowledge though.

Posted: Wed Feb 03, 2010 8:18 pm
by gigilibala
loki1985 wrote: well, currently the engine is singlethreaded, which means e.g. loading a model in the background and rendering at the same time is not possible. but to work on this one would need very detailed knowledge of the engines inner workings, and it still is a pretty big task.

the revamp of image/texture system: currently the engine does not support compressed textures and similar. how exactly this could be implemented while still allowing the features currently possible is beyond my knowledge though.
Thanks loki

I think Multithreading is not in my business (:.
I will think about revamp but How about something in physics. Do you know something missing?

Posted: Wed Feb 03, 2010 8:35 pm
by Bate
Physics is probably not going to be implemented (from what I've read) since Irrlicht wants to stay a gfx engine and not a game engine.

I vote for Cg shader language support, so it's possible to use those shaders made with various tools directly (and the nvidia shader lib here). Also, that would be cool since you can make one shader and use it in DX and OpenGL at the same time.

Posted: Wed Feb 03, 2010 8:47 pm
by Nox
Isnt there already a cg-implementation?

Posted: Wed Feb 03, 2010 9:11 pm
by gigilibala
Nox wrote:Isnt there already a cg-implementation?
Idk, But I think it is a good idea.

Posted: Wed Feb 03, 2010 9:17 pm
by hybrid
Yes, Nadro has a Cg add-on, which might be merged into Irrlicht at some point.
You could go for a DX10/DX11 driver, or OpenGL-ES2.x. Those all need a shader-based material system.
A somewhat outdated list of things to work on can be found on the Wiki:
http://www.irrlicht3d.org/wiki/index.php?n=Dev.TODOList
A list of larger project ideas, which might still fit your schedule (such as the drivers I suggested) can be found here:
http://www.irrlicht3d.org/wiki/index.ph ... .IdeasGSoC
It's the list of topics for the Google Summer of Code, which is going to start in the next weeks again.

Posted: Wed Feb 03, 2010 9:46 pm
by Nox
In my opinion which does not count very much irrlicht should be made ready before trying to add new things. There are some features need to be implemented properly and other things which might be reworked before new stuff is added upon i.e. the Texture<->Image thing. Or a flexible vertexformat. First could enable changing device on the fly without complete reload cycle and second would make adding new stuff and drivers more "kind".
But yeah it is just my opinion.

Posted: Thu Feb 04, 2010 12:09 am
by torleif
From the irrlicht's todo list:
  • Generic Post-Processing
    Irrlicht Shader Files
Hit two birds with one stone, and make a shader phaser; it would simplify things nice effects for all users and make irrlicht more professional.

One idea would be to read openGL vsh/vert/frag and convert it to Dx's hlsl/psh/vsh

Posted: Fri Feb 05, 2010 9:04 am
by gigilibala
Nox wrote:In my opinion which does not count very much irrlicht should be made ready before trying to add new things. There are some features need to be implemented properly and other things which might be reworked before new stuff is added upon i.e. the Texture<->Image thing. Or a flexible vertexformat. First could enable changing device on the fly without complete reload cycle and second would make adding new stuff and drivers more "kind".
But yeah it is just my opinion.
Yes. I agree with you. I think quality is more important than quantity. But my problem is that my project should be implementation of something new. I cannot improve existed features or such things.

And thanks a lot for your opinion. I like to talk more about these stuffs with you.

Posted: Fri Feb 05, 2010 1:10 pm
by conallmmcg
how about creating some sort of plugin , for example paged geometry or paged terrain, although i wouldnt know the difficulty of doing this

Posted: Fri Feb 05, 2010 2:21 pm
by 3DModelerMan
I like the idea of a DX10/11 driver.