Let's try to draw a distant mesh by standard approach.
Engine code:
shader_modelviewprojection = player_projection * player_modelview;
Vertex shader:
gl_Position = shader_modelviewprojection * vertex;
The result will be funny:

And it's time to trick now.
Engine code:
shader_offset = player_position;
shader_modelviewprojection = player_projection * player_modelview * translate(shader_offset);
Vertex shader:
gl_Position = shader_modelviewprojection * (vertex - shader_offset);
The result will be absolutely correct:

No comments:
Post a Comment