Disable light bounces for now, after some internal discussion pertaining to future improvements

This commit is contained in:
nashmuhandes 2022-06-15 14:42:02 +08:00
parent 27a8ef3855
commit 5bb277ff31
3 changed files with 10 additions and 6 deletions

View file

@ -88,7 +88,7 @@ void FLevel::SetupLights()
defaultSunColor = vec3(1, 1, 1); defaultSunColor = vec3(1, 1, 1);
defaultSunDirection = vec3(0.45f, 0.3f, 0.9f); defaultSunDirection = vec3(0.45f, 0.3f, 0.9f);
Samples = 8; Samples = 8;
LightBounce = 1; LightBounce = 0;
GridSize = 32.0f; GridSize = 32.0f;
for (int i = 0; i < (int)Things.Size(); ++i) for (int i = 0; i < (int)Things.Size(); ++i)
@ -132,10 +132,12 @@ void FLevel::SetupLights()
if (Samples > 128) Samples = 128; if (Samples > 128) Samples = 128;
Samples = Math::RoundPowerOfTwo(Samples); Samples = Math::RoundPowerOfTwo(Samples);
// number of light bounces /*
// number of light bounces (temporarily disabled)
LightBounce = thing->args[2]; LightBounce = thing->args[2];
if (LightBounce < 0) LightBounce = 0; if (LightBounce < 0) LightBounce = 0;
if (LightBounce > 8) LightBounce = 8; if (LightBounce > 8) LightBounce = 8;
*/
// auto probe grid size // auto probe grid size
GridSize = thing->args[3] ? thing->args[3] : 64.0f; GridSize = thing->args[3] ? thing->args[3] : 64.0f;

View file

@ -60,11 +60,12 @@ void CPURaytracer::Raytrace(LevelMesh* level)
CreateHemisphereVectors(); CreateHemisphereVectors();
CreateLights(); CreateLights();
printf("Ray tracing with %d bounce(s)\n", mesh->map->LightBounce); //printf("Ray tracing with %d bounce(s)\n", mesh->map->LightBounce);
printf("Ray tracing in progress...\n");
RunJob((int)tasks.size(), [=](int id) { RaytraceTask(tasks[id]); }); RunJob((int)tasks.size(), [=](int id) { RaytraceTask(tasks[id]); });
printf("\nRaytrace complete\n"); printf("\nRay tracing complete\n");
} }
void CPURaytracer::RaytraceTask(const CPUTraceTask& task) void CPURaytracer::RaytraceTask(const CPUTraceTask& task)

View file

@ -90,7 +90,8 @@ void GPURaytracer::Raytrace(LevelMesh* level)
HemisphereVectors.push_back(H); HemisphereVectors.push_back(H);
} }
printf("Ray tracing with %d bounce(s)\n", mesh->map->LightBounce); //printf("Ray tracing with %d bounce(s)\n", mesh->map->LightBounce);
printf("Ray tracing in progress...\n");
RunWithProgressDots([&]() { RunWithProgressDots([&]() {
size_t maxTasks = (size_t)rayTraceImageSize * rayTraceImageSize; size_t maxTasks = (size_t)rayTraceImageSize * rayTraceImageSize;