Graphics

·Graphics
참고https://www.slideshare.net/xtozero/screen-space-reflectionhttps://lettier.github.io/3d-game-shaders-for-beginners/screen-space-reflection.htmlhttps://rito15.github.io/posts/ray-marching/https://casual-effects.blogspot.com/2014/08/screen-space-ray-tracing.htmlhttps://zznewclear13.github.io/posts/screen-space-reflection-en/SSR의 고질적인 문제, 화면에 그려져 있는 것을 반사하다보니 카메라가 바닥만 보고 있는 경우 반사가 제대로 작동하지 못함.What..
·Graphics
참고https://cutecatgame.tistory.com/6https://learn.microsoft.com/en-us/windows/win32/dxtecharts/cascaded-shadow-mapshttps://www.slideshare.net/slideshow/implements-cascaded-shadow-maps-with-using-texture-array/67006667#2https://developer.nvidia.com/gpugems/gpugems3/part-ii-light-and-shadows/chapter-10-parallel-split-shadow-maps-programmable-gpusWhy use Cascade Shadow Mapping?Directional Light에 대해서..
·Graphics
참고https://www.yes24.com/Product/Goods/24301920https://learnopengl.com/Advanced-Lighting/SSAOSSAO이름에서 알 수 있듯이, 포스트 프로세싱 과정 중 하나이다. 이전에 Ambient Lighting에 대해서 공부하였고 해당 라이팅은 고정된 빛에서 빛이 산란됨에 따라 장면이 그려지는 것을 표현한 것이다. 간접적인 라이팅의 한 종류를 Ambient occlusion이라고 부른다. 이러한 종류의 간접 라이팅은 서로가 밀접하게 붙어있기 때문에 더 어둡게 보인다는 특징이 있다. Crytek 발표자표2007년에 Crytek에서 발표한 기술로 depth buffer를 screen-space에서 이용해 occlusion의 크기를 결정한다. 이론은 ..
·Graphics
참고https://learnopengl.com/Advanced-Lighting/Deferred-Shadinghttps://www.slideshare.net/slideshow/deferred-shading/1552178?from_search=0#1https://www.slideshare.net/slideshow/ndc11-deferred-shading/8192630?from_search=1https://kyuhwang.tistory.com/4?category=523414#Deferred%EC%-D%--%--%EC%-D%B-%EC%A-%--Deferred Shading보통 사용하는 방식은 Foward Shading방식이다. 해당 방식은 각각의 오브젝트마다 라이팅을 하는 방식으로 라이트의 개수가 늘어날수록 비..
·Graphics
참고https://learnopengl.com/Advanced-Lighting/Normal-Mappinghttps://blog.naver.com/ideugu/221402703960Normal Mapping모든 장면들은 셀 수 없이 많은 삼각형들로 이루어진 meshes이다. 이런 평평한 삼각형 2D Texture에게 생기를 불어주는 것이 해당 기술이다.예를 들어, 벽돌 벽면이 존재한다고 한다면 빛은 벽돌 사이의 작은 크랙들을 인식하지 못한다. 왜냐하면, 표면의 normal vectors가 수직(perpendicular)적이기 때문이다.위의 사진들을 비교하면 확연한 차이가 나타나는 것을 확인할 수 있다. 노말 맵을 적용하기 위해서는 한 가지 Resource가 필요하다. DirectX형태의 자료는 Y값을 반전..
·Graphics
참고https://learnopengl.com/Advanced-Lighting/Shadows/Point-Shadowshttps://www.gamedev.net/forums/topic/659535-cubemap-texture-as-depth-buffer-shadowmapping/https://gamedev.net/forums/topic/674787-cubemap-depth-sample/5271471/ 지난 번에 만들었던 Shadow Mapping 기술의 그림자는 directional lights에 적합한 기술이었다. 왜냐하면 그림자가 오직 light가 진행하는 방향에서만 발생하기 때문이었다. 그 이유는 빛의 시점을 이용해서 그림자를 그렸기 때문이다.Point Shadows해당 기술은 지난번 만들었던 것과 ..
·Graphics
참고https://learnopengl.com/Advanced-Lighting/Shadows/Shadow-MappingShadow Mapping기본적으로, 그림자는 occlusion으로 인한 빛의 부재로 인해 그림자가 발생하게 된다.![[빛의 시점에서 렌더링.png]]실시간 렌더링 환경에서 그림자를 그리는 아이디어는 빛의 시점에서 렌더링을 하는 것이다. 이러한 방법으로 수천 개의 빛 광선을 그리는 것은 극도로 비효율적인 접근이다. 실시간 렌더링에서는 부적합한 방법이다.그래서 빛 광선에서의 시점을 그대로 그리는 대신에 유사한 방법으로 depth buffer를 이용할 것이다. 이것을 shadow map이라고도 부른다. 빛의 시점에서 depth buffer를 그리는 것이다.depth value를 이용해서 가장..
·Graphics
참고https://opengl-notes.readthedocs.io/en/latest/topics/texturing/aliasing.htmlhttps://learnopengl.com/Advanced-OpenGL/Depth-testing홍정모 - 그래픽스 Part3 강의Depth BufferDepth buffer는 D3D11의 경우에는, DepthStencilBuffer를 통해서 만들어진다. 해당 버퍼를 통해서 16, 24 또는 32 bit floats로 구성할 수 있다. 대게 Depth buffer 24bit, Stencil buffer 8 bit를 할당한다.Depth란 결국 '화면에 그려지는 친구들'의 깊이 축(z-coordinate)이다. 화면에 그려진다는 것은 View Frustum 안에 들어와 있..
·Graphics
개요Phong Shading 모델에서는 단순히, R(Reflection)와 L(ight)의 dot product를 이용해서 viewer가 보고 있는 surface의 빛의 강도를 구할 수 있다.Blinn-Phong의 경우, H(Halfway Vector)라는 개념이 추가로 등장한다.본격적으로 소개하기전 Phong 모델의 경우, $Ambient + Diffuse + Specular$ 을 통해 해당 부분의 Color 값을 도출한다. Blinn-Phong에 의해 달라진 점은 $Specular$을 계산하는 부분이다.참고https://web.archive.org/web/20180816064924/http://www.sunandblackcat.com/tipFullView.php?l=eng&topicid=30https..
Koala Jung
'Graphics' 카테고리의 글 목록