particle based fire effect wrapping the flames around a mesh

You are an experienced programmer and have a problem with the engine, shaders, or advanced effects? Here you'll get answers.
No questions about C++ programming or topics which are answered in the tutorials!
thespecial1
Posts: 135
Joined: Thu Oct 30, 2008 11:56 am
Location: UK
Contact:

particle based fire effect wrapping the flames around a mesh

Post by thespecial1 »

hey guys

i have been messing around with particle effects for a coupla months, basically i am trying to make to decent fire effect that sets a mesh on fire. the mesh is some 3d text, and i am really struggling to make a fire effect that looks decent.

I have encoded the various examples in the forums, including the one in the irrlicht examples but no matter what/which i do i am never impressed even slightly with the results.

so has anyone managed to make relativly realistic looking fire (pref using particles) that would impress, a little bit of example source would be most appreciated as this is starting to get me down

thanks
Rob
FuzzYspo0N
Posts: 914
Joined: Fri Aug 03, 2007 12:43 pm
Location: South Africa
Contact:

Post by FuzzYspo0N »

fire can be animated billboards with good blend modes. This will make cool looking fire (as i dont think particles will ever look nice)

Shaders are the other option, and that option is the best.
JP
Posts: 4526
Joined: Tue Sep 13, 2005 2:56 pm
Location: UK
Contact:

Post by JP »

yeah particles probably won't ever look that good for fire as fire isn't really a particle based thing...
Image Image Image
BlindSide
Admin
Posts: 2821
Joined: Thu Dec 08, 2005 9:09 am
Location: NZ!

Post by BlindSide »

ShadowMapping for Irrlicht!: Get it here
Need help? Come on the IRC!: #irrlicht on irc://irc.freenode.net
thespecial1
Posts: 135
Joined: Thu Oct 30, 2008 11:56 am
Location: UK
Contact:

Post by thespecial1 »

i tried it a while ago but was getting compile issues, hold on I'll give it another try, cant remember what my issue was. back in a sec.
thespecial1
Posts: 135
Joined: Thu Oct 30, 2008 11:56 am
Location: UK
Contact:

Post by thespecial1 »

ok just re inserted it and i get a mass of compile issues at run time with the shader, like this

Code: Select all

Irrlicht Engine version 1.5
Microsoft Windows XP Professional Service Pack 3 (Build 2600)
Using renderer: OpenGL 2.0.1
Quadro NVS 285/PCI/SSE2: NVIDIA Corporation
OpenGL driver version is 1.2 or better.
GLSL version: 1.2
Loaded texture: murmuur.png
MySQL Version: 5.1.30-community
Finding the Murmuur Database on the Server Specified..
GLSL shader failed to compile
(1) : warning C7506: OpenGL does not define the global type float4x4
(6) : warning C7506: OpenGL does not define the global type float4
(7) : warning C7506: OpenGL does not define the global type float2
(17) : warning C7506: OpenGL does not define the global function mul
(36) : warning C7506: OpenGL does not define the global type sampler
(42) : warning C7502: OpenGL does not allow type suffix 'f' on constant literals

(42) : warning C7502: OpenGL does not allow type suffix 'f' on constant literals

(56) : warning C7506: OpenGL does not define the global function tex2D
(56) : error C1115: unable to find compatible overloaded function "tex2D"
(56) : error C1060: incompatible types in initialization
(56) : error C1115: unable to find compatible overloaded function "tex2D"
(57) : error C1115: unable to find compatible overloaded function "tex2D"
(57) : error C1060: incompatible types in initialization
(57) : error C1115: unable to find compatible overloaded function "tex2D"
(58) : error C1115: unable to find compatible overloaded function "tex2D"
(58) : error C1060: incompatible types in initialization
(58) : error C1115: unable to find compatible overloaded function "tex2D"
(56) : error C1115: unable to find compatible overloaded function "tex2D"
(56) : error C1060: incompatible types in initialization
(60) : warning C7011: implicit cast from "float4" to "float"
(57) : error C1115: unable to find compatible overloaded function "tex2D"
(57) : error C1060: incompatible types in initialization
(60) : warning C7011: implicit cast from "float4" to "float"
(58) : error C1115: unable to find compatible overloaded function "tex2D"
(58) : error C1060: incompatible types in initialization
(60) : warning C7011: implicit cast from "float4" to "float"
(56) : error C1115: unable to find compatible overloaded function "tex2D"
(56) : error C1060: incompatible types in initialization
(61) : warning C7011: implicit cast from "float4" to "float"
(57) : error C1115: unable to find compatible overloaded function "tex2D"
(57) : error C1060: incompatible types in initialization
(61) : warning C7011: implicit cast from "float4" to "float"
(58) : error C1115: unable to find compatible overloaded function "tex2D"
(58) : error C1060: incompatible types in initialization
(61) : warning C7011: implicit cast from "float4" to "float"
(56) : error C1115: unable to find compatible overloaded function "tex2D"
(56) : error C1060: incompatible types in initialization
(60) : warning C7011: implicit cast from "float4" to "float"
(57) : error C1115: unable to find compatible overloaded function "tex2D"
(57) : error C1060: incompatible types in initialization
(60) : warning C7011: implicit cast from "float4" to "float"
(58) : error C1115: unable to find compatible overloaded function "tex2D"
(58) : error C1060: incompatible types in initialization
(60) : warning C7011: implicit cast from "float4" to "float"
(56) : error C1115: unable to find compatible overloaded function "tex2D"
(56) : error C1060: incompatible types in initialization
(60) : warning C7011: implicit cast from "float4" to "float"
(57) : error C1115: unable to find compatible overloaded function "tex2D"
(57) : error C1060: incompatible types in initialization
(60) : warning C7011: implicit cast from "float4" to "float"
(58) : error C1115: unable to find compatible overloaded function "tex2D"
(58) : error C1060: incompatible types in initialization
(60) : warning C7011: implicit cast from "float4" to "float"
(56) : error C1115: unable to find compatible overloaded function "tex2D"
(56) : error C1060: incompatible types in initialization
(60) : warning C7011: implicit cast from "float4" to "float"
(57) : error C1115: unable to find compatible overloaded function "tex2D"
(57) : error C1060: incompatible types in initialization
(60) : warning C7011: implicit cast from "float4" to "float"
(58) : error C1115: unable to find compatible overloaded function "tex2D"
(58) : error C1060: incompatible types in initialization
(60) : warning C7011: implicit cast from "float4" to "float"
(66) : error C1115: unable to find compatible overloaded function "tex2D"
(66) : error C1022: operands to "mul" must be numeric
(66) : error C1060: incompatible types in initialization
(56) : error C1115: unable to find compatible overloaded function "tex2D"
(56) : error C1060: incompatible types in initialization
(60) : warning C7011: implicit cast from "float4" to "float"
(57) : error C1115: unable to find compatible overloaded function "tex2D"
(57) : error C1060: incompatible types in initialization
(60) : warning C7011: implicit cast from "float4" to "float"
(58) : error C1115: unable to find compatible overloaded function "tex2D"
(58) : error C1060: incompatible types in initialization
(60) : warning C7011: implicit cast from "float4" to "float"
(66) : error C1115: unable to find compatible overloaded function "tex2D"
(66) : error C1022: operands to "mul" must be numeric
(56) : error C1115: unable to find compatible overloaded function "tex2D"
(56) : error C1060: incompatible types in initialization
(60) : warning C7011: implicit cast from "float4" to "float"
(57) : error C1115: unable to find compatible overloaded function "tex2D"
(57) : error C1060: incompatible types in initialization
(60) : warning C7011: implicit cast from "float4" to "float"
(58) : error C1115: unable to find compatible overloaded function "tex2D"
(58) : error C1060: incompatible types in initialization
(60) : warning C7011: implicit cast from "float4" to "float"
(67) : error C1115: unable to find compatible overloaded function "tex2D"
(67) : error C1060: incompatible types in initialization
(56) : error C1115: unable to find compatible overloaded function "tex2D"
(56) : error C1060: incompatible types in initialization
(60) : warning C7011: implicit cast from "float4" to "float"
(57) : error C1115: unable to find compatible overloaded function "tex2D"
(57) : error C1060: incompatible types in initialization
(60) : warning C7011: implicit cast from "float4" to "float"
(58) : error C1115: unable to find compatible overloaded function "tex2D"
(58) : error C1060: incompatible types in initialization
(60) : warning C7011: implicit cast from "float4" to "float"
(67) : error C1115: unable to find compatible overloaded function "tex2D"
(56) : error C1115: unable to find compatible overloaded function "tex2D"
(56) : error C1060: incompatible types in initialization
(60) : warning C7011: implicit cast from "float4" to "float"
(57) : error C1115: unable to find compatible overloaded function "tex2D"
(57) : error C1060: incompatible types in initialization
(60) : warning C7011: implicit cast from "float4" to "float"
(58) : error C1115: unable to find compatible overloaded function "tex2D"
(58) : error C1060: incompatible types in initialization
(60) : warning C7011: implicit cast from "float4" to "float"
(66) : error C1115: unable to find compatible overloaded function "tex2D"
(66) : error C1022: operands to "mul" must be numeric
(66) : error C1060: incompatible types in initialization
(56) : error C1115: unable to find compatible overloaded function "tex2D"
(56) : error C1060: incompatible types in initialization
(60) : warning C7011: implicit cast from "float4" to "float"
(57) : error C1115: unable to find compatible overloaded function "tex2D"
(57) : error C1060: incompatible types in initialization
(60) : warning C7011: implicit cast from "float4" to "float"
(58) : error C1115: unable to find compatible overloaded function "tex2D"
(58) : error C1060: incompatible types in initialization
(60) : warning C7011: implicit cast from "float4" to "float"
(67) : error C1115: unable to find compatible overloaded function "tex2D"
(67) : error C1060: incompatible types in initialization
(42) : warning C7011: implicit cast from "float" to "float4"

Loaded texture: C:\sauce\murmuur\murmuurC++\bin\media\diffuse.jpg
Loaded texture: C:\sauce\murmuur\murmuurC++\bin\media\distortion.jpg
Loaded texture: C:\sauce\murmuur\murmuurC++\bin\media\transparency.jpg
Murmuur Database Opened, Checking Version..
Murmuur DB Version: 1
Loaded texture: iconsetz/blackwhite2gloss/256x256/folder-drag-accept.png
Loaded texture: iconsetz/blackwhite2gloss/256x256/network-workgroup.png
Loaded texture: iconsetz/blackwhite2gloss/256x256/media-optical.png
Loaded texture: iconsetz/blackwhite2gloss/256x256/media-flash.png
Loaded texture: iconsetz/blackwhite2gloss/256x256/preferences-desktop-remote-des
ktop.png
Loaded texture: iconsetz/blackwhite2gloss/256x256/gnome-session-switch.png
Loaded texture: iconsetz/blackwhite2gloss/256x256/gnome-session-halt.png
Loaded texture: murmuur_v2.jpg
so i have yet to see any shader in action, any others lurking about??

thanks Rob
thespecial1
Posts: 135
Joined: Thu Oct 30, 2008 11:56 am
Location: UK
Contact:

Post by thespecial1 »

or is their something extra like an open gl include that i would not normally need or somit .. hmmmmmmmmmmmmmmmmmm
thespecial1
Posts: 135
Joined: Thu Oct 30, 2008 11:56 am
Location: UK
Contact:

Post by thespecial1 »

on shaders, do they have to be converted for use with irrlicht or will many work without much re working ;0)
thespecial1
Posts: 135
Joined: Thu Oct 30, 2008 11:56 am
Location: UK
Contact:

Post by thespecial1 »

after more searching, i take it i need to include the Xeffects SDK in my project to get this to work ;0)
thespecial1
Posts: 135
Joined: Thu Oct 30, 2008 11:56 am
Location: UK
Contact:

Post by thespecial1 »

not sure on the truth of the last statement, can't find any reference to "Xeffects SDK" other than a coupla forum posts, google turns up nothing, if is this what i need then where do i find it anyone
JP
Posts: 4526
Joined: Tue Sep 13, 2005 2:56 pm
Location: UK
Contact:

Post by JP »

I wonder if those compile errors are something to do with using DX shaders with OGL? Try using DX9 as the driver.

Irrlicht supports a few shader types, basically anything that works with DX/OGL should work fine... If you want to use Cg shaders then you can look into irrCg for support.

You don't need XEffects to get this shader working though.
Image Image Image
FuzzYspo0N
Posts: 914
Joined: Fri Aug 03, 2007 12:43 pm
Location: South Africa
Contact:

Post by FuzzYspo0N »

and dont post 1000 times in a row, edit the post that was last made (if its the last post) at least wait for a reply before spamming your thread...

and the problem is as mentioned, using the wrong device type
thespecial1
Posts: 135
Joined: Thu Oct 30, 2008 11:56 am
Location: UK
Contact:

Post by thespecial1 »

for anyone else who is looking Xeffects can be found at

http://irrlichtirc.g0dsoft.com/BlindSide/XEffectsR.zip

from this post http://irrlicht.sourceforge.net/phpBB2/ ... t=xeffects

ok i have switched to direct3d 8 and i get

Code: Select all

Irrlicht Engine version 1.5
Microsoft Windows XP Professional Service Pack 3 (Build 2600)
Using renderer: Direct3D 8.1
NVIDIA Quadro NVS 285 nv4_disp.dll 6.14.10.8176
Loaded texture: murmuur.png
MySQL Version: 5.1.30-community
Finding the Murmuur Database on the Server Specified..
High level shader materials not available (yet) in this driver, sorry
and on direct3d 9 i get no errors whatsoever, but unfortunatly i need shaders that work with opengl as i am developing a gl media font end that runs on mac, win and linux

I'll have a play around with xeffects and see what it can do
thespecial1
Posts: 135
Joined: Thu Oct 30, 2008 11:56 am
Location: UK
Contact:

Post by thespecial1 »

i found a sweet demo of water (absolutly sport on and fire shaders (the fire is not quite top notch) on

http://www.bonzaisoftware.com/opengldemos.html

it only has docs on the water thou
Dark_Kilauea
Posts: 368
Joined: Tue Aug 21, 2007 1:43 am
Location: The Middle of Nowhere

Post by Dark_Kilauea »

Feel free to take a look at my particle system affectors if you need more control over particles. The changes to the Irrlicht source aren't needed anymore, but the affectors should still work with 1.5. A simple search in project announcements should bring it up.

It also includes a flame thrower demo that you can take a look at.
rogerborg wrote:Every time someone learns to use a debugger, an angel gets their wings.
Post Reply