티스토리 뷰
생각 보다 배울게 많은 소스이다
mat3 t2w = BasisFrisvad(s.n);
mat3 w2t = transpose(t2w);
저기서 FrisVad는 아래서 나왔다
"Building an Orthonormal Basis from a 3D Unit Vector Without Normalization"
Finding an orthonormal basis from a unit 3D vector.
abstract 내용에 따르면 fewer arithmetic operations
http://orbit.dtu.dk/fedora/objects/orbit:113874/datastreams/file_10189336/content
소스 gist는 아래에
https://gist.github.com/XProger/b338c55634f1856d93030cd4f7964a5d
SphQuad squad = SphQuadInit(u_quadPoints[0].xyz, ex, ey, s.p);
위의 SphQuad도 검색하면 논문이 나온다
"An Area-Preserving Parametrization for Spherical Rectangles"
https://www.solidangle.com/research/egsr2013_spherical_rectangle.pdf
In particular, this is the case of numerical computation of radiance directly reflected (or scattered) from a point due to illumination from a planar rectangular light source, a common task in realistic rendering systems.
이걸 어찌 쓰나했는데 planar rect에 넣는 용이라 되어있다
SphQuad squad = SphQuadInit(uQuadPoints[0].xyz, ex, ey, position);
vec3 lightPos = SphQuadSample(squad, u1, u2);
MIS 코드
'Game > Graphics' 카테고리의 다른 글
Area light cont. (0) | 2018.03.18 |
---|---|
Real-Time Area Lighting: a Journey from Research to Production (0) | 2018.03.15 |
LTC Implementations (0) | 2018.03.05 |
LTCs Fittting - Nelder-Mead optimization algorithm (0) | 2018.02.26 |
Shader Uniform variable (0) | 2018.02.22 |
- Total
- Today
- Yesterday