Loading...
2014. 1. 11. 12:31

Shadow Mapping

Depth Shadow(깊이 그림자), Shadow Maps(그림자 맵), Depth Bufffer Shadow(깊이버퍼 그림자) 등의 여러가지 이름으로 불린다. 이 기법의 핵심은 광원으로부터 물체까지의 거리정보를 저장해서 사용한다는 것이다. 1. depth 찍기 // 조명위치로 시선 이동 float3 vLook = float3(0,0,0); float3 vEye = lightPos.xyz; float3 vUp = float3(0,0,1); // 조명의 시야벡터들 만들고 뷰 공간으로 변환 float4x4 lightMat = GenViewMatrix(vLook, vEye, vUp); Pos -= lightPos; Out.Pos = mul(Pos, lightMat); // 조명의 투영변환행렬. Out.Pos..

2013. 10. 22. 12:50

fresnel

참고. 1. http://mgun.tistory.com/1282 2. http://mgun.tistory.com/1294 3. http://mgun.tistory.com/1304 그냥 프레넬. 프레넬을 최적화 해서 림라이트처럼 쓰거나 할 거면 그다지 노말은 필요없지만 그게 아니라면 노말은 꼭 넣어주는 센스. 위의 모습은 렌더몽키로 만든 모습이다.

2013. 2. 7. 18:18

normal mapping (법선 매핑)

specular map : 각 텍셀에 정반사광을 보여줄 정도를 정의 normal map : 법선벡터의 방향을 나타낸다. 높이맵(height map)에서 기복을 계산하고, 그 높이의 기복으로부터 법선벡터를 계산하여 텍스처에 기록. 이렇게 각 픽셀에 사용할 법선 정보를 담고 있는 텍스처를 법선맵(normal map)이라고 하고 법선맵을 이용해서 조명을 계산하는 기법을 법선매핑(normal mapping)이라고 한다. height map : 법선방향의 기복 크기를 기록한 텍스처, 높은곳이면 하얗게, 낮은곳이면 검게 그려진다. 법선벡터의 중요성 : - 확산광에서는 법선과 광원벡터만 사용해서 조명의 강도를 계산. ex : Lambert( N · L ) - 반영반사광에서도 법선벡터가 중요. ex : Phong, B..

2013. 2. 2. 17:44

기본적인 반사 벡터

반사벡터에 대한 이론과 언리얼 에디터에서 반사벡터 만들기는 요 링크를 참조하면 된다. http://mgun.tistory.com/1306 반사벡터 공식은 R = -E + 2*dot(N,E)*N 라고 했다. 언리얼 머티리얼 세이더에서는 이미 반사벡터가 노드로 제공되어 지는데 shader 함수로는 이미 reflect라는 함수가 제공되어 진다. Output.Reflect = reflect(lightDir, worldNormal); 이렇게 간단하게 reflection 값을 구할 수 있다. reflect함수가 없더라도 큰 걱정은 없다. 이미 reflect를 구할 수 있는 공싟을 알고 있으니까. Output.Reflect = lightColor * dot(-lightDir, worldNormal); 내적시 밑동을 ..

2013. 1. 31. 16:11

lambert

렘버트 또는 람베르트의 기본 공식은 dot(L,N). http://mgun.tistory.com/1306 위 링크에서 엄청나게 마니 언급되었던 기본 조명모델이다. 이걸 렌더몽키에서 표현하는것도 무척 쉽다. 공식대로 계산을 하기 위해 Light Vector가 우선 필요하다. 사진으로 보니 더욱 명확하다. 램버트에 대한 내용이나 코사인 각도가 무었을 의미하는지 등은 언급한 링크에서 읽어보면 될 것 같고.. 내가 말하고자 하는 것은 벡터의 방향이다. 이 부분에 대한 링크 : http://kblog.popekim.com/2011/01/blog-post_4153.html 첫번째 사진이나 두번째 사진이나 결국은 같은 거라고 생각한다. 내적의 특성상 두번째 사진의 개념은 부호를 한번 뒤집어서 벡터의 방향을 바꿔야 하..

흐음...렌더몽키라..

2008년도 이후로 업데이트가 없는 렌더몽키.... 분명 잘 만든 녀석인데 계속 서비스를 안해줘서 안타깝다. 몇번 살짝씩 사용해 본 게 다 이긴 한데 요즘 다시 욘석을 꺼낸건 안드로이드에 게임 쿠킹 탐이 너무 길어서....ㅜㅜ. udk는 너무 마니 잡아먹고 간단하게 테스트만 해보는 것으로 욘석 만한게 없는듯 하다. http://developer.amd.com/wordpress/media/files/RenderMonkey.2008-12-17-v1.82.322.msi 요기에서 다운 받을 수 있다.