Gregory Igehy

Dancing at hemisphere coordinate

Schlick Fresnel and SG approximation comparsion in processing

Reference Processing https://processing.org/download/ "Spherical Gaussian approximation for Blinn-Phong, Phong and Fresnel" https://seblagarde.wordpress.com/2012/06/03/spherical-gaussien-approximation-for-blinn-phong-phong-and-fresnel/

Simple 2d graph by processing

PBR shader sources of Marmoset Toolbag 2 and Substance Player

PBR shader sources of Marmoset Toolbag 2, Substance Player and Unity5 Marmoset Toolbag 2 C:\Program Files\Marmoset Toolbag 2\data\shader Substance Player C:\Program Files\Allegorithmic\Substance Player\5\resources\view3d\shaders Unity5 C:\…

Notes of Hammersly Sampling for CG

"Hammersley Points on the Hemisphere" http://holger.dammertz.org/stuff/notes_HammersleyOnHemisphere.html "Sampling with Hammersley and Halton Points" Tien-Tsin Wong https://www.cse.cuhk.edu.hk/~ttwong/papers/udpoint/udpoint.pdf Short Memo …

Notes of JIT lightmap bake by GPU

Notes of JIT lightmap bake by GPU "Lightmap Generation" by Evan Wallace http://madebyevan.com/shaders/lightmap/ "Relighting Forge in Halo 4: Just-In-Time Lighting of User Generated Content" GDC2013 http://qa.gdcvault.com/play/1017766/Relig…

Bent normals / Terrain shadows

Notes for bent normals "Occlusion and Image-Based Lighting" Pixar http://renderman.pixar.com/view/image-based-lighting "Bent Normals and Cones in Screen-space" https://people.mpi-inf.mpg.de/~ritschel/Papers/ScreenSpaceBentCones.pdf Link co…

Software for terrain / Information for HDR Light Probe

Software for terrain VTBuilder : view and process geospatial data http://vterrain.org/Doc/VTBuilder/overview.html World Machine : 3D Terrain Generation http://www.world-machine.com/ Info for HDR Light Probe Camera : Canon 5D Mark3, Nikon D…

Notes of unit of lights

"Moving FrostBite to PBR" http://www.frostbite.com/wp-content/uploads/2014/11/course_notes_moving_frostbite_to_pbr.pdf

Notes of IES Light Profile

Format "IES light format: Specification and reader" by Sébastien Lagarde https://seblagarde.wordpress.com/2014/11/05/ies-light-format-specification-and-reader/ Unreal Engine 4 "IES Light Profiles" EN : https://docs.unrealengine.com/latest/…

Notes of Grid-based PathFinding Algorithms

Notes of Grid-based PathFinding Algorithms HPA* : Hiearchical Path Finding Article : "Near-Optimal Hierarchical Pathfinding (HPA*)" Alex J. Champandard. 2007 http://aigamedev.com/open/review/near-optimal-hierarchical-pathfinding/ Paper : "…

Notes of ”Ambient Occlusion Fields and Decals in Infamous2”

”Ambient Occlusion Fields and Decals in Infamous2" http://reedbeta.com/talks/Ambient%20Occlusion%20Fields%20and%20Decals%20in%20Infamous%202.pptx 3D テクスチャに遮蔽情報を事前に書き込んでおく, テクスチャフォーマットは RGBA8 RGB : 遮蔽物の…

Notes of intersection tests

Ray/Capsule intersection test http://blog.makingartstudios.com/?p=286 Object/Object Intersection http://www.realtimerendering.com/intersections.html Collision Detection - Essential Math for Games Programmers http://www.essentialmath.com/Co…

Notes of Quad-Trees Culling for Terrain Rendering

Quad-Trees "GPU Terrain Rendering" Game Programming Gems 6 http://alex-simon.blogspot.jp/2010/04/game-programming-gems-list-of-contents.html "Quadtrees on the GPU" GPU Pro 5 https://www.crcpress.com/product/isbn/9781482208634 etc : Horizon…

A* and Navigation Mesh in Game Programming Gems

A* in Game Programming Gems Game Programming Gems 1 3.3 The Basics of A* for Path Planning 3.4 A* Aesthetic Optimizations 3.5 A* Speed Optimizations Game Programming Gems 3 3.6 Tactical Path-Finding with A* Game Programming Gems 5 3.7 Beyo…

Mario AI competition

公式 Mario AI Championship http://www.marioai.org/ アルゴリズム Mario AI Competition @ ICE-GIC 2009 Sergey Karakovskiy and Julian Togelius http://julian.togelius.com/mariocompetition2009/GIC2009Competition.pdf ゲームAI入門 (第二回)「ゲー…

Notes of Encoding floats to RGBA at GLSL

GLSL で float RGBA8 変換する例 http://aras-p.info/blog/2009/07/30/encoding-floats-to-rgba-the-final/ http://www.ozone3d.net/blogs/lab/20080604/glsl-float-to-rgba8-encoder/ http://http.developer.nvidia.com/GPUGems/gpugems_ch12.html http://s…

Notes of erosion simulation (土壌浸食)

Paper "Fast Hydraulic and Thermal Erosion on GPU" Eurographics 2011 http://diglib.eg.org/bitstream/handle/10.2312/EG2011.short.057-060/057-060.pdf?sequence=1 "Interactive Terrain Modeling Using Hydraulic Erosion" Ondrej Stava. Eurographics…

Notes of Spherical Harmonics ( 球面調和関数のメモ)

注意点 SH 係数自体が, ラディアンスあるいはイラディアンスのどちらを示しているか? を意識すること (a) SH の基底関数 ( l = 0, 1, 2 ) sh0_basis : ( 1 / 2 ) * sqrt( 1 / PI ) = 0.28209 sh1_-1_basis : ( 1 / 2 ) * sqrt( 3 / PI ) * y = 0.48860 * y s…

Notes of hardware tessellation

Notes of hardware tessellation Tessellation Overview https://msdn.microsoft.com/en-us/library/windows/desktop/ff476340%28v=vs.85%29.aspx Hull shader パッチ単位の並列化の処理をシェーダで行う 入力 : パッチの制御点 出力 : パッチの制御点, パッ…

Links for making fBm textures from white noise textures

ホワイトノイズのテクスチャから, fBm 用のテクスチャを作る方法 "dynamic clouds" by iq http://www.iquilezles.org/www/articles/dynclouds/dynclouds.htm Generating Procedural Clouds Using 3D Hardware" Game Programming Gems 3. 2002 http://alex-si…

ゲームエンジンの開発会社のリクルーターによるコンタクト

何故か, LinkedIn 経由で某ゲームエンジンの開発会社のリクルーターがコンタクトしてきた 折角なので電話で 10 分ほど, 話したのでそれのメモ 相手は外人の女性で, 英語で話してきた 会社内部で話合いがあって, 君の名前が上がったからコンタクトしてきた(ほ…

Parameters for atmosphere scattring

大気散乱関係のパラメータのメモ 地球の地表の半径 : 6360 * 10^3 (m) 地球の大気の半径 : 6320 * 10^3 (m) 地球の大気の層の厚さ : 60 * 10^3 (m) レイリー散乱用のスケール高さ : 地表から 8.0 * 10^3(m) ミー散乱用のスケール高さ : 地表から 1.2 * 10^3 …

Valid turbidity parameter range for Preetham sky model

Perez の空モデルと天頂の計算式が下の (A) Preetham 1999 で提案されているが, その turbidity のパラメータの適切な範囲は (B) によると 2.0 ~ 6.0 である この範囲外の結果(1.0 や 12.0)が (A) にも載っているが, 輝度が高すぎたり, 負の値になるので注…

Notes of HDRI environment maps resources

About パノラマの HDRI 環境マップのリソースへのリンク集 URL (via Tutorial: Introduction to Skyshop | Marmoset ) http://dativ.at/lightprobes/ http://gl.ict.usc.edu/Data/HighResProbes/ http://www.openfootage.net/ http://www.hdri-hub.com/ http…

Notes of some height map data

About ハイトマップのテクスチャのサンプル Puget Sound Terrain http://www.cc.gatech.edu/projects/large_models/ps.html Grand Canyon http://www.cc.gatech.edu/projects/large_models/gcanyon.html

Notes of kd-tree

URL Lecture 13+ : Nearest Neighbor Search http://andrewd.ces.clemson.edu/courses/cpsc805/references/nearest_search.pdf K-D trees CSE 373. Data Structures. Lecture22. https://courses.cs.washington.edu/courses/cse373/02au/lectures/lecture22l…

Notes of fractal terrains

URL "Procedural Fractal Terrains" https://www.classes.cs.uchicago.edu/archive/2014/winter/23700-1/project_4_and_5/MusgraveTerrain00.pdf "terrain raymarching" by iq http://www.iquilezles.org/www/articles/terrainmarching/terrainmarching.htm …

Visualization of photon mapping in Cornell Box

About Cornell Box でのフォトンマッピングをモノクロで可視化した 下図は順にフォトンの数が 100,000 個 と 10,000 個の場合

Adding Japanese comments for smallppm

About smallppm に日本語のコメントを追加してみた Reference URL smallppm_exp.cpp by bee http://www.ci.i.u-tokyo.ac.jp/~hachisuka/smallppm_exp.cpp Paper of "Progressive Photon Mapping" by Hachisuka http://www.ci.i.u-tokyo.ac.jp/~hachisuka/ppm…

Note of importance sampling of Phong

About Phong の重点サンプリング関連の URL URL "Phong and Blinn-Phong Normalization factor derivation" http://www.farbrausch.de/~fg/stuff/phong.pdf "GPU-Based Importance Sampling" GPU Gems 3 http://http.developer.nvidia.com/GPUGems3/gpugems3…

Using GGX importance sampling for Path Tracing

About 以前に書いた記事 Note of importance sampling of GGX - Gregory Igehy を元に,GGX のスペキュラシェーディングの重点サンプリングを使ったパストレーシングをした Cornell Box 下図はラフネスは 0.7 (α=0.49 ), 1 ピクセル当たり 1000 サンプル 下…

Note of direct shading model in Frostbite

About Frostbite の資料で ディフューズ BRDF と スペキュラ BRDF のコードが載っていたので, メモとして貼り付け URL Siggraph 2014 : Moving Frostbite to Physically based rendering https://seblagarde.wordpress.com/2014/11/03/siggraph-2014-moving-…

Note of importance sampling of GGX

About GGX のスペキュラシェーディングにおける重点サンプリングについて モンテカルロ法を使って, GGX のスペキュラシェーディングによる IBL を求めるのに使う 下の例だと, 1024 個の点をサンプリングしている 仮にミップマップを使ったとしても, 十分なク…

Note of GGX specular shading

About パストレーシングで GGX を使いたくなったので, いくつかの資料から GGX について復習 URL Optimizing GGX Shaders with dot(L,H) at Filmic Worlds http://www.filmicworlds.com/2014/04/21/optimizing-ggx-shaders-with-dotlh/ Real Shading in Unre…

Nonnormalized Phong IBL

非正規化 Phong スペキュラ反射での IBL 下図は順にラフネスが 4, 32, 512 で 1 ピクセル数のサンプル数が 200 の場合

Simple IBL(Image Based Lighting)

Paul Debevec さんのライトプローブの画像を使ったシンプルな IBL HDR のテクスチャには,前回の記事の PFM(Portable FloatMap Image Format)形式を利用 下図はディフューズ反射の場合で, 1 ピクセル当たりのサンプル数は 1000 個 下図は完全に滑らかなスペキ…

Simple C codes for reading PFM (Portable FloatMap Image Format)

参照 URL PFM Portable FloatMap Image Format http://www.pauldebevec.com/Research/HDR/PFM/ Light Probe Image Gallery by Paul Debevec http://www.pauldebevec.com/Probes/ 下のようなLight Probe の画像のうち, PFM フォーマットの画像を読み込んで PP…

Diffuse and Specular reflections

ディフューズとスペキュラ反射の両方を考慮した 結果が少し変な気がするので, 間違っているかも 下図は 1 ピクセル当たり 200 サンプル

Glossy specular reflection by using Nonnormalized Phong specular reflection

非正規化 Phong スペキュラ反射によるグロッシーなスペキュラ反射 下図は Phong のシャイニネスを順に, 4.0, 32.0, 512.0 と, 粗い->滑らかへと変化させた場合 ( 1 ピクセルあたりのサンプル数は 200 ) 非正規化 Phong スペキュラ反射の重点サンプリングは以…

Using Mersenne Twister for Ambient Occlusion random number generation

AO での乱数生成にメルセンヌ・ツイスタを使う メルセンヌ・ツイスタの使用で参考にした URL http://www.sat.t.u-tokyo.ac.jp/~omi/random_variables_generation.html 下図は AO で 1 ピクセル当たりに 16 サンプル, 乱数は rand() を使用 ノイズに周期的な…

Shadow of area light

smallpt を修正して, Cornell Box の円板のエリアライトのシャドウだけを描画した ただライト方向からではなく, カメラ方向だけからレイを飛ばしているので, サンプル数の割には結果が汚い 下図は 1 ピクセルあたり 200 サンプル, 1000 サンプルの場合

small_ao

smallpt を修正して, AO (Ambient Occlusion)を計算するようにしてみた 下図は順に 1 ピクセル当たりのサンプル数を 200 個, 16 個と変化させた場合 また AO を飛ばすレイの最大の長さは Cornell Box の内部の立方体の空間の長さ 50.0 に指定 一方で, 下図は…

"smallppm" and "gpusppm" by bee

smallppm ( Small Progressive Photon Mapping ) With comments http://www.ci.i.u-tokyo.ac.jp/~hachisuka/smallppm_exp.cpp Short http://www.bee-www.com/smallppm.cpp gpusppm( GPU Stochastic Progressive Photon Mapping ) http://www.bee-www.com/gpu…

"パストレーシングベースの物理ベースレンダラ edupt" by hole

URL githole/edupt · GitHub 物理ベースレンダラedupt解説 - SSSSLIDE

Adding Japanese comments for smallpt.cpp

元の smallpt.cpp のソースコード http://www.kevinbeason.com/smallpt/smallpt.txt 日本語のコメントをつけてみて, 整形した smallpt.cpp // 権利表記 // smallpt, a Path Tracer by Kevin Beason, 2008 // // Japanese commments are added by Gregory Ige…

"smallpt: Global Illumination in 99 lines of C++" by Kevin Beason

URL http://www.kevinbeason.com/smallpt/ 紹介 Kevin Beason さんによるパストレーサーのサンプルコード 99 行の C++ のコードから構成 このコードに関して解説したスライド ( https://docs.google.com/file/d/0B8g97JkuSSBwUENiWTJXeGtTOHFmSm51UC01YWtCZw…

ブログをはじめました

私は Computer Graphics の Programmer です よろしくおねがいします