├── .clang-format ├── .gitignore ├── .gitmodules ├── CMakeLists.txt ├── LICENSE ├── deps └── glad │ ├── include │ ├── KHR │ │ └── khrplatform.h │ └── glad │ │ └── glad.h │ └── src │ └── glad.c ├── docs ├── README.md └── opticus.png ├── include ├── Camera.hpp ├── Cubemap.hpp ├── Framebuffer.hpp ├── Image.hpp ├── Program.hpp ├── ScreenMesh.hpp ├── Shader.hpp └── shader_list.h ├── shaders ├── accum.glsl ├── core │ ├── limits.glsl │ ├── material.glsl │ ├── random.glsl │ ├── ray.glsl │ ├── scene.glsl │ ├── shape.glsl │ └── utility.glsl ├── frag.glsl ├── materials │ ├── dielectric.glsl │ ├── lambertian.glsl │ └── metal.glsl ├── shapes │ ├── aabb.glsl │ └── sphere.glsl └── vert.glsl ├── src ├── Camera.cpp ├── Cubemap.cpp ├── Program.cpp ├── ScreenMesh.cpp ├── Shader.cpp ├── main.cpp └── stb.c └── textures └── skybox ├── back.jpg ├── bottom.jpg ├── front.jpg ├── left.jpg ├── right.jpg └── top.jpg /.clang-format: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/.clang-format -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/.gitmodules -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/LICENSE -------------------------------------------------------------------------------- /deps/glad/include/KHR/khrplatform.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/deps/glad/include/KHR/khrplatform.h -------------------------------------------------------------------------------- /deps/glad/include/glad/glad.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/deps/glad/include/glad/glad.h -------------------------------------------------------------------------------- /deps/glad/src/glad.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/deps/glad/src/glad.c -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/docs/README.md -------------------------------------------------------------------------------- /docs/opticus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/docs/opticus.png -------------------------------------------------------------------------------- /include/Camera.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/include/Camera.hpp -------------------------------------------------------------------------------- /include/Cubemap.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/include/Cubemap.hpp -------------------------------------------------------------------------------- /include/Framebuffer.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/include/Framebuffer.hpp -------------------------------------------------------------------------------- /include/Image.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/include/Image.hpp -------------------------------------------------------------------------------- /include/Program.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/include/Program.hpp -------------------------------------------------------------------------------- /include/ScreenMesh.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/include/ScreenMesh.hpp -------------------------------------------------------------------------------- /include/Shader.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/include/Shader.hpp -------------------------------------------------------------------------------- /include/shader_list.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/include/shader_list.h -------------------------------------------------------------------------------- /shaders/accum.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/shaders/accum.glsl -------------------------------------------------------------------------------- /shaders/core/limits.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/shaders/core/limits.glsl -------------------------------------------------------------------------------- /shaders/core/material.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/shaders/core/material.glsl -------------------------------------------------------------------------------- /shaders/core/random.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/shaders/core/random.glsl -------------------------------------------------------------------------------- /shaders/core/ray.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/shaders/core/ray.glsl -------------------------------------------------------------------------------- /shaders/core/scene.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/shaders/core/scene.glsl -------------------------------------------------------------------------------- /shaders/core/shape.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/shaders/core/shape.glsl -------------------------------------------------------------------------------- /shaders/core/utility.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/shaders/core/utility.glsl -------------------------------------------------------------------------------- /shaders/frag.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/shaders/frag.glsl -------------------------------------------------------------------------------- /shaders/materials/dielectric.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/shaders/materials/dielectric.glsl -------------------------------------------------------------------------------- /shaders/materials/lambertian.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/shaders/materials/lambertian.glsl -------------------------------------------------------------------------------- /shaders/materials/metal.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/shaders/materials/metal.glsl -------------------------------------------------------------------------------- /shaders/shapes/aabb.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/shaders/shapes/aabb.glsl -------------------------------------------------------------------------------- /shaders/shapes/sphere.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/shaders/shapes/sphere.glsl -------------------------------------------------------------------------------- /shaders/vert.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/shaders/vert.glsl -------------------------------------------------------------------------------- /src/Camera.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/src/Camera.cpp -------------------------------------------------------------------------------- /src/Cubemap.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/src/Cubemap.cpp -------------------------------------------------------------------------------- /src/Program.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/src/Program.cpp -------------------------------------------------------------------------------- /src/ScreenMesh.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/src/ScreenMesh.cpp -------------------------------------------------------------------------------- /src/Shader.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/src/Shader.cpp -------------------------------------------------------------------------------- /src/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/src/main.cpp -------------------------------------------------------------------------------- /src/stb.c: -------------------------------------------------------------------------------- 1 | #define STB_IMAGE_IMPLEMENTATION 2 | #include -------------------------------------------------------------------------------- /textures/skybox/back.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/textures/skybox/back.jpg -------------------------------------------------------------------------------- /textures/skybox/bottom.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/textures/skybox/bottom.jpg -------------------------------------------------------------------------------- /textures/skybox/front.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/textures/skybox/front.jpg -------------------------------------------------------------------------------- /textures/skybox/left.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/textures/skybox/left.jpg -------------------------------------------------------------------------------- /textures/skybox/right.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/textures/skybox/right.jpg -------------------------------------------------------------------------------- /textures/skybox/top.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alanjian85/opticus/HEAD/textures/skybox/top.jpg --------------------------------------------------------------------------------