// shader.frag #version 450 // Variables layout(location=0) in vec2 vert_uv; layout(location=0) out vec4 out_color; layout(set=0, binding=0) uniform Uniforms { mat4 _viewMatrix; mat4 _projMatrixInv; vec3 _CamPos; float _Time; }; //layout(set = 1, binding = 0) uniform texture3D node_tex; //layout(set = 1, binding = 1) uniform usampler3D node_sampl; layout(set=1,binding=0) uniform usampler3D nodesTexture; layout(set=2,binding=0) uniform usampler3D bricksTexture; // Defines #define PI 3.141592 #define EPSILON 0.01 #define NEAR 0.01 #define MAX_STEPS 200 // Include #include "shapes.cginc" #include "raycasting.cginc" void main() { // Calculate ray direction vec3 view_dir = (_projMatrixInv * vec4(vert_uv, 0, 1)).xyz; vec3 ray_dir = normalize(_viewMatrix * vec4(view_dir,0)).xyz; // Raycast out_color = vec4(castNodes(_CamPos, ray_dir), 1.0); }