When rendering fire in cycles, odd duplicates appear when the camera is located inside the domain #49078

Closed
opened 2016-08-12 17:01:55 +02:00 by Oliver Jelko · 12 comments

Hi there,

I think I have encountered a bug:

System Information
Ubuntu 16.04 w/ mate desktop, Nvidia GeForce GTX 970

Blender Version
2.77a abf6f08

Short description of error
When the camera is located within a smoke domain, strange duplicates of it are rendered on another render layer.

Exact steps for others to reproduce the error

  1. Add a quick smoke effect on the default cube, set it to "fire" and assign an emission shader to its volume. Leave it on (scene- and render-) layer 1.
  2. Create any geometry to be illuminated by the fire and put it on layer 2. Add a render layer for layer 2. Make both scene layers visible.
    setup.png
  3. Render that second layer by either selecting it and pressing the render layer button in preview or press f12 with only the 2nd render layer selected.
  4. If the camera is located outside the domain, the geometry is being lit as expected. while the fire itself is on the first render layer.
    camera_outside.png
  5. If the camera is locate inside the domain, duplicates of the fire are rendered, although it is on another render layer.
    camera_inside-gpu.png
  6. GPU rendering creates simple duplicates, CPU rendering creates "psychedelic" patterns of duplicates.
    camera_inside-cpu.png

Blend file has the setup mentioned above and a two camera setup linked to markers. Fire has to be cached.
firebug.001.blend

Kind Regards,

Oliver

Hi there, I think I have encountered a bug: **System Information** Ubuntu 16.04 w/ mate desktop, Nvidia GeForce GTX 970 **Blender Version** 2.77a abf6f08 **Short description of error** When the camera is located within a smoke domain, strange duplicates of it are rendered on another render layer. **Exact steps for others to reproduce the error** 1) Add a quick smoke effect on the default cube, set it to "fire" and assign an emission shader to its volume. Leave it on (scene- and render-) layer 1. 2) Create any geometry to be illuminated by the fire and put it on layer 2. Add a render layer for layer 2. Make both scene layers visible. ![setup.png](https://archive.blender.org/developer/F336190/setup.png) 3) Render that second layer by either selecting it and pressing the render layer button in preview or press f12 with only the 2nd render layer selected. 4) If the camera is located outside the domain, the geometry is being lit as expected. while the fire itself is on the first render layer. ![camera_outside.png](https://archive.blender.org/developer/F336192/camera_outside.png) 5) If the camera is locate inside the domain, duplicates of the fire are rendered, although it is on another render layer. ![camera_inside-gpu.png](https://archive.blender.org/developer/F336194/camera_inside-gpu.png) 6) GPU rendering creates simple duplicates, CPU rendering creates "psychedelic" patterns of duplicates. ![camera_inside-cpu.png](https://archive.blender.org/developer/F336198/camera_inside-cpu.png) Blend file has the setup mentioned above and a two camera setup linked to markers. Fire has to be cached. [firebug.001.blend](https://archive.blender.org/developer/F336203/firebug.001.blend) Kind Regards, Oliver
Author

Changed status to: 'Open'

Changed status to: 'Open'
Author

Added subscriber: @OliverJelko

Added subscriber: @OliverJelko
Sergey Sharybin was assigned by Bastien Montagne 2016-08-12 18:45:35 +02:00

There were fixes about camera in volume since 2.77a release. In addition, i can reproduce the issue with 2.77a but not with current git version. So it's quite possible the issue has been already fixed.

Please test with the latest builds from builder.blender.org.

There were fixes about camera in volume since 2.77a release. In addition, i can reproduce the issue with 2.77a but not with current git version. So it's quite possible the issue has been already fixed. Please test with the latest builds from builder.blender.org.
Author

Good Morning,

I have tried two of the latest Blender versions with the hashes 4d8ac1e and cf53389.
Things have changed in both of them, as GPU and CPU now give the same result and
the duplicates are gone. Cool!
Part of the (perceived?) bug remains as the fire also gets rendered in the second renderlayer,
where it is merely supposed to be a lightsource.
Again, this only happens if the camera is located in the smoke domain. I am using the same
example scene that i have uploaded before.

Kind Regards,

Oliver

Good Morning, I have tried two of the latest Blender versions with the hashes 4d8ac1e and cf53389. Things have changed in both of them, as GPU and CPU now give the same result and the duplicates are gone. Cool! Part of the (perceived?) bug remains as the fire also gets rendered in the second renderlayer, where it is merely supposed to be a lightsource. Again, this only happens if the camera is located in the smoke domain. I am using the same example scene that i have uploaded before. Kind Regards, Oliver

Part of the (perceived?) bug remains as the fire also gets rendered in the second renderlayer,

where it is merely supposed to be a lightsource.

This part i did not quite understand. Can you explain it a bit more?

> Part of the (perceived?) bug remains as the fire also gets rendered in the second renderlayer, where it is merely supposed to be a lightsource. This part i did not quite understand. Can you explain it a bit more?
Author

Hi,

I'm sorry, English is not my native language. What I tried to say, is that the fire is on scene- and render layer 1,
while the cubes are on scene- and render layer 2. When I render render layer 2 with both scene layers visible,
the light of the fire should be visible, whereas the fire itself should not.
Similar to as before, this is only the case, if the camera is located inside the domain.

Screenshot at 2016-08-24 12:57:32.png
Camera outside of the domain.

Screenshot at 2016-08-24 12:57:01.png
camera inside of the domain.

Also, the rendering becomes painfully slow, even compared to rendering both layers from outside of the domain.

Kind Regards,

Oliver

edit: typo

Hi, I'm sorry, English is not my native language. What I tried to say, is that the fire is on scene- and render layer 1, while the cubes are on scene- and render layer 2. When I render render layer 2 with both scene layers visible, the light of the fire should be visible, whereas the fire itself should not. Similar to as before, this is only the case, if the camera is located inside the domain. ![Screenshot at 2016-08-24 12:57:32.png](https://archive.blender.org/developer/F342413/Screenshot_at_2016-08-24_12_57_32.png) Camera outside of the domain. ![Screenshot at 2016-08-24 12:57:01.png](https://archive.blender.org/developer/F342415/Screenshot_at_2016-08-24_12_57_01.png) camera inside of the domain. Also, the rendering becomes painfully slow, even compared to rendering both layers from outside of the domain. Kind Regards, Oliver *edit: typo*

Interesting. This issue i can not reproduce yet. What are the exact steps for that?

Interesting. This issue i can not reproduce yet. What are the exact steps for that?
Author

Hi,

Actually I just opened the existing scene file I had originally posted, firebug.001.blend, with a newer version of Blender (cf53389) .
"Preview active render layer in viewport" is enabled and the 2nd renderlayer, containing only the cubes, is selected in the properties.
As i switch between the 2 cameras, the one outside of the domain renders the cubes being lit, while the one inside the domain renders
both the fire and the cubes. So the fire appears on renderlayers it is not supposed to be on as soon as the camera enters its domain.

I set up a new scene to compare, which again behaves differently. I am still using cf53389 for that.
Here the cubes are not being lit by the fire if it is on another render layer, although the scene layer is visible.
As soon as the camera enters the domain, both fire and cubes are being rendered, even though only the cubes' render layer is selected.
If I replace the fire with a mesh light, everything works as expected: light is being cast onto layer 2 but its source (on layer 1) is not visible.
Quite confusing, isn't it? I hope my explanations are not just as weird :)
Anyway, here's the new scene. A red meshlight and green fire on layer 1 and cubes to be lit on layer 2. Probably you need to cache the simulation,
Press shift+z for rendered view, check "Preview active render layer in viewport" for layer 2 and rotate the mouse wheel 1 tic to enter
the domain, as the camera is locked to the view. In my case the fire magically appears despite not being on that render layer.
firebug.002.blend

Cheers,

Oliver

Hi, Actually I just opened the existing scene file I had originally posted, firebug.001.blend, with a newer version of Blender (cf53389) . "Preview active render layer in viewport" is enabled and the 2nd renderlayer, containing only the cubes, is selected in the properties. As i switch between the 2 cameras, the one outside of the domain renders the cubes being lit, while the one inside the domain renders both the fire and the cubes. So the fire appears on renderlayers it is not supposed to be on as soon as the camera enters its domain. I set up a new scene to compare, which again behaves differently. I am still using cf53389 for that. Here the cubes are *not* being lit by the fire if it is on another render layer, although the scene layer is visible. As soon as the camera enters the domain, both fire and cubes are being rendered, even though only the cubes' render layer is selected. If I replace the fire with a mesh light, everything works as expected: light is being cast onto layer 2 but its source (on layer 1) is not visible. Quite confusing, isn't it? I hope my explanations are not just as weird :) Anyway, here's the new scene. A red meshlight and green fire on layer 1 and cubes to be lit on layer 2. Probably you need to cache the simulation, Press shift+z for rendered view, check "Preview active render layer in viewport" for layer 2 and rotate the mouse wheel 1 tic to enter the domain, as the camera is locked to the view. In my case the fire magically appears despite not being on that render layer. [firebug.002.blend](https://archive.blender.org/developer/F342528/firebug.002.blend) Cheers, Oliver

This issue was referenced by blender/cycles@632a918cc8

This issue was referenced by blender/cycles@632a918cc84d7852fa86817de33daec6e6a28ece

This issue was referenced by 29c733e6f2

This issue was referenced by 29c733e6f2dd779153fe49d94b0f3de41c58b030

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'

Think i've managed to reproduce issue you've got and committed a fix. Poked Linux 64bit buildbots, so soon new build will be available for test.

Think i've managed to reproduce issue you've got and committed a fix. Poked Linux 64bit buildbots, so soon new build will be available for test.
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#49078
No description provided.