Fixing another stray global variable

This commit is contained in:
Tristan Schulz 2024-11-25 13:22:11 +01:00
commit b51d3fe200
No known key found for this signature in database
GPG key ID: BA691DECF9CB812A
4 changed files with 16 additions and 13 deletions

View file

@ -8,7 +8,8 @@ vec3 float_to_color(float value, float min_val, float max_val, vec3[9] colormap_
return mix(colormap_data[disc_alpha], colormap_data[disc_alpha + 1], 8.0 * alpha - disc_alpha);
}
vec4 add_light(vec4 color, vec3 point, vec3 unit_normal, vec3 light_coords, float gloss, float shadow)
vec4 add_light(vec4 color, vec3 point, vec3 unit_normal, vec3 light_coords, float gloss, float shadow,
float reflectiveness)
{
if (gloss == 0.0 && shadow == 0.0 && reflectiveness == 0.0)
return color;
@ -32,11 +33,12 @@ vec4 add_light(vec4 color, vec3 point, vec3 unit_normal, vec3 light_coords, floa
return vec4(darkening * mix(color.rgb, vec3(1.0), shine), color.a);
}
vec4 finalize_color(vec4 color, vec3 point, vec3 unit_normal, vec3 light_coords, float gloss, float shadow)
vec4 finalize_color(vec4 color, vec3 point, vec3 unit_normal, vec3 light_coords, float gloss, float shadow,
float reflectiveness)
{
///// INSERT COLOR FUNCTION HERE /////
// The line above may be replaced by arbitrary code snippets, as per
// the method Mobject.set_color_by_code
return add_light(color, point, unit_normal, light_coords, gloss, shadow);
return add_light(color, point, unit_normal, light_coords, gloss, shadow, reflectiveness);
}
#endif // FINALIZE_COLOR_GLSL

View file

@ -1,6 +1,7 @@
#version 330
#include "../include/camera_uniform_declarations.glsl"
uniform vec2 pixel_shape;
uniform float index;

View file

@ -1,5 +1,12 @@
#version 330
#include "../include/camera_uniform_declarations.glsl"
#include "../include/finalize_color.glsl"
#include "../include/get_gl_Position.glsl"
#include "../include/get_unit_normal.glsl"
#include "../include/mobject_uniform_declarations.glsl"
#include "../include/quadratic_bezier_geometry_functions.glsl"
layout(triangles) in;
layout(triangle_strip, max_vertices = 5) out;
@ -19,19 +26,12 @@ out float orientation;
out vec2 uv_coords;
out float bezier_degree;
// Analog of import for manim only
#include "../include/camera_uniform_declarations.glsl"
#include "../include/finalize_color.glsl"
#include "../include/get_gl_Position.glsl"
#include "../include/get_unit_normal.glsl"
#include "../include/mobject_uniform_declarations.glsl"
#include "../include/quadratic_bezier_geometry_functions.glsl"
const vec2 uv_coords_arr[3] = vec2[3](vec2(0, 0), vec2(0.5, 0), vec2(1, 1));
void emit_vertex_wrapper(vec3 point, int index)
{
color = finalize_color(v_color[index], point, v_global_unit_normal[index], light_source_position, gloss, shadow);
color = finalize_color(v_color[index], point, v_global_unit_normal[index], light_source_position, gloss, shadow,
reflectiveness);
gl_Position = get_gl_Position(point);
uv_coords = uv_coords_arr[index];
EmitVertex();

View file

@ -248,7 +248,7 @@ void main()
// vec3 xyz_coords = vec3(corners[i], controls[index_map[i]].z);
vec3 xyz_coords = vec3(corners[i], controls[index_map[i]].z);
color = finalize_color(v_color[index_map[i]], xyz_coords, v_global_unit_normal[index_map[i]],
light_source_position, gloss, shadow);
light_source_position, gloss, shadow, reflectiveness);
gl_Position = vec4(get_gl_Position(vec3(corners[i], 0.0)).xy, get_gl_Position(controls[index_map[i]]).zw);
EmitVertex();
}