Cycles Voxel Data Node Mockup #41179

Closed
opened 2014-07-25 16:14:29 +02:00 by Gottfried Hofmann · 36 comments

Here is a mockup of a Cycles Voxel Data Node voxel.data.cycles.png
It is very similar to the voxel data texture from BI, in fact behind the drop-down there should hide the same options as in BI. The key difference is that there should be the possibility to offset smoke data just like you would offset image sequences. This would make the option to chose the domain from where the actual data is loaded more useful. For example if you have multiple chimneys in a scene one would need to bake only one simulation. By offsetting the data for each chimney a little each column of smoke would look a little different.

Here is a mockup of a Cycles Voxel Data Node ![voxel.data.cycles.png](https://archive.blender.org/developer/F99521/voxel.data.cycles.png) It is very similar to the voxel data texture from BI, in fact behind the drop-down there should hide the same options as in BI. The key difference is that there should be the possibility to offset smoke data just like you would offset image sequences. This would make the option to chose the domain from where the actual data is loaded more useful. For example if you have multiple chimneys in a scene one would need to bake only one simulation. By offsetting the data for each chimney a little each column of smoke would look a little different.

Changed status to: 'Open'

Changed status to: 'Open'

Added subscriber: @GottfriedHofmann

Added subscriber: @GottfriedHofmann

Note: To be able to chose the interpolation mode is really really important, for example to counter blocky smoke artefacts...

Note: To be able to chose the interpolation mode is really really important, for example to counter blocky smoke artefacts...

Added subscriber: @zeauro

Added subscriber: @zeauro

Voxel Data texture was created with BI in mind.
In Blender Internal UI, there are labels to explain pull down lists.
In mock-up, first "smoke" item is refering to file format ( 8 Bit Raw, Blender Voxel, Image Sequence and Smoke) and second "smoke" item is refering to smoke source (smoke, fire, velocity, heat).

In BI texture tab, Voxel Data panel adapts itself to file format.
In Cycles, instead of a node that have a changeable UI, several nodes could be created to correspond to each file format.

A Voxel Data Image Sequence could be avoided. We could use current Image Texture node for same result.
I don't know if someboby is still using Blender Voxel file format.
I think it was used at beginning of smoke development in blender 2.48 and kept for compatibility with old files. Genscher should be able to confirm.

So, in practice, it could correspond to only two new nodes.
A Smoke Texture node which would have same look that this mock-up except file source format pulldown list that would be removed.
And a 8 bit Raw Texture to keep ability to render scientific data from other apps.
(I don't know if it is still use a lot. Maybe, now, it exists other commonly used file formats for Voxel Data exchange.)

Voxel Data texture was created with BI in mind. In Blender Internal UI, there are labels to explain pull down lists. In mock-up, first "smoke" item is refering to file format ( 8 Bit Raw, Blender Voxel, Image Sequence and Smoke) and second "smoke" item is refering to smoke source (smoke, fire, velocity, heat). In BI texture tab, Voxel Data panel adapts itself to file format. In Cycles, instead of a node that have a changeable UI, several nodes could be created to correspond to each file format. A Voxel Data Image Sequence could be avoided. We could use current Image Texture node for same result. I don't know if someboby is still using Blender Voxel file format. I think it was used at beginning of smoke development in blender 2.48 and kept for compatibility with old files. Genscher should be able to confirm. So, in practice, it could correspond to only two new nodes. A Smoke Texture node which would have same look that this mock-up except file source format pulldown list that would be removed. And a 8 bit Raw Texture to keep ability to render scientific data from other apps. (I don't know if it is still use a lot. Maybe, now, it exists other commonly used file formats for Voxel Data exchange.)

Added subscriber: @mont29

Added subscriber: @mont29

Added subscriber: @Lapineige

Added subscriber: @Lapineige

Added subscriber: @kevindietrich

Added subscriber: @kevindietrich

Added subscriber: @drouin.simon

Added subscriber: @drouin.simon

Added subscriber: @patmo141-3

Added subscriber: @patmo141-3

What can we do to push this along? 1. How can we demonstrate user utility to devs 2. How big of a problem is this to tackle and is it worth the gained utility to users. 3. Funding

With no personal knowledge of the internal smoke data structure, my instinct says that if Cycles has the machinery to render these textures already, and all we need to do is plug in existing data into the right Blender format, that it should not be too difficult. Perhaps that assessment is inaccurate.

Best,
Patrick Moore

What can we do to push this along? 1. How can we demonstrate user utility to devs 2. How big of a problem is this to tackle and is it worth the gained utility to users. 3. Funding With no personal knowledge of the internal smoke data structure, my instinct says that if Cycles has the machinery to render these textures already, and all we need to do is plug in existing data into the right Blender format, that it should not be too difficult. Perhaps that assessment is inaccurate. Best, Patrick Moore
Member

Added subscriber: @Blendify

Added subscriber: @Blendify
Member

Whats the status on this? is this the same thing as point density?

Whats the status on this? is this the same thing as point density?

It is not same thing as point density texture.
Point Density texture uses as source : particles or meshes vertices.
Voxel Data texture uses as source : smoke voxels or Image Sequence frames as volume slices.

Kevin Dietrich has done an OpenVDB Volume node that uses smoke voxels in OpenVDB branch.
But it does not solve the lack of node for images of slices.

It is not same thing as point density texture. Point Density texture uses as source : particles or meshes vertices. Voxel Data texture uses as source : smoke voxels or Image Sequence frames as volume slices. Kevin Dietrich has done an OpenVDB Volume node that uses smoke voxels in OpenVDB branch. But it does not solve the lack of node for images of slices.

Added subscriber: @EduardoMaldonado

Added subscriber: @EduardoMaldonado

Added subscriber: @brecht

Added subscriber: @brecht

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'
Brecht Van Lommel self-assigned this 2016-02-21 14:53:08 +01:00

I think overall we want to use a different approach here, based on getting voxel data as attributes in the same way UVs, vertex colors, etc. work. Particularly when Blender gets a native volume object type this will start making even more sense. Treating voxel data as a texture is not the right approach I think.

I think overall we want to use a different approach here, based on getting voxel data as attributes in the same way UVs, vertex colors, etc. work. Particularly when Blender gets a native volume object type this will start making even more sense. Treating voxel data as a texture is not the right approach I think.

Added subscriber: @ChameleonScales

Added subscriber: @ChameleonScales

I could really use an image sequence based voxel data texture in Cycles right now. But in the mean time, if anyone has a workaround that doesn't kill performance, I would love to know about it.

I could really use an image sequence based voxel data texture in Cycles right now. But in the mean time, if anyone has a workaround that doesn't kill performance, I would love to know about it.

Added subscriber: @danhickstein

Added subscriber: @danhickstein

I'm also interested in generating a volume based on an image sequence. It seems that a number of people are interested in this, with several questions over at the blender stackexchange relating to this:

https://blender.stackexchange.com/questions/14995/voxel-data-in-cycles
https://blender.stackexchange.com/questions/62110/using-image-sequence-of-medical-scans-as-volume-data-in-cycles/62141

Is there a solution currently?

I'm also interested in generating a volume based on an image sequence. It seems that a number of people are interested in this, with several questions over at the blender stackexchange relating to this: https://blender.stackexchange.com/questions/14995/voxel-data-in-cycles https://blender.stackexchange.com/questions/62110/using-image-sequence-of-medical-scans-as-volume-data-in-cycles/62141 Is there a solution currently?

@danhickstein Still not, apart from the workarounds proposed in Stackexchange. That said, I wonder if the Everything Nodes project can address this even though it's a Cycles feature.

@danhickstein Still not, apart from the workarounds proposed in Stackexchange. That said, I wonder if the Everything Nodes project can address this even though it's a Cycles feature.

Okay, thank's for the info @ChameleonScales! That's too bad that it's not a feature yet.

Okay, thank's for the info @ChameleonScales! That's too bad that it's not a feature yet.

Added subscriber: @haaput

Added subscriber: @haaput

@ChameleonScales is this still pending? Hey @brecht I see this is assigned to you. If you are busy I can try to give it a shot next month but I don't have any experience with blender code base so I'll need some help with this.

@ChameleonScales is this still pending? Hey @brecht I see this is assigned to you. If you are busy I can try to give it a shot next month but I don't have any experience with blender code base so I'll need some help with this.

@haaput no further work that I've heard of, although if you have a particular use case you'd like to solve, I might be of help to find a workaround. Feel free to PM me on blender.chat (https://blender.chat/direct/chameleonscales)

@haaput no further work that I've heard of, although if you have a particular use case you'd like to solve, I might be of help to find a workaround. Feel free to PM me on blender.chat (https://blender.chat/direct/chameleonscales)

As I explained earlier in this task, I don't think this is the right approach. It makes optimizations and some features difficult, volumes should be a type of object rather than a shader. I expect a native volume object type will be added in one of the releases after 2.80.

As I explained earlier in this task, I don't think this is the right approach. It makes optimizations and some features difficult, volumes should be a type of object rather than a shader. I expect a native volume object type will be added in one of the releases after 2.80.

Thanks @Caetano. I managed to get it working using blender renderer. So now half of my project is rendered using blender renderer and other half using cycles! Its not ideal, but works for now.

@brecht OK thanks. I guess that is at least a few years.. btw I am still up for working on in May.

Thanks @Caetano. I managed to get it working using blender renderer. So now half of my project is rendered using blender renderer and other half using cycles! Its not ideal, but works for now. @brecht OK thanks. I guess that is at least a few years.. btw I am still up for working on in May.

Added subscriber: @garyo

Added subscriber: @garyo

I'd also be very interested in direct volume rendering in Blender and would be willing to contribute some work toward it (I've done quite a lot of image processing and sci viz over the years). I'm specifically interested in high-quality renders of large semi-transparent volumes with Cycles.

I'd also be very interested in direct volume rendering in Blender and would be willing to contribute some work toward it (I've done quite a lot of image processing and sci viz over the years). I'm specifically interested in high-quality renders of large semi-transparent volumes with Cycles.

Added subscriber: @nilsleiffischer

Added subscriber: @nilsleiffischer

Added subscriber: @FilipMond

Added subscriber: @FilipMond

One thing that is lost is Volume texture for particle system. Or does exist some another way (now with Volume Object type) to generate particle cloud from voxel texture now?

One thing that is lost is Volume texture for particle system. Or does exist some another way (now with Volume Object type) to generate particle cloud from voxel texture now?

At some point it will be possible to convert between volume and point cloud objects, or to sample attributes from them in geometry/particle nodes.

At some point it will be possible to convert between volume and point cloud objects, or to sample attributes from them in geometry/particle nodes.

Thank you for answer (I thought its dead link here so I doubled my question here https://developer.blender.org/T73201 sorry for that.

Thank you for answer (I thought its dead link here so I doubled my question here https://developer.blender.org/T73201 sorry for that.
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
16 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#41179
No description provided.