Compensate for z-flattening when zooming
This commit is contained in:
parent
e36ff6ae9c
commit
9283aa4752
2 changed files with 9 additions and 0 deletions
|
@ -1,12 +1,18 @@
|
|||
#version 120
|
||||
|
||||
uniform float zoom;
|
||||
|
||||
varying vec3 ec_pos;
|
||||
|
||||
void main() {
|
||||
vec3 base3 = vec3(0.99, 0.96, 0.89);
|
||||
vec3 base2 = vec3(0.92, 0.91, 0.83);
|
||||
vec3 base00 = vec3(0.40, 0.48, 0.51);
|
||||
|
||||
vec3 ec_normal = normalize(cross(dFdx(ec_pos), dFdy(ec_pos)));
|
||||
ec_normal.z *= zoom;
|
||||
ec_normal = normalize(ec_normal);
|
||||
|
||||
float a = dot(ec_normal, vec3(0.0, 0.0, 1.0));
|
||||
float b = dot(ec_normal, vec3(-0.57, -0.57, 0.57));
|
||||
|
||||
|
|
|
@ -89,6 +89,9 @@ void Canvas::draw_mesh()
|
|||
mesh_shader.uniformLocation("view_matrix"),
|
||||
1, GL_FALSE, view_matrix().data());
|
||||
|
||||
// Compensate for z-flattening when zooming
|
||||
glUniform1f(mesh_shader.uniformLocation("zoom"), 1/zoom);
|
||||
|
||||
// Find and enable the attribute location for vertex position
|
||||
const GLuint vp = mesh_shader.attributeLocation("vertex_position");
|
||||
glEnableVertexAttribArray(vp);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue