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:
Diffstat (limited to 'source/blender/gpu/shaders/gpu_shader_simple_frag.glsl')
-rw-r--r--source/blender/gpu/shaders/gpu_shader_simple_frag.glsl169
1 files changed, 0 insertions, 169 deletions
diff --git a/source/blender/gpu/shaders/gpu_shader_simple_frag.glsl b/source/blender/gpu/shaders/gpu_shader_simple_frag.glsl
deleted file mode 100644
index 94c73d9e248..00000000000
--- a/source/blender/gpu/shaders/gpu_shader_simple_frag.glsl
+++ /dev/null
@@ -1,169 +0,0 @@
-
-/* Options:
- *
- * USE_COLOR: use glColor for diffuse colors
- * USE_TEXTURE: use texture for diffuse colors
- * USE_SCENE_LIGHTING: use lights (up to 8)
- * USE_SOLID_LIGHTING: assume 3 directional lights for solid draw mode
- * USE_TWO_SIDED: flip normal towards viewer
- * NO_SPECULAR: use specular component
- */
-
-#define NUM_SOLID_LIGHTS 3
-#define NUM_SCENE_LIGHTS 8
-
-#if defined(USE_SOLID_LIGHTING) || defined(USE_SCENE_LIGHTING)
-varying vec3 varying_normal;
-
-#ifndef USE_SOLID_LIGHTING
-varying vec3 varying_position;
-#endif
-#endif
-
-#ifdef USE_COLOR
-varying vec4 varying_vertex_color;
-#endif
-
-#ifdef USE_TEXTURE
-varying vec2 varying_texture_coord;
-uniform sampler2D texture_map;
-#endif
-
-void main()
-{
-#if defined(USE_SOLID_LIGHTING) || defined(USE_SCENE_LIGHTING)
- /* compute normal */
- vec3 N = normalize(varying_normal);
-
-#ifdef USE_TWO_SIDED
- if (!gl_FrontFacing)
- N = -N;
-#endif
-
- /* compute diffuse and specular lighting */
- vec3 L_diffuse = vec3(0.0);
-#ifndef NO_SPECULAR
- vec3 L_specular = vec3(0.0);
-#endif
-
-#ifdef USE_SOLID_LIGHTING
- /* assume 3 directional lights */
- for (int i = 0; i < NUM_SOLID_LIGHTS; i++) {
- vec3 light_direction = gl_LightSource[i].position.xyz;
-
- /* diffuse light */
- vec3 light_diffuse = gl_LightSource[i].diffuse.rgb;
- float diffuse_bsdf = max(dot(N, light_direction), 0.0);
- L_diffuse += light_diffuse*diffuse_bsdf;
-
-#ifndef NO_SPECULAR
- /* specular light */
- vec3 light_specular = gl_LightSource[i].specular.rgb;
- vec3 H = gl_LightSource[i].halfVector.xyz;
-
- float specular_bsdf = pow(max(dot(N, H), 0.0), gl_FrontMaterial.shininess);
- L_specular += light_specular*specular_bsdf;
-#endif
- }
-#else
- /* all 8 lights, makes no assumptions, potentially slow */
-
-#ifndef NO_SPECULAR
- /* view vector computation, depends on orthographics or perspective */
- vec3 V = (gl_ProjectionMatrix[3][3] == 0.0) ? normalize(varying_position): vec3(0.0, 0.0, -1.0);
-#endif
-
- for (int i = 0; i < NUM_SCENE_LIGHTS; i++) {
- /* todo: this is a slow check for disabled lights */
- if (gl_LightSource[i].specular.a == 0.0)
- continue;
-
- float intensity = 1.0;
- vec3 light_direction;
-
- if (gl_LightSource[i].position.w == 0.0) {
- /* directional light */
- light_direction = gl_LightSource[i].position.xyz;
- }
- else {
- /* point light */
- vec3 d = gl_LightSource[i].position.xyz - varying_position;
- light_direction = normalize(d);
-
- /* spot light cone */
- if (gl_LightSource[i].spotCutoff < 90.0) {
- float cosine = max(dot(light_direction, -gl_LightSource[i].spotDirection), 0.0);
- intensity = pow(cosine, gl_LightSource[i].spotExponent);
- intensity *= step(gl_LightSource[i].spotCosCutoff, cosine);
- }
-
- /* falloff */
- float distance = length(d);
-
- intensity /= gl_LightSource[i].constantAttenuation +
- gl_LightSource[i].linearAttenuation * distance +
- gl_LightSource[i].quadraticAttenuation * distance * distance;
- }
-
- /* diffuse light */
- vec3 light_diffuse = gl_LightSource[i].diffuse.rgb;
- float diffuse_bsdf = max(dot(N, light_direction), 0.0);
- L_diffuse += light_diffuse*diffuse_bsdf*intensity;
-
-#ifndef NO_SPECULAR
- /* specular light */
- vec3 light_specular = gl_LightSource[i].specular.rgb;
- vec3 H = normalize(light_direction - V);
-
- float specular_bsdf = pow(max(dot(N, H), 0.0), gl_FrontMaterial.shininess);
- L_specular += light_specular*specular_bsdf*intensity;
-#endif
- }
-#endif
-
- /* compute diffuse color, possibly from texture or vertex colors */
- float alpha;
-
-#if defined(USE_TEXTURE) && defined(USE_COLOR)
- vec4 texture_color = texture2D(texture_map, varying_texture_coord);
-
- L_diffuse *= texture_color.rgb * varying_vertex_color.rgb;
- alpha = texture_color.a * varying_vertex_color.a;
-#elif defined(USE_TEXTURE)
- vec4 texture_color = texture2D(texture_map, varying_texture_coord);
-
- L_diffuse *= texture_color.rgb;
- alpha = texture_color.a;
-#elif defined(USE_COLOR)
- L_diffuse *= varying_vertex_color.rgb;
- alpha = varying_vertex_color.a;
-#else
- L_diffuse *= gl_FrontMaterial.diffuse.rgb;
- alpha = gl_FrontMaterial.diffuse.a;
-#endif
-
- /* sum lighting */
- vec3 L = gl_FrontLightModelProduct.sceneColor.rgb + L_diffuse;
-
-#ifndef NO_SPECULAR
- L += L_specular*gl_FrontMaterial.specular.rgb;
-#endif
-
- /* write out fragment color */
- gl_FragColor = vec4(L, alpha);
-#else
-
- /* no lighting */
-#if defined(USE_TEXTURE) && defined(USE_COLOR)
- gl_FragColor = texture2D(texture_map, varying_texture_coord) * varying_vertex_color;
-#elif defined(USE_TEXTURE)
- gl_FragColor = texture2D(texture_map, varying_texture_coord);
-#elif defined(USE_COLOR)
- gl_FragColor = varying_vertex_color;
-#else
- gl_FragColor = gl_FrontMaterial.diffuse;
-#endif
-
-#endif
-}
-