Cycles/Eevee texture nodes for modifiers, painting and more #54656
Labels
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
43 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender#54656
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
With Blender Internal being removed, we have an opportunity to support the same set of textures for Cycles, Eevee, modifiers, particles, painting, compositing, etc. So we plan to port the relevant Cycles / Eevee shader nodes to Blender C code, and make those the new texture nodes that can be used throughout Blender. Blender Internal textures can be removed then, and we can extend the Cycles / Eevee shader nodes to add any important missing features from them.
Further we need a good UI for this in the texture properties.
Added subscriber: @brecht
#68895 was marked as duplicate of this issue
Added subscriber: @michaelknubben
Added subscriber: @pragma37
May I suggest adding a bake texture function to the baking API instead of duplicating every node in C?
This function would evaluate a single mesh in isolation and would take a texture node tree instead of a material one (texture node trees would be just like regular material node trees without shader nodes).
This would likely be faster to evaluate since it could run in the GPU and would allow better integration with third party render engines.
I already suggested this in the devtalk forums , but I'm not sure if it was discarded as a bad idea or just went unnoticed.
Performance is not going to be good that way, we don't want to copy meshes to Cycles or another renderer when we already have them in Blender just to do some texture evaluations in the middle of a modifier stack. Using the GPU would also be problematic, mostly because of the latency of transferring data between CPU and GPU, and because it's difficult to create big enough batches of data to work on even if latency was low.
At least on that particular example, running the modifier on the GPU(gtx 950) is much faster than on the CPU(i7 4790k). And that's on a case where the ratio between evaluated pixels and vertices is just 1. For painting and compositing, shouldn't the payoff be much better ? It wouldn't even be necessary to send the whole mesh to the renderer.
Just to make it clear, I know you are infinitely more qualified than me to know what's the correct way to go. Sorry if I look disrespectful, it's absolutely not my intention.
There is definitely a point where it gets faster on the CPU, when the shader is sufficiently complicated and the number of vertices is high enough. There's a latency vs throughput trade-off.
If you have for example a scene with hundreds of objects that need few texture evaluations, the latency adds up and things could slow down a lot. Existing code is usually structured assuming that you can get one texture evaluation at a time. Rewriting that to batch together a bunch of texture evaluations would be quite some work and make the code more complicated.
Added subscriber: @LucianoMunoz
Added subscriber: @Mantissa
Added subscriber: @DuarteRamos
Added subscriber: @DanielPaul
Added subscriber: @dfelinto
Added subscriber: @Blendork
Added subscriber: @MichaelHermann
Added subscriber: @DanPool
Added subscriber: @c2ba
Added subscriber: @Andruxa696
Added subscriber: @SteffenD
Added subscriber: @BartekMoniewski
Added subscriber: @RC12
Added subscriber: @ttrevan
Added subscriber: @SamGreen
Added subscriber: @Pipeliner
Added subscriber: @RedMser
Added subscriber: @Slowwkidd
Added subscriber: @baoyu
Any update on this? Reuse the procedural texture nodes across the entire blender could be much intuitive cause they can easily be visualized. Implementation of luxcore render's texture node editor is a good reference. User can create a pointer in luxcore texture node editor, and use them in shader node editor the way like how node group's been used.
Added subscriber: @AndresStephens
Just tried to use these editors, and found they are almost a redundant and non-working editor - no thumbnails, no use when "use nodes" is on, and no properties accessible elsewhere in the UI. The editor is currently legacy with no integration into any practical use - and was mainly there for Blender Internal.
Is there a way to make these editors relevant for Cycles and Eevee?
And also, is there a way to be able to access the node trees of these textures throughout the general UI? (Modifiers, Geometry Nodes, materials, etc)?
Added subscriber: @AndyCuccaro
Added subscriber: @lichtwerk
Added subscriber: @IyadAhmed
Added subscriber: @Erindale
Fingers crossed for Blender 3.0!
Added subscriber: @zNight
Added subscriber: @Bobo_The_Imp
Added subscriber: @txo
Added subscriber: @Aeraglyx
Added subscriber: @Limarest
It's been 3 years since this task was created - surely most of the community is eager to see some action!
Is there any pre-production that can be done with our hands to help push this forward?
UI designs, sketches, workflow examples, anything you need to start the discussion on what the new system will and won't be at least?
Added subscriber: @JulienKaspar
Added subscriber: @monocrmd
This comment was removed by @monocrmd
Added subscriber: @Diogo_Valadares
Added subscriber: @hamed.desighn
Hi , is it possible to just take whats cycles rendering it and converting it to geo ? not baking any map just taking the geo data after displacement from cycels and turn it to real object .
Removed subscriber: @pragma37
Added subscriber: @GeorgiaPacific
Added subscriber: @heini
Bump, this needs some polish.
Added subscriber: @Yuro
Added subscriber: @T.R.O.Nunes
Added subscriber: @Christoph-Feck
Added subscriber: @shanedk
Added subscriber: @mod_moder
Quick question, 5 years later - will this ever be ported to Eevee or Cycles and integrated again?