jamornsriwasansak / evplp

Licence: other
Implementation of Efficient Energy-Compensated VPLs using Photon Splatting (and various rendering techniques)

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
Cuda
1817 projects
GLSL
2045 projects

Projects that are alternatives of or similar to evplp

LuisaRender
High-Performance Multiple-Backend Renderer Based on LuisaCompute
Stars: ✭ 47 (+80.77%)
Mutual labels:  rendering, optix, path-tracing
Nabla
OpenGL/OpenGL ES/Vulkan/CUDA/OptiX Modular Rendering Framework for PC/Linux/Android
Stars: ✭ 235 (+803.85%)
Mutual labels:  rendering, optix, path-tracing
photon mapping
minimal but extensible header only implementation of photon mapping in C++
Stars: ✭ 65 (+150%)
Mutual labels:  rendering, photon-mapping
fresnel
Publication quality path tracing in real time.
Stars: ✭ 80 (+207.69%)
Mutual labels:  optix, path-tracing
fluctus
An interactive OpenCL wavefront path tracer
Stars: ✭ 55 (+111.54%)
Mutual labels:  rendering, path-tracing
smallpt
☀️ The Rosetta smallpt (small path tracing) project
Stars: ✭ 68 (+161.54%)
Mutual labels:  rendering, path-tracing
rendering-fw
Rendering framework with rasterizers & path tracers implemented using Vulkan, OptiX & OpenGL
Stars: ✭ 81 (+211.54%)
Mutual labels:  optix, path-tracing
ign-rendering
C++ library designed to provide an abstraction for different rendering engines. It offers unified APIs for creating 3D graphics applications.
Stars: ✭ 34 (+30.77%)
Mutual labels:  rendering, optix
bisml
Implementation of the paper: Adaptive BRDF-Oriented Multiple Importance Sampling of Many Lights
Stars: ✭ 26 (+0%)
Mutual labels:  rendering, path-tracing
mcrt
Monte Carlo Raytracer from Scratch in C++11/14
Stars: ✭ 22 (-15.38%)
Mutual labels:  rendering, photon-mapping
GoldenSun
A path tracer based on hardware ray tracing
Stars: ✭ 20 (-23.08%)
Mutual labels:  rendering, path-tracing
tech-seo-crawler
Build a small, 3 domain internet using Github pages and Wikipedia and construct a crawler to crawl, render, and index.
Stars: ✭ 57 (+119.23%)
Mutual labels:  rendering
Messier87
A realtime raytracing blackhole renderer
Stars: ✭ 53 (+103.85%)
Mutual labels:  rendering
ray-tracer
A simple ray tracing engine
Stars: ✭ 27 (+3.85%)
Mutual labels:  path-tracing
delphi3d-engine
A 3D-graphic and game engine for Delphi and Windows.
Stars: ✭ 52 (+100%)
Mutual labels:  rendering
Kuplung
OpenGL Model Viewer
Stars: ✭ 15 (-42.31%)
Mutual labels:  rendering
Signed
Signed is a 3D modeling and construction language based on Lua and SDFs. Signed will be available for macOS and iOS and is heavily optimized for Metal.
Stars: ✭ 90 (+246.15%)
Mutual labels:  path-tracing
Squirrel-Engine
Multithreaded C/C++ Game Engine
Stars: ✭ 90 (+246.15%)
Mutual labels:  rendering
yii2-render-many
Trait for Yii Framework 2
Stars: ✭ 14 (-46.15%)
Mutual labels:  rendering
pmj-cpp
"Progressive Multi-Jittered Sample Sequences" in C++
Stars: ✭ 34 (+30.77%)
Mutual labels:  rendering

Efficient Energy-Compensated VPLs using Photon Splatting

Jamorn Sriwasansak1, Adrien Gruson1,2, Toshiya Hachisuka1

1The University of Tokyo 2JFLI, CNRS, UMI 3527

Overview

This project contains the source code for the paper "Efficient Energy-Compensated VPLs using Photon Splatting". Along with our technique, we also implemented

  1. Path-Tracing with MIS next-event estimation
  2. Instant Radiosity using Virtual Point Light [1]
  3. Instant Radiosity using Virtual Spherical Light [2]
  4. Image Space Photon Splatting (based on splatting technique in the paper "Hardware-accelerated global illumination by image space photon mapping" [3])

and their progressive variants

  1. Progressive VPL [4]
  2. Progressive VSL [5]
  3. Progressive Photon Mapping [6]

Requirements

  1. Microsoft Visual Studio 2015
  2. CUDA version 8
  3. Optix SDK version 4.1.1
  4. OpenGL version >= 4.5
  5. Assimp version 3.3.0
  6. GLEW
  7. GLFW
  8. GLM
  9. nlohmann's json
  10. STB

(We had already included the libraries listed in 5 - 10 in the folder "dependencies".)

Acknowledgement

Along with the source code we also include 3 scenes (the conference, the living room, and the buddha) that were used in the paper for analysis.

We thus would like to acknowledge Anat Grynberg and Greg Ward (the conference room), Stanford Computer Graphics Laboratory (happy buddha), blendswap.com artists "cenobi"(the living room).

License

Please see LICENSE file for more information.

Reference

[1] Alexander Keller. 1997. Instant radiosity. In Proceedings of the 24th annual conference on Computer graphics and interactive techniques. ACM Press/Addison-Wesley Publishing Co., 49–56.

[2] Miloš Hašan, Jaroslav Křivánek, Bruce Walter, and Kavita Bala. 2009. Virtual spherical lights for many-light rendering of glossy scenes. In ACM Transactions on Graphics (TOG), Vol. 28. ACM, 143.

[3] Morgan McGuire and David Luebke. 2009. Hardware-accelerated global illumination by image space photon mapping. In Proceedings of the Conference on High Performance Graphics 2009. ACM, 77–89.

[4] Tomáš Davidovič, Iliyan Georgiev, and Philipp Slusallek. 2012. Progressive lightcuts for GPU. In ACM SIGGRAPH 2012 Talks. ACM, 1.

[5] Jan Novák, Derek Nowrouzezahrai, Carsten Dachsbacher, and Wojciech Jarosz. 2012a. Progressive virtual beam lights. In Computer Graphics Forum, Vol. 31. Wiley Online Library, 1407–1413.

[6] Claude Knaus and Matthias Zwicker. 2011. Progressive photon mapping: A probabilistic approach. ACM Transactions on Graphics (TOG) 30, 3 (2011), 25.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].