Is Fire/Volumetrics possible in EEVEE?

I want to know if when 2.8 is released which is about a month from now, is EEVEE going to be fixed or will it stay broken?

Since development started for 2.8 I’ve been trying to use EEVEE but everytime I try to render something with, it just freezes. Sometimes it unfreezes and gives me a result but with 40+min render times or I simply have to restart the computer as it has completely frozen my computer.

It’s not my scenes or my computer. I have a GTX 970 and I can render those scenes in Cycles. It’s EEVEE. I always thought it was always broken, but seeing that its so close to release and it still doesn’t work makes me wonder if they are planning on fixing it all?

Can someone inform me on this?

Can you provide an example .blend file which has the problem? People with similar cards might be able to test it and get back to you with their results.

EEVEE seems to be working OK for most people and your card should have no problems with it. That suggests the problem might be elsewhere.

1 Like

EEVEE_Fire.blend (670.0 KB)

That is a scene I was just working on to test fire in EEVEE. It freezes up everytime I try to render.

Hi, render on a Intel HD 4000 onboard chip GPU after adding a camera.
Does rendered view in 3DView work for you?
Add Blender, OS, driver version, please.

System Information
Operating system: Linux-5.1.7-1-default-x86_64-with-glibc2.9 64 Bits
Graphics card: Mesa DRI Intel® Ivybridge Mobile Intel Open Source Technology Center 4.2 (Core Profile) Mesa 19.0.5

Blender Version
Version: 2.80 (sub 74), branch: blender2.7, commit date: 2019-06-04 22:32, hash: rBe80cbdac331a

Cheers, mib

Viewport render also freezes for me.

Blender 2.80.74
Windows 7 Home
Graphic card driver: 430.64

The only way I can render that is if I decrease the volume samples. Does that mean I run out of VRAM? I got no CUDA error.

Hmm crashes for me too. I added a camera, hit F12 and Blender locked up my desktop and crashed.

Blender 2.8 749d53effd58
GTX 980, driver version 410.78
Linux Mint 19

Edited to add that I forgot to generate the cache, I was able to get viewport preview to work fine, rendering with F12 still crashes Blender.

I’d recommend editing the thread title to make clear you are talking only about issues with fire and smoke stuff. It might attract more views and replies from people with experience of these things.

1 Like

I changed it.

1 Like

Could it be CPU then? I got no cuda error and I assume you did not get a cuda error.

“Blender quit unexpectedly”

Noise tile file ‘/var/folders/kt/wl0zzbnn4hgf0tvv5y0y27th0000gn/T/blender_bJTPGQ/noise.wavelets’ loaded.

Saved: ‘/tmp/0032.png’

Time: 00:03.76 (Saving: 00:00.52)

Noise tile file ‘/var/folders/kt/wl0zzbnn4hgf0tvv5y0y27th0000gn/T/blender_bJTPGQ/noise.wavelets’ loaded.

Saved: ‘/tmp/0033.png’

Time: 00:03.48 (Saving: 00:00.58)

Noise tile file ‘/var/folders/kt/wl0zzbnn4hgf0tvv5y0y27th0000gn/T/blender_bJTPGQ/noise.wavelets’ loaded.

Saved: ‘/tmp/0034.png’

Time: 00:03.20 (Saving: 00:00.52)

Noise tile file ‘/var/folders/kt/wl0zzbnn4hgf0tvv5y0y27th0000gn/T/blender_bJTPGQ/noise.wavelets’ loaded.

blender280(3265,0x11c72c5c0) malloc: *** error for object 0x7fd28f0d6db0: pointer being freed was not allocated

blender280(3265,0x11c72c5c0) malloc: *** set a breakpoint in malloc_error_break to debug

Mac Os 10.14.3, Blender 2.8 03/12/2018.
Can it be memory? It happened after 2 mins…

I’m getting these errors:

GPUFrameBuffer: framebuffer status GL_FRAMEBUFFER_UNSUPPORTED
GPUFrameBuffer: framebuffer status GL_FRAMEBUFFER_UNSUPPORTED
Writing: /tmp/EEVEE_Fire.crash.txt
Segmentation fault

EEVEE_Fire.crash.txt:

Blender 2.80 (sub 74), Commit date: 2019-06-07 23:24, Hash 749d53effd58

bpy.data.screens[“Layout”].shading.type = ‘RENDERED’ # Property
bpy.data.screens[“Layout”].shading.type = ‘SOLID’ # Property
bpy.ops.object.camera_add(enter_editmode=False, align=‘VIEW’, location=(0, 0, 0)
, rotation=(1.1648, 1.49162e-07, -0.364)) # Operator
bpy.ops.transform.translate(value=(-2.12324, -3.32537, 0), orient_type=‘GLOBAL’,
orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type=‘GLOBAL’, m
irror=True, use_proportional_edit=False, proportional_edit_falloff=‘SMOOTH’, pro
portional_size=1, use_proportional_connected=False, use_proportional_projected=F
alse) # Operator
bpy.ops.transform.translate(value=(0, 0, 1.68012), orient_type=‘GLOBAL’, orient_
matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type=‘GLOBAL’, constrain
t_axis=(False, False, True), mirror=True, use_proportional_edit=False, proportio
nal_edit_falloff=‘SMOOTH’, proportional_size=1, use_proportional_connected=False
, use_proportional_projected=False) # Operator
bpy.ops.transform.translate(value=(0, -0.459422, 0), orient_type=‘GLOBAL’, orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type=‘GLOBAL’, constraint_axis=(False, True, False), mirror=True, use_proportional_edit=False, proportional_edit_falloff=‘SMOOTH’, proportional_size=1, use_proportional_connected=False, use_proportional_projected=False) # Operator
bpy.ops.transform.translate(value=(0.657933, 0, 0), orient_type=‘GLOBAL’, orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type=‘GLOBAL’, constraint_axis=(True, False, False), mirror=True, use_proportional_edit=False, proportional_edit_falloff=‘SMOOTH’, proportional_size=1, use_proportional_connected=False, use_proportional_projected=False) # Operator

backtrace

./blender(BLI_system_backtrace+0x1d) [0x13833ad]
./blender() [0x1169ed9]
/lib/x86_64-linux-gnu/libc.so.6(+0x3ef20) [0x7f1b81f4cf20]
./blender() [0x2cd1145]
./blender(ED_region_do_draw+0x851) [0x2d70601]
./blender(wm_draw_update+0x462) [0x1530032]
./blender(WM_main+0x30) [0x152d7f0]
./blender(main+0x30a) [0x10d021a]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x7f1b81f2fb97]
./blender(_start+0x2a) [0x11667ea]

About heaviness of the scene in viewport. In Volumetrics you do not use so many Samples if you use 2px tile size. You start testing for example with 16 Samples and you will increase as needed. Or if you want to use more samples then you could use 4px size instead of 2px.

Also in your scene in the first frames, you will notice that with very high “End” distance some bands are produced. You lower that value, start by testing with a value of 7m and then increase the value if necessary (it depends from where you will position the camera).

Also note that you have configured Wire view for the circle, but when you add a camera, so that final render is correct you must configure that circle from Object tab, Visibility. Or from outliner for what you first should enable small camera icon from the filters button in outliner.

May it is a good idea to make a bug report as some user can reproduce the crash.
Use “Report a Bug” from Blender Help Menu than you get auto fill the system specs in the report template.
Will test on my workstation with Nvidia card soon.

Cheers, mib
EDIT: Render time 04:45.49 Frame 122
No crash or freeze on:
2.80 Beta Linux 64 bit
June 08, 00:18:31 - 749d53effd58
Opensuse Tumbleweed x86_64
Intel i5 3570K 16 GB RAM
GTX 760 4 GB /Display card
Driver 430.14

1 Like

Blender completely froze after switching the 3D view to LookDev. Amost froze my system. Mouse clicks outside the Blender window required waiting for up to a minute before any response.

It did not use all 4G of VRAM, according to the system status info that I always have running when working in Blender (I posted a screenshot below).

blender-2.80-aa003c73245f-linux-glibc224-x86_64
Linux Mint 19.1 XFCE with 4.15.0-51-lowlatency kernel
Intel Core i7-4790K CPU @ 4.00GHz
32 GiB DIMM DDR3 RAM
Nvidia GTX 970 4G

In this case where volumetric comes from objects and not from world, it is correct that LookDev and Eevee behave the same (LookDev is Eevee after all).
I assume that you have nvidia driver installed from repositories in Linux.
As I said before, the configuration you are using in your file is heavy for viewport. You try with configurations that I have already explained above. Probably later we have the possibility to configure separately volumetric settings for Viewport and final Render, perhaps from Simplify menu.

By the way, I have a GTX 960 and with your default file my system (Linux) also slows down/hangs for a while, just like when I render in heavy volumetrics in Cycles with my GPU which is also the one that handles the Display.

Edit:
Sorry, I just realized that you are not the same one who opened the thread :slight_smile:

On a GTX 1060 6GB, it immediately goes to 4.9-5.6 GB of GPU memory and the render completes in about a minute. During that time there’s no feedback at all as Eevee currently does not have any progress reporting built in.

It works OK in rendered viewport mode though, without seeming to use insane amounts of memory the way the final render does. There are some differences in Eevee interactive and final rendering I believe where some things are only really taken seriously in final renders.

If I drop the sampling from 64 to 8 then it completes in about 9 seconds, so do your testing with a much lower sampling setting for the render.

Probably you’re running out of GPU memory if you don’t have a 6+GB video card. If it completes in 45 minutes, that might be VRAM<->RAM thrashing or something like that as you exceed the directly available memory and performance goes to heck.

It all seems to be working, though for whatever reason the implementation of Eevee requires ridiculously more memory than Cycles does. This might be a bug, or just that Eevee is just not designed to do this efficiently. There may well be settings that would bring down the requirements and get it to fit within the resources available to you.

You can still submit this through the bug process and complain that it takes about 1,000 times more memory to render in Eevee than Cycles :slight_smile:

Yes, please, you report just in case to the issue to be better clarified. And those who are having crashes with this scene should also open a different report indicating system information, preferably reporting from the Help menu.
Anyway to the question of the title of the thread, yes, it is possible:
EEVEE_Fire_mod.blend (658.0 KB)

volumetrics

Tile Size

Control the quality of the volumetric effects. Lower size increase video memory usage and quality. This is the size in pixels, of a volumetric cell.

Samples

Number of samples to compute volumetric effects. Higher count increase video memory usage and quality. These samples are distributed along the view depth (view Z axis).

https://docs.blender.org/manual/ko/dev/render/eevee/volumetrics.html

So you will have to play with those values according to the quality you need and mainly to the vRAM your card has.

1 Like

I was able to do some pretty realistic looking fire with EEVEE when I was a bit more conservative with the settings. So I think it was indeed a out of memory error problem. Though I wish EEVEE would tell me that instead of just freezing my computer.

I’m not sure Eevee can calculate the vRAM that will be used before starting the render. Perhaps what the manual explains about vRAM could be included in “Samples” tooltips too ( @hypersomniac ). But if the viewport starts to be very heavy/laggy, that could be a good alarm signal for you to try to configure better settings because probably the final render will suffer even more.

1 Like

True. I’ll just have to be carefull. Although I assume having a powerful card like a GTX 1080TI thus allow you to do more right?

And does EEVEE support multiple GPU? I’m asking because I’m planning on getting another one for rendering.