Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2021-06-07 20:49:00 +0300
committerClément Foucault <foucault.clem@gmail.com>2021-06-07 20:49:00 +0300
commit89a002c4e38b3be38e2de76fbb7209ddf9bb2337 (patch)
tree2ea867d57732a4404d8f2bd464feeac8cbae0436 /source/blender/draw/engines/eevee/eevee_shader.hh
parent6c1e7868c7a88bbd7038519599298f27faa430f8 (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.hh16
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,