All Projects → marunemitsu → RTRT-Trans-Caustics

marunemitsu / RTRT-Trans-Caustics

Licence: other
A reference implementation of ”Rendering transparent objects with caustics using real-time ray tracing“ using Unreal Engine 4.25.1.

Programming Languages

C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to RTRT-Trans-Caustics

Unreal-Development-Guides-and-Tips
High-level concept explanations, detailed tutorials, performance considerations, shortcuts and other useful content that aims to improve your Unreal Engine 4 development journey.
Stars: ✭ 118 (+883.33%)
Mutual labels:  unreal-engine, raytracing, rtx
Lift
Vulkan Path Tracer with Optix Denoiser integration
Stars: ✭ 30 (+150%)
Mutual labels:  raytracing, rtx
Vanilla-Raytraced
Official repository of Vanilla Raytraced resources pack.
Stars: ✭ 25 (+108.33%)
Mutual labels:  raytracing, rtx
awesome-rtx
Curated collection of projects leveraging NVIDIA RTX technology (OptiX, DXR, VKR)
Stars: ✭ 73 (+508.33%)
Mutual labels:  raytracing, rtx
dxr-path-tracing
A DXR path tracer with OptiX denoising. 5 months worth of research, trial & error as part of a project to learn and understand DirectX Raytracing & raytracing concepts.
Stars: ✭ 92 (+666.67%)
Mutual labels:  raytracing, rtx
Nabla
OpenGL/OpenGL ES/Vulkan/CUDA/OptiX Modular Rendering Framework for PC/Linux/Android
Stars: ✭ 235 (+1858.33%)
Mutual labels:  raytracing, rtx
LayeredSceneDecomposition
No description or website provided.
Stars: ✭ 22 (+83.33%)
Mutual labels:  paper
influence boosting
Supporting code for the paper "Finding Influential Training Samples for Gradient Boosted Decision Trees"
Stars: ✭ 57 (+375%)
Mutual labels:  paper
DxrLattice
Real-time raytracing fly through
Stars: ✭ 80 (+566.67%)
Mutual labels:  raytracing
AdversarialAudioSeparation
Code accompanying the paper "Semi-supervised adversarial audio source separation applied to singing voice extraction"
Stars: ✭ 70 (+483.33%)
Mutual labels:  paper
Paper Note
📚 记录一些自己读过的论文与笔记
Stars: ✭ 22 (+83.33%)
Mutual labels:  paper
RTX-2080Ti-Vs-GTX-1080Ti-CIFAR-100-Benchmarks
No description or website provided.
Stars: ✭ 16 (+33.33%)
Mutual labels:  rtx
cool-papers-in-pytorch
Reimplementing cool papers in PyTorch...
Stars: ✭ 21 (+75%)
Mutual labels:  paper
paper-survey
Summary of machine learning papers
Stars: ✭ 26 (+116.67%)
Mutual labels:  paper
neural network papers
记录一些读过的论文,给出个人对论文的评分情况并简述论文insight
Stars: ✭ 152 (+1166.67%)
Mutual labels:  paper
msla2014
wherein I implement several substructural logics in Agda
Stars: ✭ 24 (+100%)
Mutual labels:  paper
gamedevguide
Game Development & Unreal Engine Programming Guide
Stars: ✭ 314 (+2516.67%)
Mutual labels:  unreal-engine
BioExplorer
The Blue Brain BioExplorer (BBBE) is a tool for scientists to extract and analyze scientific data from visualization and interactive exploration
Stars: ✭ 18 (+50%)
Mutual labels:  raytracing
CrashBandicoot-Timetwister
Crash Bandicoot: Timetwister is a remaked version of Crash Bandicoot 3: Warped's Tomb Wader level on Unreal Engine 4.26
Stars: ✭ 26 (+116.67%)
Mutual labels:  unreal-engine
midi degradation toolkit
A toolkit for generating datasets of midi files which have been degraded to be 'un-musical'.
Stars: ✭ 29 (+141.67%)
Mutual labels:  paper

RTRT-Trans&Caustics

Chinese Version Teaser

This is a reference implementation of Rendering transparent objects with caustics using real-time ray tracing[1] using Unreal Engine 4.25.1. It approximates several transparency features, including reflections/refractions, volumetric absorption, rough transparency, and refractive caustics. The results are relatively noise free and a step up over the prior raster hacks in that the model plays together into a cohesive whole, rather than being individual effects. Should you be making use of our work, please cite our paper[1].

Paper GraphicalAbstract

Setup

The current implementation is based on UE4.25.1. To use this implementation, please download the source code of Unreal Engine 4.25.1 from https://github.com/EpicGames/UnrealEngine in advance.

After successfully completing the step above, drag all the files in Code into the root directory of the downloaded source code. You may be prompted to overwrite existing files when draging in the files. Please select Yes for all files.

To get up and run the Unreal Engine, please refer to the tutorial from EpicGames.

We list our hardware and software as follow:

Hardware/Software Version
CPU Intel® Core™ i9-10900K
Graphical Card Nvidia® RTX™ 2080 Ti
RAM 64GB
Visual Studio 2019 16.7.2
Windows 10 SDK 10.0.18362.0
Build Tools MSVC v142
Unreal Engine 4.25.1

Usage

Enable our work in UE4

Drag a Post Process Volume actor to the scene and switch the property Ray Tracing Translucency to Ray Tracing. For more details, please check this toturial from the Unreal Engine Documatation.

Setting

Material Parameters

The blending mode each transparent material must be Translucent and the shading model must be Default Lit. Furthermore, to enable the roughness, the lighting model must be Surface Forward Shading.

ShadingMode

We introduce three material parameters into our work, which are the absorption coefficient, roughness and the opacity. Additionally, the parameter Specular controls the Ior of the material. How these parameters affect the results can be found in the supplementary material to the paper.

Parameters

P.S. We provide a demo project with several sample scenes which have been configured.

Video Results

Video Results

License

The provided implementation is strictly for academic purposes only. Should you be interested in using our technology for any commercial use, please feel free to contact us.

Future Works

  • Move to a new shading mode and update the parameters of the root node of the material.
  • Extend LLT to handle stacked transparent objects, like Barré-Brisebois et al.'s work[2].
  • Applying TAA to denoise and improve the performance.
  • Design a denoiser that can supress the noise in rough transparncy, reflections, and refractive caustics.
  • Making the caustics can be seen through the transparent object, similar to Ouyang and Yang's work[3].

Acknowledgment

This work was supported by the National Natural Science Foundation of China [51627805]. The authors would like to thank the anonymous reviewers for both their helpful comments and suggestions. The authors also would like to thank Hyuk Kim for his help in implementing the SSPM[4]$. The authors wish to thank the starter content of UE4 for the materials and the project ArchViz Interior for the model of the apple and polyhedron. Other scene elements were purchased from https://aigei.com.

References

[1] @article{XWRZ2021,
    title = {Rendering transparent objects with caustics using real-time ray tracing},
    journal = {Computers & Graphics},
    volume = {96},
    pages = {36-47},
    year = {2021},
    doi = {10.1016/j.cag.2021.03.003},
    author = {Wang, Xin and Zhang, Risong}
    }
[2] @inbook{Barr2019,
	author={Barr{\'e}-Brisebois, Colin
	and Hal{\'e}n, Henrik
	and Wihlidal, Graham
	and Lauritzen, Andrew
	and Bekkers, Jasper
	and Stachowiak, Tomasz
	and Andersson, Johan},
	title={Hybrid Rendering for Real-Time Ray Tracing},
	bookTitle={RayTracing Gems: High-Quality and Real-Time Rendering with DXR and Other APIs},
	year={2019},
	pages={437-473}
    }
[3] @Misc{RTXGI2020,
	author = {Ouyang, Yaobin and Yang, Xueqing},
	title = {Generating Ray-Traced Caustic Effects in Unreal Engine 4, Part 1},
	date = {2020-12-08},
	url ={https://developer.nvidia.com/blog/generating-ray-traced-caustic-effects-in-unreal-engine-4-part-1/},
    }
[4] @inbook{Kim2019,
	author = {Kim, Hyuk},
	title = {Caustics Using Screen-Space Photon Mapping},
	bookTitle={Ray Tracing Gems: High-Quality and Real-Time Rendering with DXR and Other APIs},
	year={2019},
	pages = {543-555}
    }
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].