분류 전체보기
-
DeepShadowMap(DSM)Graphics/Graphics Study 자료 2020. 2. 25. 08:02
DeepShadowMap(DSM) 최초작성 : 2020-02-24 마지막수정 : 2020-02-24 최재호 소개 Volumetric shadow 기법 머리카락과 같은 물체에 의해서 차폐되어 그림자가 생기는 경우를 고민해보자. 이 경우 그림자는 즉시 완전히 차폐 되는 것이 아니라 일부 빛은 머리카락을 통과하여 그림자가 서서히 진해지게 된다. DSM을 통해서 이 부분을 표현할 수 있다. 링크드리스트로 Depth 정보를 연결하여 해당 픽셀의 Depth에서의 투과율 정보를 Alpha로 저장함. 아래 이미지처럼, 가려지는 횟수가 많아질 수록 Lit 값이 점점 떨어지게 됨. 일반 ShadowMap의 경우는 가려지는 즉시 해당 ShadowMap의 Depth 값 보다 카메라에서 더 멀리 있는 물체는 모두 그림자를 만들..
-
Dual Paraboloid ShadowMapGraphics/Graphics Study 자료 2020. 2. 18. 23:47
Dual Paraboloid ShadowMap 최초작성 : 2020년 2월 17일 최종수정 : 2020년 2월 17일 최재호 목표 Dual-Paraboloid Map 소개 소개 Environment or Shadow map을 생성하기 위해 사용할 수 있는 알고리즘 2개의 Paraboloid(포물면) 을 이어 붙인 형태로 아래의 공식을 사용하여 생성 위와 같은 형태의 Paraboloid 선택. (편미분하게 되면, x or y 로 딱 떨어져서 1/2를 사용하는 것 같음) Math3D.org 에서 렌더링한 Dual Paraboloid Paraboloid의 특징으로 아래와 같이 Focal Point 방향의 입사광선은 Paraboloid와 평행한 방향으로 반사된다는 것 위의 그림처럼 입사광선(In)이 있을경우 반..
-
[번역]Dual paraboloid shadow mappingGraphics/번역 2020. 2. 15. 19:22
개인 공부용으로 번역한 거라 잘못 번역된 내용이 있을 수 있습니다.또한 원작자의 동의 없이 올려서 언제든 글이 내려갈 수 있습니다.원문 : http://gamedevelop.eu/en/tutorials/dual-paraboloid-shadow-mapping.htm Preface이 튜도리얼은 DirectX effect와 Shader model 3.0을 사용하여 이 주제를 설명합니다. 구현을 위한 렌더타겟들, effect 변수 설정 그리고 오브젝트의 변환 지식은 이 예제를 이해하기위한 필수요소입니다. 이 예제는 다른 쉐이더 언어로 쉽게 변환될 수 있습니다. Introduction컴퓨터 그래픽에서 Shadow mapping은 Shadow를 그리기 위한 기술입니다. 이 방법에서는 광원의 관점(viewpoint)..
-
DeferredRenderingMSAAGraphics/Graphics Study 자료 2020. 2. 12. 00:59
DeferredRenderingMSAA 작성일자 : 2020-02-12 최재호 목표 이 예제는 NVIDIA에서 제공하는 모든 내용이 동작하는 Full Source를 이미 제공 DX11 코드를 분석 후 OpenGL4.0에 적용하는 것을 목표로 함 DeferredRendering에서 MSAA 문제 DeferredRendering는 2 Pass로 진행된다. GBuffer 채우기 패스 Lighting 패스 문제 해결방법(SV_Coverage) 처음 GBuffer(MultiSample 타입) 채울때 SV_Coverage(OpenGL은 gl_SampleMaskIn)를 사용하여 SampleCoverage 정보를 얻음. MS x4 인 경우 SV_Coverage는 0xf 인 경우가 아니면 Edge임. 이 정보를 GBuf..
-
[번역]Antialiased Deferred RenderingGraphics/번역 2020. 2. 5. 23:40
개인 공부용으로 번역한 거라 잘못 번역된 내용이 있을 수 있습니다.또한 원작자의 동의 없이 올려서 언제든 글이 내려갈 수 있습니다.원문 : https://docs.nvidia.com/gameworks/content/gameworkslibrary/graphicssamples/d3d_samples/antialiaseddeferredrendering.htm소스코드는 첨부파일(출처 : https://github.com/NVIDIAGameWorks/D3DSamples/tree/master/samples ) Description이 DirectX 11 예제는 MSAA 를 Deferred Shading 에서 어떻게 구현하는지를 보여준다. APIs UsedD3D11App-Specific Controls이 샘플은 아래의 ..
-
Hi-Z Occlusion CullingGraphics/Graphics Study 자료 2020. 2. 4. 22:41
Hierarchical-Z Map Occlusion Culling 작성일자 : 2020-02-04 최재호 목표 Hi-Z Map Occlusion Culling을 이해와 실제로 구현 및 결과를 확인하는 것을 목표로 함 기존 방식 비교 H/W Occlusion Culling 실제로 렌더링 한 결과로 그려진 픽셀의 개수를 체크하여 몇 개의 픽셀이 그려졌는지 확인 보통은 바운드 박스같은 간단한 프리미티브로 그려진 픽셀 수를 확인 아래와 같이 CPU GPU 간에 핑퐁 발생 1. CPU : 바운드박스 렌더링 요청 2. GPU : 바운드박스 렌더링 후 그려진 픽셀수 계산 3. CPU : 그려진 픽셀이 있는지 확인 후 원본 프리미티브 렌더링 요청 단점으로는 미리 그려본 프리미티브가 Rasterizer -> PixelS..
-
[번역]Hierarchical-Z map based occlusion cullingGraphics/번역 2020. 1. 30. 02:07
개인 공부용으로 번역한 거라 잘못 번역된 내용이 있을 수 있습니다.또한 원작자의 동의 없이 올려서 언제든 글이 내려갈 수 있습니다.원문 : http://rastergrid.com/blog/2010/10/hierarchical-z-map-based-occlusion-culling/ Hierarchical-Z 는 현대 GPU 의 잘알려진 표준 기능이다. 이것은 큰 그룹으로 입력되는 Fragments를 제외시키므로써 on-chip 메모리안에 있는 축소되고 압축된 버젼의 Depth buffer를 사용하여 Depth testing 의 속도를 높혀준다. 이 글에서 제시된 기술은 다음과 같은 기본 아이디어를 사용한다. 많은 수의 개별 오브젝트들에 batched 된 Occlusion culling를 CPU 개입없이(전..