diff options
Diffstat (limited to 'source/blender/gpu/shaders/gpu_shader_vertex.glsl')
-rw-r--r-- | source/blender/gpu/shaders/gpu_shader_vertex.glsl | 111 |
1 files changed, 0 insertions, 111 deletions
diff --git a/source/blender/gpu/shaders/gpu_shader_vertex.glsl b/source/blender/gpu/shaders/gpu_shader_vertex.glsl deleted file mode 100644 index 2c5bcd54b33..00000000000 --- a/source/blender/gpu/shaders/gpu_shader_vertex.glsl +++ /dev/null @@ -1,111 +0,0 @@ -#ifdef USE_OPENSUBDIV -in vec3 normal; -in vec4 position; - -out block { - VertexData v; -} outpt; -#endif - -varying vec3 varposition; -varying vec3 varnormal; - -#ifdef CLIP_WORKAROUND -varying float gl_ClipDistance[6]; -#endif - - -/* Color, keep in sync with: gpu_shader_vertex_world.glsl */ - -float srgb_to_linearrgb(float c) -{ - if (c < 0.04045) - return (c < 0.0) ? 0.0 : c * (1.0 / 12.92); - else - return pow((c + 0.055) * (1.0 / 1.055), 2.4); -} - -void srgb_to_linearrgb(vec3 col_from, out vec3 col_to) -{ - col_to.r = srgb_to_linearrgb(col_from.r); - col_to.g = srgb_to_linearrgb(col_from.g); - col_to.b = srgb_to_linearrgb(col_from.b); -} - -void srgb_to_linearrgb(vec4 col_from, out vec4 col_to) -{ - col_to.r = srgb_to_linearrgb(col_from.r); - col_to.g = srgb_to_linearrgb(col_from.g); - col_to.b = srgb_to_linearrgb(col_from.b); - col_to.a = col_from.a; -} - -bool is_srgb(int info) -{ -#ifdef USE_NEW_SHADING - return (info == 1)? true: false; -#else - return false; -#endif -} - -void set_var_from_attr(float attr, int info, out float var) -{ - var = attr; -} - -void set_var_from_attr(vec2 attr, int info, out vec2 var) -{ - var = attr; -} - -void set_var_from_attr(vec3 attr, int info, out vec3 var) -{ - if (is_srgb(info)) { - srgb_to_linearrgb(attr, var); - } - else { - var = attr; - } -} - -void set_var_from_attr(vec4 attr, int info, out vec4 var) -{ - if (is_srgb(info)) { - srgb_to_linearrgb(attr, var); - } - else { - var = attr; - } -} - -/* end color code */ - - -void main() -{ -#ifndef USE_OPENSUBDIV - vec4 position = gl_Vertex; - vec3 normal = gl_Normal; -#endif - - vec4 co = gl_ModelViewMatrix * position; - - varposition = co.xyz; - varnormal = normalize(gl_NormalMatrix * normal); - gl_Position = gl_ProjectionMatrix * co; - -#ifdef CLIP_WORKAROUND - int i; - for (i = 0; i < 6; i++) - gl_ClipDistance[i] = dot(co, gl_ClipPlane[i]); -#elif !defined(GPU_ATI) - // Setting gl_ClipVertex is necessary to get glClipPlane working on NVIDIA - // graphic cards, while on ATI it can cause a software fallback. - gl_ClipVertex = co; -#endif - -#ifdef USE_OPENSUBDIV - outpt.v.position = co; - outpt.v.normal = varnormal; -#endif |