Motion Blur/MRT/Physics Demo

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki
Post Reply
sio2
Competition winner
Posts: 1003
Joined: Thu Sep 21, 2006 5:33 pm
Location: UK

Motion Blur/MRT/Physics Demo

Post by sio2 »

Here's my latest demo. Get it at http://sio2.g0dsoft.com

This demo uses the latest version of IrrSpintz.

Screenshots can't really do it justice but here's one anyway:
Image

Readme:
Motion Blur Demo for the IrrSpintz 3D Engine
============================================

See license.txt for license details.

Email : sio2 'at' users.sourceforge.net
Website : http://sio2.g0dsoft.com

This is a demo of motion blur using the IrrSpintz 3D Engine (Subversion revision 23). The scene is a Quake3 level map in which crates can be "thrown" using the left mouse button. Physics is implemented via the Newton Physics library. Movement of the viewing camera and other objects in the scene is subject to a "motion blur" effect.

Warning - may cause motion sickness!

The demo uses the following features:
1. FP16 floating-point texture support (RGBA16F)
2. Render to FP16 texture.
3. NPOT (non-power-of-two) render-target support.
4. MRT (Mulitple Render Target). If the graphics card supports MRT then two of the passes are folded into one via MRT.
5. Physics.
6. Quake3 map lighting enhanced via a vertex/pixel shader.

Usage
=====
WASD keys or arrow (cursor) keys to move camera.
Move mouse to orientate camera.
Alt-F4 or Escape key to exit.
Keys 0-9 alter blur amount (5=default)
M key toggles MRT on and off (if available).

Requirements
============
Drivers:
Latest DirectX 9.0b drivers [www.microsoft.com/directx],
Latest DirectX9 drivers for your graphics hardware [from your HW vendor].

Graphics hardware with:
Vertex Shader 2.0 support, or better
Pixel Shader 2.0 support, or better.
Support for render-to-texture.
FP16 floating-point texture support (as rendertarget).

Notes
=====
1. This demo may require the Visual Studio 2005 Redistributable Files installed on your machine. These can be obtained from http://www.sio2.g0dsoft.com in the "Misc" section in "Downloads".
2. Quake3 levels can be dark. This demo uses a pixel shader to make the lighting stand out a little better.
3. The demo will use MRT if it is available. Using MRT allows two of the motion blur passes to be folded into a single pass with the two outputs going to separate render-targets.

Credits
=======
1. IrrSpintz 3D Engine : http://irrspintz.sourceforge.net
2. The Irrlicht 3D Engine is based in part on the work of the Independent JPEG Group, the zlib, and libpng.
3. Newton Physics Library - http://www.newtondynamics.com
Luben
Posts: 568
Joined: Sun Oct 09, 2005 10:12 am
Location: #irrlicht @freenode

Post by Luben »

Ehrm, i don't want to be negative or anything, but.. isn't this advertisement for another engine, sortof.. If i'm not mistaken, irrSpintz is highly modified and more of a new branch of irrlicht instead of a source modification anymore.. am i right or is it still irrlicht? :)

Anyway, impressive as always. I wonder what'll happen when you start making games instead of demos... I'll be waiting :D
If you don't have anything nice to say, don't say anything at all.
Monochrome
Posts: 122
Joined: Thu Oct 19, 2006 11:43 am

Post by Monochrome »

Plus no source codefor the effect?
Anteater
Posts: 266
Joined: Thu Jun 01, 2006 4:02 pm
Location: Earth
Contact:

Post by Anteater »

Screen looks cool (I can't actually run it; cheap video card). I'd like to see this in "pure" Irrlicht, though.
Luben
Posts: 568
Joined: Sun Oct 09, 2005 10:12 am
Location: #irrlicht @freenode

Post by Luben »

Monochrome wrote:Plus no source codefor the effect?
First, since it is his work, he is the one to choose if to share it or not.
Second, since you know what it does, google it if you want to know more about the tecniques required to do it. I'm sure Nvidia or microsoft has something similar you can play with.

Screen looks cool (I can't actually run it; cheap video card). I'd like to see this in "pure" Irrlicht, though.
It'll take some time before irrlicht has support for floating point rendertargets and multiple rendertargets. irrSpintz is more evolved than irrlicht.
If you don't have anything nice to say, don't say anything at all.
sio2
Competition winner
Posts: 1003
Joined: Thu Sep 21, 2006 5:33 pm
Location: UK

Post by sio2 »

Do what I did. I took my own Newton Physics demo from my website - with source code - and added what I needed.
Midnight
Posts: 1772
Joined: Fri Jul 02, 2004 2:37 pm
Location: Wonderland

Post by Midnight »

I think I'm going to be sick :?

oh wheres the ginger.. barff.
Luben
Posts: 568
Joined: Sun Oct 09, 2005 10:12 am
Location: #irrlicht @freenode

Post by Luben »

sio2, when making a 'pixel-motion' source, you store the old matrix of everything, then you render your scene to the p-m source, and in the vertex shader you output the new and old (per pixel)positions as texcoords, which you in the pixelshader uses to determine the per-pixel motion. Have i got this right? If so then how do you make irrlicht/irrspints remember the old transformations? I'm kind of curious about this.
If you don't have anything nice to say, don't say anything at all.
christianclavet
Posts: 1638
Joined: Mon Apr 30, 2007 3:24 am
Location: Montreal, CANADA
Contact:

Post by christianclavet »

I'd would love to have access to an effect like this. Tested the demo and it looked superb. Particles effect with this must be awesome! :)
Post Reply