분류 전체보기

[Direct11] 22. Direct3D Stencil
1. Direct3D Stencil 1.1 Stencil 1.1.1 Stencil Buffer - 스텐실 버퍼는 어떤 특수 효과를 내는데 사용할 수 있는 화면 밖 버퍼 - 스텐실 버퍼는 후면 버퍼, 깊이 버퍼와 해상도가 같으며, 스텐실 버퍼의 픽셀은 후면 버퍼 & 깊이 버퍼 픽셀과 대응 - 스텐실 버퍼를 지정한 경우 스텐실 버퍼는 깊이 버퍼에 부착 - 포스터나 판화에 쓰이는 스텐실의 용도와 같음, 특정 픽셀 단편들이 후면 버퍼에 기록되지 못하게 만드는 데 쓰임 - 거울을 구현할 때 물체가 반사된 이미지를 거울의 평면에 그려야 함 - 거울 테두리 바깥까지 반사상이 그려져서는 안됨 1.1.2 Depth & Stencil Buffer - Depth & Stencil Buffer를 생성할 때 특정한 자료 형식을..

[Direct11] 21. EX App Program - Fog System
1. EX App Program 1.1 Fog System 1.1.1 Fog System Principle - 게임에서 특정한 기상조건을 흉내 낼 때 유용한 것이 안개 효과 - 먼 거리의 렌더링 결함이나 파핑현상을 숨길 수 있음 - 절두체의 먼 평면 뒤에 있던 물체가 카메라의 이동에 따라 절두체 안으로 들어오면서 화면으로 튀어 나오는 현상 - 지평선 부근의 산처럼 멀리 있는 물체는 흐릿해 보이기에 대기 원근 현상을 흉내 내기에 적합 1.1.2 Pixel Shader - 안개의 색상과 안개가 시작되는 거리, 안개의 범위를 설정 cbuffer cbPerFrame { /* ... */ float gFogStart; float gFogRange; float4 gFogColor; }; - 렌더링 시 삼각형의 한 ..

[Direct11] 20. Direct3D Blending - Blending System
1. Direct3D Blending 1.1 Blending System 1.1.1 Zero - 원본 피셀이 대상 픽셀을 덮어쓰거나 섞이는 일 없이 대상 픽셀이 그대로 유지 - 렌더링 결과를 깊이 스텐실 버퍼에만 기록, 후면 버퍼에 기록하지 않고자 할 때 유용 - 혼합 계수, 대상 혼합 계수, 혼합 연산자를 밑의 코드로 적용 MD11_BLEND_ZERO; MD11_BLEND_ONE; D3D11_BLEND_OP_ADD; - 또한 구조체를 사용하여 어떤 색상 채널에도 값이 기록되지 않게 해도 같은 효과를 얻을 수 있음 D3D11_RENDER_TARGET_BLEND_DESC; 1.1.2 ADD & ODD Blending - 원본 픽셀을 대상 픽셀에 더하고자 한다면 밑의 코드를 적용 & 빼고자 한다면 혼합 연산..