diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2018-08-20 18:59:21 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2018-08-22 14:51:02 +0300 |
commit | bb639ccc47a4d66ef451f6b590bd6fad5de2b2f2 (patch) | |
tree | 3818440489740ab22e06e9a541ff35d968795468 /source/blender/gpu/shaders | |
parent | 118251a2a86a6ba7e500827bbe7a7812ebf76007 (diff) |
GPUMaterial: Geometry Node: Add support for parametric output
This supports meshes and hairs too. Matches cycles output.
This adds barycentric coords to the GPUBuiltin enum which will also be used
for the wireframe node.
Diffstat (limited to 'source/blender/gpu/shaders')
-rw-r--r-- | source/blender/gpu/shaders/gpu_shader_material.glsl | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/source/blender/gpu/shaders/gpu_shader_material.glsl b/source/blender/gpu/shaders/gpu_shader_material.glsl index 40aba1cc004..f3dea3afaf4 100644 --- a/source/blender/gpu/shaders/gpu_shader_material.glsl +++ b/source/blender/gpu/shaders/gpu_shader_material.glsl @@ -1705,7 +1705,7 @@ void node_tangent(vec3 N, vec3 orco, mat4 objmat, mat4 toworld, out vec3 T) } void node_geometry( - vec3 I, vec3 N, vec3 orco, mat4 objmat, mat4 toworld, + vec3 I, vec3 N, vec3 orco, mat4 objmat, mat4 toworld, vec2 barycentric, out vec3 position, out vec3 normal, out vec3 tangent, out vec3 true_normal, out vec3 incoming, out vec3 parametric, out float backfacing, out float pointiness) @@ -1720,7 +1720,7 @@ void node_geometry( vec3 I_view = (ProjectionMatrix[3][3] == 0.0) ? normalize(I) : vec3(0.0, 0.0, -1.0); incoming = -(toworld * vec4(I_view, 0.0)).xyz; - parametric = vec3(0.0); + parametric = vec3(barycentric, 0.0); backfacing = (gl_FrontFacing) ? 0.0 : 1.0; pointiness = 0.5; } |