materials, brick and nodes structure, preparing for world generation
This commit is contained in:
+19
-16
@@ -1,38 +1,41 @@
|
||||
// shader.frag
|
||||
#version 450
|
||||
|
||||
struct Material {
|
||||
vec4 albedo;
|
||||
};
|
||||
|
||||
// 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;
|
||||
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;
|
||||
layout(set=1,binding=0) uniform usampler3D _NodesTexture;
|
||||
layout(set=2,binding=0) uniform usampler3D _BricksTexture;
|
||||
layout(set=3, binding=0) uniform Materials {
|
||||
Material _Materials[256];
|
||||
};
|
||||
|
||||
// Defines
|
||||
#define PI 3.141592
|
||||
#define EPSILON 0.01
|
||||
#define NEAR 0.01
|
||||
#define MAX_STEPS 200
|
||||
// #define PI 3.141592
|
||||
// #define EPSILON 0.01
|
||||
// #define NEAR 0.01
|
||||
|
||||
// Include
|
||||
#include "shapes.cginc"
|
||||
#include "shading.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;
|
||||
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);
|
||||
|
||||
Reference in New Issue
Block a user