Blender Git Loki
Git Commits -> Revision c8acb6d
Revision c8acb6d by Brecht Van Lommel (master) March 11, 2020, 13:42 (GMT) |
Smoke: put density/color in separate textures, fixes for workbench shader This is more in line with standard grids and means we don't have to make many special exceptions in the upcoming change for arbitrary number of volume grids support in Eevee. The workbench shader was also changed to fix bugs where squared density was used, and the smoke color would affect the density so that black smoke would be invisible. This can change the look of smoke in workbench significantly. When using the color grid when smoke has a constant color, the color grid will no longer be premultiplied by the density. If the color is constant we want to be able not to store a grid at all. This breaks one test for Cycles and Eevee, but the setup in that test using a color without density does not make sense. It suffers from artifacts since the unpremultiplied color grid by itself will not have smooth boundaries. Differential Revision: https://developer.blender.org/D6951 |
Commit Details:
Full Hash: c8acb6dd6c58c6a85ab18d26f02973437cb2f700
Parent Commit: f3a33a9
Lines Changed: +136, -117
17 Modified Paths:
/intern/mantaflow/extern/manta_fluid_API.h (+8, -8) (Diff)
/intern/mantaflow/intern/manta_fluid_API.cpp (+15, -28) (Diff)
/source/blender/blenloader/intern/readfile.c (+2, -1) (Diff)
/source/blender/draw/engines/eevee/eevee_volumes.c (+8, -4) (Diff)
/source/blender/draw/engines/workbench/shaders/workbench_volume_frag.glsl (+2, -1) (Diff)
/source/blender/draw/engines/workbench/workbench_volume.c (+4, -2) (Diff)
/source/blender/gpu/GPU_material.h (+6, -5) (Diff)
/source/blender/gpu/GPU_texture.h (+1, -0) (Diff)
/source/blender/gpu/intern/gpu_codegen.c (+5, -1) (Diff)
/source/blender/gpu/intern/gpu_draw_smoke.c (+57, -53) (Diff)
/source/blender/gpu/intern/gpu_texture.c (+11, -0) (Diff)
/source/blender/gpu/shaders/material/gpu_shader_material_volume_info.glsl (+10, -9) (Diff)
/source/blender/makesdna/DNA_fluid_types.h (+2, -1) (Diff)
/source/blender/makesrna/intern/rna_fluid.c (+2, -2) (Diff)
/source/blender/nodes/shader/nodes/node_shader_attribute.c (+1, -1) (Diff)
/source/blender/nodes/shader/nodes/node_shader_volume_info.c (+1, -0) (Diff)
/source/blender/nodes/shader/nodes/node_shader_volume_principled.c (+1, -1) (Diff)
/intern/mantaflow/intern/manta_fluid_API.cpp (+15, -28) (Diff)
/source/blender/blenloader/intern/readfile.c (+2, -1) (Diff)
/source/blender/draw/engines/eevee/eevee_volumes.c (+8, -4) (Diff)
/source/blender/draw/engines/workbench/shaders/workbench_volume_frag.glsl (+2, -1) (Diff)
/source/blender/draw/engines/workbench/workbench_volume.c (+4, -2) (Diff)
/source/blender/gpu/GPU_material.h (+6, -5) (Diff)
/source/blender/gpu/GPU_texture.h (+1, -0) (Diff)
/source/blender/gpu/intern/gpu_codegen.c (+5, -1) (Diff)
/source/blender/gpu/intern/gpu_draw_smoke.c (+57, -53) (Diff)
/source/blender/gpu/intern/gpu_texture.c (+11, -0) (Diff)
/source/blender/gpu/shaders/material/gpu_shader_material_volume_info.glsl (+10, -9) (Diff)
/source/blender/makesdna/DNA_fluid_types.h (+2, -1) (Diff)
/source/blender/makesrna/intern/rna_fluid.c (+2, -2) (Diff)
/source/blender/nodes/shader/nodes/node_shader_attribute.c (+1, -1) (Diff)
/source/blender/nodes/shader/nodes/node_shader_volume_info.c (+1, -0) (Diff)
/source/blender/nodes/shader/nodes/node_shader_volume_principled.c (+1, -1) (Diff)