diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2021-06-07 20:49:00 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2021-06-07 20:49:00 +0300 |
commit | 89a002c4e38b3be38e2de76fbb7209ddf9bb2337 (patch) | |
tree | 2ea867d57732a4404d8f2bd464feeac8cbae0436 /source/blender/draw/engines/eevee/eevee_shader.hh | |
parent | 6c1e7868c7a88bbd7038519599298f27faa430f8 (diff) |
EEVEE: Material: Add back support for backfacing and transparency
Nothing much different compared to the previous implementation.
The transparent BSDF and principled BSDF now detects when the material
is potentially transparent to select the best way to render it.
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_shader.hh')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_shader.hh | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_shader.hh b/source/blender/draw/engines/eevee/eevee_shader.hh index 8a64155e34c..e6f98d22206 100644 --- a/source/blender/draw/engines/eevee/eevee_shader.hh +++ b/source/blender/draw/engines/eevee/eevee_shader.hh @@ -50,8 +50,6 @@ enum eShaderType { DEFERRED_MESH, DEFERRED_VOLUME, - DEPTH_SIMPLE_MESH, - DOF_BOKEH_LUT, DOF_GATHER_BACKGROUND_LUT, DOF_GATHER_BACKGROUND, @@ -125,17 +123,15 @@ class ShaderModule { GPUShader *static_shader_get(eShaderType shader_type); GPUMaterial *material_shader_get(::Material *blender_mat, struct bNodeTree *nodetree, + eMaterialPipeline pipeline_type, eMaterialGeometry geometry_type, - eMaterialDomain domain_type, bool deferred_compilation); - GPUMaterial *world_shader_get(::World *blender_world, - struct bNodeTree *nodetree, - eMaterialDomain domain_type); + GPUMaterial *world_shader_get(::World *blender_world, struct bNodeTree *nodetree); GPUMaterial *material_shader_get(const char *name, ListBase &materials, struct bNodeTree *nodetree, + eMaterialPipeline pipeline_type, eMaterialGeometry geometry_type, - eMaterialDomain domain_type, bool is_lookdev); GPUShaderSource material_shader_code_generate(GPUMaterial *mat, const GPUCodegenOutput *codegen); @@ -144,15 +140,13 @@ class ShaderModule { /* Run some custom preprocessor shader rewrite and returns a new string. */ std::string enum_preprocess(const char *input); - char *material_shader_code_defs_get(eMaterialGeometry geometry_type, - eMaterialDomain domain_type); + char *material_shader_code_defs_get(eMaterialGeometry geometry_type); char *material_shader_code_vert_get(const GPUCodegenOutput *codegen, GPUMaterial *mat, eMaterialGeometry geometry_type); char *material_shader_code_geom_get(const GPUCodegenOutput *codegen, GPUMaterial *mat, - eMaterialGeometry geometry_type, - eMaterialDomain domain_type); + eMaterialGeometry geometry_type); char *material_shader_code_frag_get(const GPUCodegenOutput *codegen, GPUMaterial *mat, eMaterialGeometry geometry_type, |