All Projects → lyfxyz → bisml

lyfxyz / bisml

Licence: other
Implementation of the paper: Adaptive BRDF-Oriented Multiple Importance Sampling of Many Lights

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
shell
77523 projects
python
139335 projects - #7 most used programming language
Makefile
30231 projects
M4
1887 projects

Projects that are alternatives of or similar to bisml

Nabla
OpenGL/OpenGL ES/Vulkan/CUDA/OptiX Modular Rendering Framework for PC/Linux/Android
Stars: ✭ 235 (+803.85%)
Mutual labels:  rendering, path-tracing
fluctus
An interactive OpenCL wavefront path tracer
Stars: ✭ 55 (+111.54%)
Mutual labels:  rendering, path-tracing
LuisaRender
High-Performance Multiple-Backend Renderer Based on LuisaCompute
Stars: ✭ 47 (+80.77%)
Mutual labels:  rendering, path-tracing
GoldenSun
A path tracer based on hardware ray tracing
Stars: ✭ 20 (-23.08%)
Mutual labels:  rendering, path-tracing
smallpt
☀️ The Rosetta smallpt (small path tracing) project
Stars: ✭ 68 (+161.54%)
Mutual labels:  rendering, path-tracing
evplp
Implementation of Efficient Energy-Compensated VPLs using Photon Splatting (and various rendering techniques)
Stars: ✭ 26 (+0%)
Mutual labels:  rendering, path-tracing
rend3
Easy to use, customizable, efficient 3D renderer library built on wgpu.
Stars: ✭ 546 (+2000%)
Mutual labels:  rendering
Grass.DirectX
Realistic Grass Rendering using DirectX 11 and a geometry-shader based approach.
Stars: ✭ 56 (+115.38%)
Mutual labels:  rendering
Crystal-Caustics
💎 Approximated crystal caustics effect in Unity.
Stars: ✭ 60 (+130.77%)
Mutual labels:  rendering
Iyan3d
Iyan 3D Professional Edition - 3D animation app for iOS
Stars: ✭ 27 (+3.85%)
Mutual labels:  rendering
pathtracer-webgl2
Path tracing render engine for the web. Both ray tracing for conventional 3d models and ray marching for fractals implemented. Built with WebGL 2 and Angular 2.
Stars: ✭ 45 (+73.08%)
Mutual labels:  rendering
DuBLF DuBlast
Quick Playblast tool for Blender
Stars: ✭ 18 (-30.77%)
Mutual labels:  rendering
THREE.Highres
High resolution and depth rendering to PNG for Three.js
Stars: ✭ 28 (+7.69%)
Mutual labels:  rendering
font8x8-rs
8x8 monochrome bitmap fonts for rendering. Implemented in Rust.
Stars: ✭ 15 (-42.31%)
Mutual labels:  rendering
droplet-render
Volumetric cloud modeling and rendering for Blender.
Stars: ✭ 29 (+11.54%)
Mutual labels:  path-tracing
RenderingX12
Partially open source: real-time scene rendering using XUSG based on DirectX 12. 纯粹秀秀demo……ただ、デモを見せるため……
Stars: ✭ 16 (-38.46%)
Mutual labels:  rendering
blender-renderborder
pixel-precise render border
Stars: ✭ 26 (+0%)
Mutual labels:  rendering
ldview
Real-time 3D viewer for displaying LDraw models
Stars: ✭ 65 (+150%)
Mutual labels:  rendering
DeepShadowMap
Real-Time Deep Shadow Maps for Unity3D
Stars: ✭ 36 (+38.46%)
Mutual labels:  rendering
aisa
AISA is a Software 3D Engine written in TypeScript.
Stars: ✭ 24 (-7.69%)
Mutual labels:  rendering

Adaptive BRDF-Oriented Multiple Importance Sampling of Many Lights

Overview

This project contains the source code for the EGSR 2019 paper:

Adaptive BRDF-Oriented Multiple Importance Sampling of Many Lights, by

Yifan Liu, Kun Xu and Ling-Qi Yan.

The implementation is based on pbrt-v3 and we mainly modified/added:

  • src/integrators/path.h(cpp): integrator of path tracing
  • src/acceleratiors/lightree.h(cpp): light tree
  • src/accelerators/lighttreesampler.h(cpp): direct illumination sampling techniques, core idea of our paper
  • src/materials/ltc.h(cpp): evaluation of brdf integral

Usage:

Usage should be relatively clear for developers familiar with PBRT.

$ git clone https://github.com/lyfxyz/blsml/
$ cd blsml
$ mkdir build
$ cd build
$ make ..

Please refer to pbrt-v3 for more details on building.

Test Scene

In scene/ folder, we contain an example scene: Cornell Box with thousands of small lights, which is used in our paper. To render this scene, just:

$ ./pbrt PATH2SCENE/cornell-box/scene.pbrt
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].