working generating camera rays from view and proj matrices

This commit is contained in:
Piotrek
2021-04-15 08:55:26 +02:00
parent 8094d8168d
commit b52193df28
10 changed files with 51 additions and 44 deletions
+12 -5
View File
@@ -7,6 +7,13 @@ layout(location=0) out vec4 out_color;
layout(set=0, binding=0) uniform texture2D tex;
layout(set=0, binding=1) uniform sampler tex_smp;
layout(set=1, binding=0) uniform Uniforms
{
mat4 view_matrix;
mat4 proj_matrix_inv;
vec3 cam_pos;
};
// Defines
#define PI 3.141592
#define EPSILON 0.01
@@ -19,10 +26,10 @@ layout(set=0, binding=1) uniform sampler tex_smp;
void main()
{
// Calculate ray
vec3 ro = vec3(0.0, 2, -6.0); // Ray origin
vec3 rd = normalize(vec3(vert_uv - vec2(0.5, 0.5), 1.001)); // Ray direction
vec3 view_dir = (proj_matrix_inv * vec4(vert_uv, 0, 1)).xyz;
vec3 ray_dir = normalize(view_matrix * vec4(view_dir,0)).xyz;
// Render
out_color = vec4(raymarch(ro, rd), 1);
out_color = vec4(raymarch(cam_pos, ray_dir), 1);
}