diff --git a/src/common.hpp b/src/common.hpp index fa28c34..2b46495 100644 --- a/src/common.hpp +++ b/src/common.hpp @@ -34,8 +34,8 @@ enum RenderMode { }; enum ToneMapMode { - MODE_TONEMAP_BASIC, - MODE_TONEMAP_CLAMP + MODE_TONEMAP_CLAMP, + MODE_TONEMAP_BASIC }; diff --git a/src/engine/progressiverenderer.cpp b/src/engine/progressiverenderer.cpp index a584a11..85992bf 100644 --- a/src/engine/progressiverenderer.cpp +++ b/src/engine/progressiverenderer.cpp @@ -41,13 +41,13 @@ void ProgressiveRenderer::Input() { const Uint8* state = SDL_GetKeyboardState(NULL); - //if (state[SDL_SCANCODE_W]) m_scene->objects[1]->center.y += 0.001f; - //if (state[SDL_SCANCODE_S]) m_scene->objects[1]->center.y -= 0.001f; - //if (state[SDL_SCANCODE_D]) m_scene->objects[1]->center.x += 0.001f; - //if (state[SDL_SCANCODE_A]) m_scene->objects[1]->center.x -= 0.001f; - //if (state[SDL_SCANCODE_R]) m_scene->objects[1]->center.z += 0.001f; - //if (state[SDL_SCANCODE_F]) m_scene->objects[1]->center.z -= 0.001f; - //std::cout << m_scene->objects[1]->center.x << " " << m_scene->objects[1]->center.y << " " << m_scene->objects[1]->center.z << std::endl; + // if (state[SDL_SCANCODE_W]) m_scene->objects[0]->center.y += 0.001f; + // if (state[SDL_SCANCODE_S]) m_scene->objects[0]->center.y -= 0.001f; + // if (state[SDL_SCANCODE_D]) m_scene->objects[0]->center.x += 0.001f; + // if (state[SDL_SCANCODE_A]) m_scene->objects[0]->center.x -= 0.001f; + // if (state[SDL_SCANCODE_R]) m_scene->objects[0]->center.z += 0.001f; + // if (state[SDL_SCANCODE_F]) m_scene->objects[0]->center.z -= 0.001f; + // std::cout << m_scene->objects[0]->center.x << " " << m_scene->objects[0]->center.y << " " << m_scene->objects[0]->center.z << std::endl; if (!m_interface->ImGui) return; @@ -82,7 +82,7 @@ void ProgressiveRenderer::Input() { const char* toneMapItems[] = { "Clamp", "Basic Tonemap" }; ImGui::Combo("ToneMap Mode", &m_toneMapModeSelected, toneMapItems, IM_ARRAYSIZE(toneMapItems)); - ImGui::SliderFloat("Gamma", &m_gamma, 1.0f, 3.0f); + ImGui::SliderFloat("Gamma", &m_gamma, 1.0f, 4.0f); m_interface->Framebuffer->Gamma = 1.0f / m_gamma; if (ImGui::Button("Save Image")) { diff --git a/src/engine/renderengine.cpp b/src/engine/renderengine.cpp index a416cab..71b2e9a 100644 --- a/src/engine/renderengine.cpp +++ b/src/engine/renderengine.cpp @@ -81,7 +81,7 @@ glm::vec3 RenderEngine::GetColour(Ray ray, int& depth) { glm::vec3 hitPoint = ray.origin + ray.direction * t; glm::vec3 normal = hit->SurfaceNormal(hitPoint); if (Mode == MODE_RENDER_NORMALS) { return GetNormalColour(normal); } - if (Mode == MODE_RENDER_PATH_LENGTH) { if (t > 1000.0f) t = 1000.0f; return { (float)t, (float)t, (float)t }; } + if (Mode == MODE_RENDER_PATH_LENGTH) { if (t > 255.0f) t = 255.0f; return { (float)t, (float)t, (float)t }; } glm::vec3 colour = hit->material->Colour; //if (hit->type == TYPE_PLANE) { diff --git a/test/main.cpp b/test/main.cpp index 9b80d07..256cae8 100644 --- a/test/main.cpp +++ b/test/main.cpp @@ -19,28 +19,18 @@ int main(int argc, char** argv) { Scene* scene = new Scene(width, height); scene->camera = new Camera(width, height); - scene->objects.push_back(new Sphere({ 0.0f, 0.0f, -4.0f }, 1.0f, new Material({ 1.0f, 1.0f, 1.0f }, 0.0f))); scene->objects.push_back(new Sphere({ 35.0f, 26.0f, 25.0f }, 15.0f, new Material({ 1.0f, 1.0f, 1.0f }, 0.0f, 5.0f))); + scene->objects.push_back(new Sphere({-0.457001f, 0.19f, -3.53899f}, 0.02f, new Material({ 1.0f, 0.9f, 0.8f }, 0.0f, 500.0f))); scene->objects.push_back(new Plane( { 0.0f, -1.0f, 0.0f }, { 0.0f, -1.0f, 0.0f }, new Material({ 0.847f, 0.792f, 0.658f }, 0.2f))); // std::vector tris = LoadTrianglesBasic("E://Projects//Inferno//resources//dragon-normals.obj", "E://Projects//Inferno//resources"); - // std::vector tris = LoadTrianglesBasic("//home//ben//programming//inferno//resources//dragon-normals.obj", "//home//ben//programming//inferno//resources//resources"); + std::vector tris = LoadTrianglesBasic("//home//ben//programming//inferno//resources//dragon-normals.obj", "//home//ben//programming//inferno//resources//resources"); - //std::vector tris = LoadTrianglesBasic("E://Projects//Inferno//resources//lucy-normals-larger.obj", "E://Projects//Inferno//resources"); - //std::vector tris = LoadTrianglesBasic("//home//ben//programming//inferno//resources//lucy-normals.obj", "//home//ben//programming//inferno//resources//resources"); + Mesh* mesh1 = new Mesh(tris); + mesh1->Translate({ 0.2f, -1.04, -3.8f }); + mesh1->Optimise(); + scene->meshs.push_back(mesh1); - //Mesh* mesh = new Mesh(tris); - //mesh->Translate({ 0.0f, -1.01f, -3.0f }); - //mesh->Optimise(); - //scene->meshs.push_back(mesh); - - //std::vector tris = LoadTrianglesBasic("E://Projects//Inferno//resources//box.obj", "E://Projects//Inferno//resources"); - //std::vector tris = LoadTrianglesBasic("//home//ben//programming//inferno//resources//cornell.obj", "//home//ben//programming//inferno//resources//resources"); - - // Mesh* mesh1 = new Mesh(tris); - // mesh1->Translate({ 0.2f, -1.04, -3.8f }); - // mesh1->Optimise(); - // scene->meshs.push_back(mesh1); inferno.SetScene(scene);