Move multiplication from Python to shaders. (Needs the same-named Uranium branch.)

This commit is contained in:
Remco Burema 2019-04-19 16:58:38 +02:00
parent 9daa78a98f
commit ed6db6c9b0
10 changed files with 186 additions and 130 deletions

View file

@ -1,7 +1,9 @@
[shaders]
vertex =
uniform highp mat4 u_modelMatrix;
uniform highp mat4 u_viewProjectionMatrix;
uniform highp mat4 u_viewMatrix;
uniform highp mat4 u_projectionMatrix;
uniform highp mat4 u_normalMatrix;
attribute highp vec4 a_vertex;
@ -14,7 +16,7 @@ vertex =
void main()
{
vec4 world_space_vert = u_modelMatrix * a_vertex;
gl_Position = u_viewProjectionMatrix * world_space_vert;
gl_Position = u_projectionMatrix * u_viewMatrix * world_space_vert;
v_vertex = world_space_vert.xyz;
v_normal = (u_normalMatrix * normalize(a_normal)).xyz;
@ -51,7 +53,9 @@ fragment =
vertex41core =
#version 410
uniform highp mat4 u_modelMatrix;
uniform highp mat4 u_viewProjectionMatrix;
uniform highp mat4 u_viewMatrix;
uniform highp mat4 u_projectionMatrix;
uniform highp mat4 u_normalMatrix;
in highp vec4 a_vertex;
@ -64,7 +68,7 @@ vertex41core =
void main()
{
vec4 world_space_vert = u_modelMatrix * a_vertex;
gl_Position = u_viewProjectionMatrix * world_space_vert;
gl_Position = u_projectionMatrix * u_viewMatrix * world_space_vert;
v_vertex = world_space_vert.xyz;
v_normal = (u_normalMatrix * normalize(a_normal)).xyz;
@ -108,7 +112,8 @@ u_opacity = 0.5
[bindings]
u_modelMatrix = model_matrix
u_viewProjectionMatrix = view_projection_matrix
u_viewMatrix = view_matrix
u_projectionMatrix = projection_matrix
u_normalMatrix = normal_matrix
u_lightPosition = light_0_position
u_diffuseColor = diffuse_color