PostProcessing addition to irrlicht

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki
Post Reply
Luben
Posts: 568
Joined: Sun Oct 09, 2005 10:12 am
Location: #irrlicht @freenode

PostProcessing addition to irrlicht

Post by Luben »

Hi, this is my first attempt at making a post processing system.
It requires some small dll modifications, but i've supplied a precompiled dll for those with windows as their OS.

The system is not finished yet. Mostly because i don't need any more than this for the time being, i have little more than a week before i have to turn in a project with this and some other things, so the prio for fixing everything is quite low for the moment.

The example is a modified version of the terrain example.
Make a copy of irrlicht media-folder and place it in the data folder.

Here is the link
http://rapidshare.com/files/27886237/Po ... e.zip.html

(Now updated with more information)


Ehr, comments, suggestions, or anything that might resemblem response is appreciated.
Last edited by Luben on Wed Apr 25, 2007 5:16 pm, edited 1 time in total.
If you don't have anything nice to say, don't say anything at all.
TheGameMaker
Posts: 275
Joined: Fri May 12, 2006 6:37 pm
Location: Germany

Post by TheGameMaker »

would be nice, if you could explain your thingy some more...
Luben
Posts: 568
Joined: Sun Oct 09, 2005 10:12 am
Location: #irrlicht @freenode

Post by Luben »

Didn't think of that. Honestly. :roll:
What part should be explained, all of it or just the example or ?
If you don't have anything nice to say, don't say anything at all.
TheGameMaker
Posts: 275
Joined: Fri May 12, 2006 6:37 pm
Location: Germany

Post by TheGameMaker »

well its not my problem, that i would be unable to use it, but a breifly overview about the fetures etc. would be nice...(are there are some predefined effects like blur,bloom,refaction,coloring etc)
I´m yesterday have written my own PPE node.. so i would be interested in the features you provide 8)
Luben
Posts: 568
Joined: Sun Oct 09, 2005 10:12 am
Location: #irrlicht @freenode

Post by Luben »

Features:

The IPostProcess interface:
°Creates and manages the render target pool.
°Easy to use: Create, load effects, build chains and just do PostProcess->drawAll(ISceneManager*) and your done.
°Support for custom source textures - Do IPostProcess->setSourceTexture(Index, Texture) to supply your own texture for processing. Normal indexes are Color, Normal, Position, Original Color. getSourceTexture(Index) is also avialable.
°Easy to render the sources into your own textures - IPostProcess->renderColor/Normal/PositionTexture(ITexture*, ISceneManager*)
°Easy to get the final output texture - IPostProcess->postProcess() returns a pointer to the texture which was rendered to last. But if you want it to output the final texture to a RTT of your own, do IPostProcess->postProcess(ITexture*)
°Manages loaded effects and effect chains.
°Supplies a renderOnQuad and renderOnQuadToTexture function, which allows you to easily do the rendering. It also takes prevoius scalings into account, so that the gpu doesn't wast cycles on the parts which are empty because of downscaling.
°Loads your effects and/or effect chains(chains are currently not implemented) so that you can get them with IPostProcess->getPostEffect("Name of effect")

the IPostEffectChain interface:

°Is the class which links several effects together.
°Add an effect by calling IPostEffectChain->addEffect(IPostEffect*). Returns an index which can be used to reference the effect, for example when obtaining the effects chain-local parameters.
°Effect parameters can be overloaded by the chain, but if they are not overloaded the effect default values will be used

The IPostEffect inteface:

°Is what also is called a pass.
°A shader based effect class is provided, which can load an xml-based file format containing:
°shader code or filename of shader code
°Shader parameters which can be modified in the application
°Special parameters like texture width
°Scale
°Texture filtering mode
°Name of effect
°Texture clamping modes
°Different shaders for different shader models in the same file

°It is easy to convert an existing effect/shader into an effect file that this post processing system can use.

For more information, read trough the I***.h files and the file ShaderEffect-description.txt in the data/postprocess-folder
If you don't have anything nice to say, don't say anything at all.
TheGameMaker
Posts: 275
Joined: Fri May 12, 2006 6:37 pm
Location: Germany

Post by TheGameMaker »

sounds impressive, but i think i can´t use most of the features realy(xml ´n´ stuff) but definitif will have a look into the sources.. thx for releasing!
Luben
Posts: 568
Joined: Sun Oct 09, 2005 10:12 am
Location: #irrlicht @freenode

Post by Luben »

At the moment, the shader effect just loads from an xml file. But i will remake/improve that class in a quite near future, so that you can create and effect, set parameters and shader and so on from within a program.
How come you can't use xml, sortof?
If you don't have anything nice to say, don't say anything at all.
Post Reply