* | Saving for changement

This commit is contained in:
TheRedShip
2025-01-06 10:17:22 +01:00
parent 93e9e45224
commit dcda41b186
2 changed files with 20 additions and 19 deletions

View File

@ -49,6 +49,7 @@ struct hitInfo
#include "shaders/random.glsl"
#include "shaders/intersect.glsl"
#include "shaders/scatter.glsl"
hitInfo traceRay(Ray ray)
{
@ -73,24 +74,6 @@ hitInfo traceRay(Ray ray)
return (hit);
}
Ray newRay(hitInfo hit, Ray ray, inout uint rng_state)
{
GPUObject obj;
Ray new_ray;
obj = objects[hit.obj_index];
vec3 diffuse_dir = normalize(hit.normal + randomDirection(rng_state));
vec3 specular_dir = reflect(ray.direction, hit.normal);
bool is_specular = (obj.metallic >= randomValue(rng_state));
new_ray.origin = hit.position + hit.normal * 0.001;
new_ray.direction = mix(diffuse_dir, specular_dir, obj.roughness * float(is_specular));
return (new_ray);
}
vec3 pathtrace(Ray ray, inout uint rng_state)
{
vec3 color = vec3(1.0);
@ -98,7 +81,7 @@ vec3 pathtrace(Ray ray, inout uint rng_state)
float closest_t = 1e30;
for (int i = 0; i < 10; i++)
for (int i = 0; i < 5; i++)
{
hitInfo hit = traceRay(ray);
if (hit.obj_index == -1)