Git Product home page Git Product logo

redflash's Introduction

Redflash Renderer

pr33_v6_t3000_s1030_1920x1080

Redflash is a physics-based GPU renderer based on Path Tracing implemented in NVIDIA® OptiX 6.0, which can consistently draw scenes with mixed Polygons and Raymarching.

Redflash は NVIDIA® OptiX 6.0 上で実装したパストレーシングによる物理ベースのGPUレンダラーで、ポリゴンと レイマーチング が混在したシーンを一貫して描画できます。

Note

This is implemented based on optixPathTracer of NVIDIA official OptiX-Samples.

これは、NVIDIA 公式の OptiX-Samples の optixPathTracer をベースにして実装されています。

The actual implementation is in the redflash directory.

実際の実装は redflash ディレクトリ内にあります。

Features

  • Unidirectional Path Tracing
    • Next Event Estimation (Direct Light Sampling)
    • Multiple Importance Sampling
  • Disney BRDF
  • Primitives
    • Sphere
    • Mesh
    • Distance Function ( Raymarching )
  • ACES Filmic Tone Mapping
  • Deep Learning Denoising

Development Environment

  • Operation confirmed
    • Windows 10 + NVIDIA RTX 2070
    • Windows Server 2016 Base + NVIDIA Tesla V100 GPUs
  • Dependences
    • CUDA 10.1
    • OptiX 6.0.0
    • Cmake 3.8.2
    • freeglut

Gallery

RaytracingCamp7 Submission Version / レイトレ合宿7 提出バージョン

Won 4th prize at レイトレ合宿7.

pr33_v6_t3000_s1030_1920x1080

Camera Angle Variation 1

cut_far_v1

Camera Angle Variation 2

cut_far_v2

Camera Angle Variation 3

cut_far_v3

Links

redflash's People

Contributors

gam0022 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

redflash's Issues

時間切れ判定の制御

  • #33 で p3.2xlarge
  • .\redflash.exe -f output.png -W 3840 -H 2160 -t 54 -A 1.0 -S 4 --denoise_mode 2 > output.txt

NG

[info] resolution: 3840x2160 px
[info] time_limit: 54 sec.
[info] sample_per_launch: 4
[info] auto_set_sample_per_launch: 1
[info] auto_set_sample_per_launch_scale: 1
[info] sample: INF(20)
loop:0	sample_per_launch	:4	delta_time:4.45207e-07	delta_time_per_sample:1.11302e-07	used_time:10.469	remain_time:43.531	sample:0	frame_number:1
loop:1	sample_per_launch	:4	delta_time:6.31536	delta_time_per_sample:1.57884	used_time:16.7843	remain_time:37.2157	sample:4	frame_number:2
[info] chnage sample_per_launch: 23 to 23
loop:2	sample_per_launch	:23	delta_time:25.1935	delta_time_per_sample:1.09537	used_time:41.9778	remain_time:12.0222	sample:27	frame_number:3
[info] chnage sample_per_launch: 23 to 1
loop:3	sample_per_launch	:1	delta_time:1.18293	delta_time_per_sample:1.18293	used_time:43.1608	remain_time:10.8392	sample:28	frame_number:4
loop:4	sample_per_launch	:1	delta_time:1.26605	delta_time_per_sample:1.26605	used_time:44.4268	remain_time:9.5732	sample:29	frame_number:5
loop:5	sample_per_launch	:1	delta_time:1.23446	delta_time_per_sample:1.23446	used_time:45.6613	remain_time:8.33873	sample:30	frame_number:6
loop:6	sample_per_launch	:1	delta_time:1.28691	delta_time_per_sample:1.28691	used_time:46.9482	remain_time:7.05182	sample:31	frame_number:7
loop:7	sample_per_launch	:1	delta_time:1.27338	delta_time_per_sample:1.27338	used_time:48.2216	remain_time:5.77844	sample:32	frame_number:8
loop:8	sample_per_launch	:1	delta_time:1.26999	delta_time_per_sample:1.26999	used_time:49.4916	remain_time:4.50845	sample:33	frame_number:9
loop:9	sample_per_launch	:1	delta_time:1.26634	delta_time_per_sample:1.26634	used_time:50.7579	remain_time:3.24211	sample:34	frame_number:10
loop:10	sample_per_launch	:1	delta_time:1.24969	delta_time_per_sample:1.24969	used_time:52.0076	remain_time:1.99242	sample:35	frame_number:11
loop:11	sample_per_launch	:1	delta_time:1.26821	delta_time_per_sample:1.26821	used_time:53.2758	remain_time:0.724212	sample:36	frame_number:12
[info] reached time limit! used_time: 53.2758 sec. remain_time: 0.724212 sec.
[info] total_time: 60.1268 sec.
[info] total_sample: 37

OK

[info] resolution: 3840x2160 px
[info] time_limit: 54 sec.
[info] sample_per_launch: 4
[info] auto_set_sample_per_launch: 1
[info] auto_set_sample_per_launch_scale: 1
[info] sample: INF(20)
loop:0	sample_per_launch	:4	delta_time:0	delta_time_per_sample:0	used_time:2.89023	remain_time:51.1098	sample:0	frame_number:1
loop:1	sample_per_launch	:4	delta_time:4.87218	delta_time_per_sample:1.21805	used_time:7.76242	remain_time:46.2376	sample:4	frame_number:2
[info] chnage sample_per_launch: 37 to 37
loop:2	sample_per_launch	:37	delta_time:40.0949	delta_time_per_sample:1.08364	used_time:47.8573	remain_time:6.14272	sample:41	frame_number:3
[info] chnage sample_per_launch: 37 to 1
loop:3	sample_per_launch	:1	delta_time:1.27524	delta_time_per_sample:1.27524	used_time:49.1325	remain_time:4.86748	sample:42	frame_number:4
loop:4	sample_per_launch	:1	delta_time:1.26723	delta_time_per_sample:1.26723	used_time:50.3997	remain_time:3.60025	sample:43	frame_number:5
loop:5	sample_per_launch	:1	delta_time:1.25397	delta_time_per_sample:1.25397	used_time:51.6537	remain_time:2.34629	sample:44	frame_number:6
loop:6	sample_per_launch	:1	delta_time:1.24936	delta_time_per_sample:1.24936	used_time:52.9031	remain_time:1.09693	sample:45	frame_number:7
[info] reached time limit! used_time: 52.9031 sec. remain_time: 1.09693 sec.
[info] total_time: 58.9922 sec.
[info] total_sample: 46

レイトレ合宿7

https://sites.google.com/site/raytracingcamp7/

レンダリング部門の仕様
60秒以内に自動で終了し、終了時にレンダリング画像をpngで出力してください。

TODO

レイトレ合宿7のスライド

  • ファイル作成
  • 基本機能の紹介(BSDF, NEE, MIS)
  • レイマーチングは重いので、どう高速化したか
    • 衝突したかの判定の閾値のepsのLOD(カメラに近いほど細かく判定)
    • sample_per_launch
    • 距離関数のチューニング
  • 画像などを本番のものに差し替え

TODO

  • マルチGPU環境への対応 #40
  • DOF
  • imgui導入
  • CallableProgramID によるリファクタリング
    • BSDF / BTDF #41
    • ライトサンプリング
    • 距離関数
  • カメラを動かし始めた1フレーム目は低解像度にする
  • redflash.cpp の分割
  • シーン編集機能

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.