New volume object type
#73201
Open
opened
No Branch/Tag Specified
main
blender-v3.6-release
temp-sculpt-dyntopo-hive-alloc
temp-sculpt-dyntopo
asset-shelf
cycles-light-linking
tmp-usd-python-mtl
brush-assets-project
blender-v2.93-release
blender-v3.3-release
universal-scene-description
node-group-operators
asset-browser-frontend-split
temp-sculpt-attr-api
blender-v3.5-release
realtime-clock
sculpt-dev
gpencil-next
bevelv2
microfacet_hair
blender-projects-basics
principled-v2
v3.3.7
v2.93.18
v3.5.1
v3.3.6
v2.93.17
v3.5.0
v2.93.16
v3.3.5
v3.3.4
v2.93.15
v2.93.14
v3.3.3
v2.93.13
v2.93.12
v3.4.1
v3.3.2
v3.4.0
v3.3.1
v2.93.11
v3.3.0
v3.2.2
v2.93.10
v3.2.1
v3.2.0
v2.83.20
v2.93.9
v3.1.2
v3.1.1
v3.1.0
v2.83.19
v2.93.8
v3.0.1
v2.93.7
v3.0.0
v2.93.6
v2.93.5
v2.83.18
v2.93.4
v2.93.3
v2.83.17
v2.93.2
v2.93.1
v2.83.16
v2.93.0
v2.83.15
v2.83.14
v2.83.13
v2.92.0
v2.83.12
v2.91.2
v2.83.10
v2.91.0
v2.83.9
v2.83.8
v2.83.7
v2.90.1
v2.83.6.1
v2.83.6
v2.90.0
v2.83.5
v2.83.4
v2.83.3
v2.83.2
v2.83.1
v2.83
v2.82a
v2.82
v2.81a
v2.81
v2.80
v2.80-rc3
v2.80-rc2
v2.80-rc1
v2.79b
v2.79a
v2.79
v2.79-rc2
v2.79-rc1
v2.78c
v2.78b
v2.78a
v2.78
v2.78-rc2
v2.78-rc1
v2.77a
v2.77
v2.77-rc2
v2.77-rc1
v2.76b
v2.76a
v2.76
v2.76-rc3
v2.76-rc2
v2.76-rc1
v2.75a
v2.75
v2.75-rc2
v2.75-rc1
v2.74
v2.74-rc4
v2.74-rc3
v2.74-rc2
v2.74-rc1
v2.73a
v2.73
v2.73-rc1
v2.72b
2.72b
v2.72a
v2.72
v2.72-rc1
v2.71
v2.71-rc2
v2.71-rc1
v2.70a
v2.70
v2.70-rc2
v2.70-rc
v2.69
v2.68a
v2.68
v2.67b
v2.67a
v2.67
v2.66a
v2.66
v2.65a
v2.65
v2.64a
v2.64
v2.63a
v2.63
v2.61
v2.60a
v2.60
v2.59
v2.58a
v2.58
v2.57b
v2.57a
v2.57
v2.56a
v2.56
v2.55
v2.54
v2.53
v2.52
v2.51
v2.50
v2.49b
v2.49a
v2.49
v2.48a
v2.48
v2.47
v2.46
v2.45
v2.44
v2.43
v2.42a
v2.42
v2.41
v2.40
v2.37a
v2.37
v2.36
v2.35a
v2.35
v2.34
v2.33a
v2.33
v2.32
v2.31a
v2.31
v2.30
v2.28c
v2.28a
v2.28
v2.27
v2.26
v2.25
Labels
Clear labels
Issues relating to security: https://wiki.blender.org/wiki/Process/Vulnerability_Reports
Apply labels
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
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
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
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
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
Issues relating to security: https://wiki.blender.org/wiki/Process/Vulnerability_Reports
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 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
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
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
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
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
Milestone
Set milestone
Clear milestone
No items
No Milestone
Projects
Set Project
Clear projects
No project
Assignees
Assign users
Clear assignees
No Assignees
39 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#73201
Reference in New Issue
There is no content yet.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. It CANNOT be undone. Continue?
Status: Initial part of milestone 1 merged into master.
Team
Commissioner: ?
Project leader: @brecht
Project members: @sebbas @JacquesLucke
Description
Big picture: Volumes need their own native datablock type, so Blender can support other use cases like rendering OpenVDB files or procedurally generating volumes.
Use cases:
Design:
Engineer plan:
?
Work plan
Milestone 1
Time estimate: 10 workdays to complete implementation, 5 for review/docs/bugs.
Completed for merge into Master.
FILTER_ID
bitsViewport
Time estimate:
?
Rendering
Time estimate:
?
Modifiers
Time estimate:
?
Other
pyopenvdb
Relevant links:
Changed status from 'Needs Triage' to: 'Confirmed'
Added subscriber: @brecht
Added subscriber: @JacquesLucke
Added subscriber: @Scaredyfish
Added subscriber: @sebbas
Development is happening in the new-object-types branch.
Added subscriber: @Stefan_Werner
This was high on my to-do list, great to see that you've started work on this! Let me know if there's anything I can help you with.
Added subscriber: @garyo
This is an important feature for me as well; I'm happy to help if there's anything I can do.
@Stefan_Werner, I don't have any own code for the Cycles rendering side, which I guess you guys have (and there is also the summer of code project). So integrating that with this new volume object would help.
Beyond that I'm still iterating on the basics, it will be easier to make a concrete list of remaining tasks and distribute work in a week or two from now.
Added subscriber: @Dogway
Added subscriber: @zebus3dream
Added subscriber: @AditiaA.Pratama
Added subscriber: @Pipeliner
Added subscriber: @sergeneren
There's now basic Cycles, Eevee and workbench rendering. Still many limitations, see TODO comments in the branch for the details.
8b64765
7c144ac
Next week for me will probably be volume sequence support, and tightening up the code, in particular dependency graph integration.
For anyone who wants to help out, the tasks listed under User Interface, Workbench, Viewporting drawing, Eevee and Cycles are a good starting point. They are pretty self-contained and not likely to conflict with other changes I plan to work on.
Added subscriber: @PratyakshGaur
Added subscriber: @Peine_Perdue
Added subscriber: @RC12
Added this week:
Next week I plan to make the rendering and viewport drawing more complete.
Added subscriber: @SteffenD
Added subscriber: @Eary
Hello, I am not a programmer, I am just a user (just trying out new things), and I discovered that the search function in the Shader Editor's Shift A menu does not work, any reason for that?
@Eary, are you saying the search function is broken specifically in a build of the new-object-types branch? I can see it greyed out when there is no material, but once adding one it works for me, same as other object types.
Wait... It's fixed in the latest daily build, so never mind.
Added subscriber: @arc4g-1
Removed subscriber: @arc4g-1
Added subscriber: @arc4g-1
Added subscriber: @bowserlm
Downloaded the build from GraphicAll and imported a VDB and everything works in the viewport with Eevee, but when I try to render a frame with Eevee I don't get the expected result. There is no volume.
@bowserlm, that should be fixed now in f0a7a06815.
iss.vdb
is too heavy to load on my GPU as a dense texture, but we can preview it in the viewport with wireframes now. Each box in the Fine display is 8x8x8 voxels.Velocity grid display:
Added subscriber: @pixeltrain3d
Added subscriber: @BeckersC
Downloaded the latest build -- d58e80b4c6cb -- still no render result in Eevee.
Actually now no render result in Cycles as well.
***Actually looks like I am getting a render result now from Cycles and Eevee. Not sure what changed.
Added subscriber: @marks-4
Added subscriber: @theHamsta
Added subscriber: @semimetallic
Added subscriber: @Ulrich-Buch
While I assume such things to be sth. like the most low-priority of things to consider with this project, I'd still like to know in how far the new volume-object type could serve as groundwork for future support of pointclouds via OSL as per chapter 7.9 (page 72) in https://github.com/imageworks/OpenShadingLanguage/blob/master/src/doc/osl-languagespec.pdf?
Oh and sorry in advance in case this is the wrong place to ask this. :-)
Added subscriber: @elbox01
Point-cloud sampling in OSL would share no code with the volume object, so basically unrelated. The current pointcloud texture converts point clouds to a volume, but really that's too inefficient.
Added subscriber: @nicelife
Added subscriber: @DarkKnight
Importing and rendering or shading vdb work fine but not with sequence. That only works in the viewport but the render is empty.
Still such a great addition to blender. Thanks Brecht for the work on it.
We're reviewing an in-house patch right now that's per-object (not per-shader) step size as a user parameter, not determined automatically at the moment. Rationale for per-object is that we tend to reuse the same shader for multiple VDB objects, which may have different resolutions and densities.
We might also have a patch for eulerian motion blur soon.
We have some in-house code for CPU-only sparse grids using OpenVDB directly. It's not necessarily pretty and it comes with performance penalties, not sure how useful this will be for the general audience.
I agree per-object step size makes more sense, I was thinking about changing it to that. Probably also change it from step rate to step size, but still with a way to fill it in automatically.
We wouldn't use OpenVDB directly, since we want it to work on the GPU too, and the OpenVDB implementation in
Interpolation.h
has poor performance. I'm hoping we can do sparse volume rendering in Cycles for 2.83 since it would be really nice to render complex volumes, but probably I won't have time for it.Added subscriber: @shanberg
This issue was referenced by blender/cycles@6df79da8d7
This issue was referenced by
7537cad576
This issue was referenced by
b0a1cf2c9a
This issue was referenced by
fd53b72871
This issue was referenced by blender/cycles@85e8900ecb
This issue was referenced by
006025ead0
This issue was referenced by blender/cycles@f8b4d5c2fd
This issue was referenced by
994eb1ec17
Added subscriber: @lemenicier_julien
Added subscriber: @DirSurya
Added subscriber: @shafan95
Added subscriber: @FilipMond
Any plans to access voxel data for particle system? Like to control density of VDB animation. Thank you for more info.
One of my goal was to meshing volumes (that could be done with particles generated from density with Metaballs assistance in 2.79 https://blender.stackexchange.com/questions/181773/meshing-a-smoke-simulation/182438#182438 ), but since this way is completely buggy (due the lag of particle refresh and reassigning the Voxel Data issue) it makes voxel animation impossible in 2.79 and inaccessible in 2.83 for now, right?
@FilipMond this will become possible with D4960, there is no Blender volume object involved in that.
Removed subscriber: @nicelife
This issue was referenced by
5845c06a63
This issue was referenced by
365bf103d1
Removed subscriber: @FilipMond
This issue was referenced by
1f50beb9f2
Added subscriber: @Moamen123
For some reason this new update D9141 was not posted in here, and the volume to mesh modifier checkbox is still not checked, I was not aware of its existence until somebody told me about this today. I was like, no way, I subscribed to this post, how come I am knowing this later than you, lol.
Added subscriber: @VDC
Added subscriber: @Garek
Added subscriber: @skyscapeparadise
Added subscriber: @mkaic
Added subscriber: @Iago-Diogo-de-Vasconcelos-Mota