SPECULARRR

This commit is contained in:
Ben Kyd
2019-09-06 17:15:08 +01:00
parent 801629796c
commit d48265a31c
4 changed files with 22 additions and 12 deletions

View File

@@ -13,7 +13,8 @@ public:
FrameBuffer(int xres, int yres);
void SetPixel(int x, int y, glm::vec3 p);
void SetPixelSafe(int x, int y, glm::vec3);
void SetPixelSafe(int x, int y, glm::vec3 p);
void DumpToFile(std::string path);
void SetFramebuffer(uint32_t* fb);

View File

@@ -66,9 +66,10 @@ std::vector<Triangle*> LoadTrianglesBasic(std::string path, std::string basePath
anz[v] = attrib.normals[3 * idx.normal_index + 2];
}
tinyobj::material_t material = materials[shapes[s].mesh.material_ids[f]];
// tinyobj::material_t material = materials[shapes[s].mesh.material_ids[f]];
Material* mat = new Material({ material.diffuse[0], material.diffuse[1], material.diffuse[2] }, 0.0f, material.illum);
// Material* mat = new Material({ material.diffuse[0], material.diffuse[1], material.diffuse[2] }, 0.6f, material.illum);
Material* mat = new Material({ 1.0f, 1.0f, 1.0f }, 0.4f);
// glm::vec3 normal = getNormal(
// {avx[0], avy[0], avz[0]},

View File

@@ -43,8 +43,13 @@
#include <imgui/imgui_impl_sdl.h>
// SDL
#if _WIN32
#include <SDL.h>
#include <SDL_syswm.h>
#else
#include <SDL2/SDL.h>
#include <SDL2/SDL_syswm.h>
#endif
#if defined(__APPLE__)
#include "TargetConditionals.h"
#endif

View File

@@ -2,8 +2,8 @@
#include "../src/inferno.hpp"
static const int width = 1000;
static const int height = 1000;
static const int width = 700;
static const int height = 700;
int main(int argc, char** argv) {
InfernoEngine inferno;
@@ -18,17 +18,20 @@ 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.6f, 0.0f, -3.5f }, 0.5f, new Material({ 0.5f, 1.0f, 0.5f }, 0.4f)));
//scene->objects.push_back(new Sphere({ 0.0f, 0.0f, -8.0f }, 1.0f, new Material({ 1.0f, 1.0f, 1.0f }, 0.7f)));
//scene->objects.push_back(new Sphere({ 2.0f, 0.0f, -6.0f }, 1.0f, new Material({ 1.0f, 1.0f, 1.0f }, 0.0f)));
//scene->objects.push_back(new Sphere({ -2.0f, 0.0f, -9.0f }, 1.0f, new Material({ 1.0f, 1.0f, 1.0f }, 0.0f)));
//scene->objects.push_back(new Plane( { 0.0f, -1.0f, 0.0f }, { 0.0f, -1.0f, 0.0f }, new Material({ 1.0f, 1.0f, 0.0f }, .3f)));
// scene->objects.push_back(new Sphere({ 0.0f, 0.0f, -8.0f }, 1.0f, new Material({ 1.0f, 1.0f, 1.0f }, 0.7f)));
// scene->objects.push_back(new Sphere({ 2.0f, 0.0f, -6.0f }, 1.0f, new Material({ 1.0f, 1.0f, 1.0f }, 0.0f)));
// scene->objects.push_back(new Sphere({ -2.0f, 0.0f, -9.0f }, 1.0f, new Material({ 1.0f, 1.0f, 1.0f }, 0.0f)));
scene->objects.push_back(new Sphere({ 5.0f, 6.0f, 9.0f }, 5.0f, new Material({ 1.0f, 1.0f, 1.0f }, 0.0f, 5.0f)));
scene->objects.push_back(new Plane( { 0.0f,-1.0f, 0.0f }, { 0.0f, -1.0f, 0.0f }, new Material({ 1.0f, 0.9f, 0.9f }, 0.1f)));
// scene->objects.push_back(new Plane( { 0.0f, 10.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, new Material({ 1.0f, 0.9f, 0.9f }, 0.0f, 1.0f)));
//std::vector<Triangle*> tris = LoadTrianglesBasic("E://Projects//Inferno//resources//dragon-normals.obj", "E://Projects//Inferno//resources");
//for (const auto& object : tris)
// std::vector<Triangle*> tris = LoadTrianglesBasic("//home//ben//programming//inferno//resources//dragon-normals.obj", "//home//ben//programming//inferno//resources//resources");
// for (const auto& object : tris)
// object->Translate({ 0.0f, -5.0f, -20.0f });
//std::vector<Triangle*> tris = LoadTrianglesBasic("E://Projects//Inferno//resources//lucy-normals.obj", "E://Projects//Inferno//resources");
std::vector<Triangle*> tris = LoadTrianglesBasic("//home//ben//programming//inferno//resources//lucy-normals.obj", "//home//ben//programming//inferno//resources//resources");
//Mesh* mesh = new Mesh(tris);
//mesh->Translate({ 0.0f, -1.01f, -3.0f });
@@ -36,7 +39,7 @@ int main(int argc, char** argv) {
//scene->meshs.push_back(mesh);
//std::vector<Triangle*> tris = LoadTrianglesBasic("E://Projects//Inferno//resources//cornell-box.obj", "E://Projects//Inferno//resources");
std::vector<Triangle*> tris = LoadTrianglesBasic("E://Projects//Inferno//resources//cornell.obj", "E://Projects//Inferno//resources");
// std::vector<Triangle*> tris = LoadTrianglesBasic("//home//ben//programming//inferno//resources//cornell.obj", "//home//ben//programming//inferno//resources//resources");
Mesh* mesh1 = new Mesh(tris);
mesh1->Translate({ 0.0f, -1.0f, -3.0f });