Skip to content

O-LEX/ray-tracing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ray-tracing

GLTF.Model.2024-07-01.17-00-15.mp4

Windowsを想定しています。 vcpkgをC:/dev/にインストールしてください。公式リポジトリに説明があります。 vcpkgを使ってglm,glfw3をインストールしてください。

macでもbrewを使ってglmとglfw3をインストールすることでmain1とmain2は動作させることができます。

assetフォルダを作りそこにgltfファイルを入れ、mainの中で読み込むファイル名を指定してください。model()の中にパスを指定してください。読み込む際にテクスチャがあることを前提としているのでテクスチャがない場合は読み込めません。

main 本リポジトリのメインコードです。

カメラから各ピクセルに対して一本だけレイを出します。レイとメッシュの交差点から光源方向にレイを飛ばします。遮るものがなければ明るさがでます。bvhを使っています。カメラを動かせます。本来であればマテリアルを設定して再帰的なサンプリングを行うべきでしょうが、未実装です。

main1~4はレガシーです。

main1 vertex shaderとfragment shaderを使って、gltfをそのまま描画するプログラムです。model.draw()を使って描画します。 main2 vertex shaderとfragment shaderを使って、gltfを描画するプログラムです。カラーは赤に設定しています。modelからトライアングルをすべて取ってきてvaoを作成し描画します。 main3 カメラからレイを飛ばして、オブジェクトと交差するかどうかを判定するプログラムです。bvhを使っています。カメラを動かせます。 main4 bvhを使わずに、すべてのトライアングルと交差判定を行うプログラムです。重いのでカメラは動かせません。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published