cleanup
This commit is contained in:
Binary file not shown.
@@ -1,26 +1,22 @@
|
||||
#version 450
|
||||
|
||||
struct Material {
|
||||
vec3 albedo;
|
||||
float specular;
|
||||
};
|
||||
#include "structs.cginc"
|
||||
|
||||
// Variables
|
||||
// Input output
|
||||
layout(location=0) in vec2 _InUV;
|
||||
layout(location=0) out vec4 _OutColor;
|
||||
|
||||
layout(set=0,binding=0) uniform Uniforms {
|
||||
// Uniform
|
||||
layout(set=0, binding=0) uniform Uniform {
|
||||
mat4 _ViewMatrix;
|
||||
mat4 _ProjMatrixInv;
|
||||
vec3 _CamPos;
|
||||
vec3 _SunDir;
|
||||
float _Time;
|
||||
};
|
||||
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];
|
||||
};
|
||||
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 EPSILON 0.00000001
|
||||
@@ -29,34 +25,12 @@ layout(set=3, binding=0) uniform Materials {
|
||||
#define BLOCK_TEX_SIZE 64
|
||||
#define BLOCK_SIZE 32
|
||||
|
||||
|
||||
// Include
|
||||
#include "structs.cginc"
|
||||
// Includes
|
||||
#include "util.cginc"
|
||||
#include "shading.cginc"
|
||||
#include "raycasting.cginc"
|
||||
|
||||
|
||||
float seed;
|
||||
float random(float s) {
|
||||
return fract(sin(seed++ + s)*43758.5453123);
|
||||
}
|
||||
|
||||
vec3 randomHemisphere(vec3 dir)
|
||||
{
|
||||
vec3 uu = normalize(cross(dir, vec3(0.0,1.0,1.0)));
|
||||
vec3 vv = cross(uu, dir);
|
||||
|
||||
vec2 rv2 = vec2(random(1), random(2));
|
||||
|
||||
float ra = sqrt(rv2.y);
|
||||
float rx = ra*cos(6.2831*rv2.x);
|
||||
float ry = ra*sin(6.2831*rv2.x);
|
||||
float rz = sqrt(1.0-rv2.y);
|
||||
vec3 rr = vec3(rx*uu + ry*vv + rz*dir );
|
||||
|
||||
return normalize(rr);
|
||||
}
|
||||
|
||||
vec3 solve()
|
||||
{
|
||||
// Calculate ray direction
|
||||
@@ -90,6 +64,6 @@ vec3 solve()
|
||||
|
||||
void main()
|
||||
{
|
||||
seed = 420 * _InUV.x + 1337 * _InUV.y + _Time * 1234;
|
||||
random_seed = 420 * _InUV.x + 1337 * _InUV.y + _Time * 1234;
|
||||
_OutColor = vec4(solve(), 1);
|
||||
}
|
||||
@@ -1,4 +1,9 @@
|
||||
|
||||
struct Material {
|
||||
vec3 albedo;
|
||||
float specular;
|
||||
};
|
||||
|
||||
struct Ray {
|
||||
vec3 origin;
|
||||
vec3 dir;
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
|
||||
float random_seed;
|
||||
float random(float s) {
|
||||
return fract(sin(random_seed++ + s)*43758.5453123);
|
||||
}
|
||||
|
||||
vec3 randomHemisphere(vec3 dir)
|
||||
{
|
||||
vec3 uu = normalize(cross(dir, vec3(0.0,1.0,1.0)));
|
||||
vec3 vv = cross(uu, dir);
|
||||
|
||||
vec2 rv2 = vec2(random(1), random(2));
|
||||
|
||||
float ra = sqrt(rv2.y);
|
||||
float rx = ra*cos(6.2831*rv2.x);
|
||||
float ry = ra*sin(6.2831*rv2.x);
|
||||
float rz = sqrt(1.0-rv2.y);
|
||||
vec3 rr = vec3(rx*uu + ry*vv + rz*dir );
|
||||
|
||||
return normalize(rr);
|
||||
}
|
||||
Reference in New Issue
Block a user