libgarbage: fix depth AGAIN
This commit is contained in:
parent
5cb5dcd785
commit
bf23886a73
1 changed files with 7 additions and 3 deletions
|
@ -108,6 +108,7 @@ struct Material {
|
|||
float3 col;
|
||||
float gloss;
|
||||
};
|
||||
|
||||
#define DEFAULT_MAT {float3(1, 1, 1), 0}
|
||||
Material mat(float3 col = float3(1, 1,1 ), float gloss = 0) {
|
||||
Material m;
|
||||
|
@ -115,6 +116,9 @@ Material mat(float3 col = float3(1, 1,1 ), float gloss = 0) {
|
|||
m.gloss = gloss;
|
||||
return m;
|
||||
}
|
||||
Material mat(float r, float g, float b) {
|
||||
return mat(float3(r, g, b));
|
||||
}
|
||||
|
||||
struct SurfacePoint {
|
||||
float dist;
|
||||
|
@ -191,7 +195,7 @@ FragOut frag (V2F i) {
|
|||
}
|
||||
prev_gloss = ray.mat.gloss;
|
||||
ray_dir = reflect(ray_dir, ray.normal);
|
||||
ray_origin = ray.hit_pos + ray_dir * 0.01;
|
||||
ray_origin = ray.hit_pos + ray_dir * SURF_DIST * 2;
|
||||
}
|
||||
|
||||
#ifdef DISCARD_ON_MISS
|
||||
|
@ -199,7 +203,7 @@ FragOut frag (V2F i) {
|
|||
#endif
|
||||
|
||||
FragOut o;
|
||||
o.col = col;
|
||||
o.col = clamp(col, 0, 1);
|
||||
|
||||
#ifndef DISABLE_DEPTH
|
||||
float3 depth_point = first_hit * SCENE_SCALE;
|
||||
|
@ -207,7 +211,7 @@ FragOut frag (V2F i) {
|
|||
depth_point = i.hit_pos;
|
||||
|
||||
#ifdef LIMIT_DEPTH_TO_MESH
|
||||
if (length(ray.start - first_hit) > length(i.cam_pos - i.hit_pos))
|
||||
if (length(i.cam_pos - first_hit) > length(i.cam_pos - i.hit_pos))
|
||||
depth_point = i.hit_pos;
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in a new issue