Direct11
[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 - 원본 픽셀을 대상 픽셀에 더하고자 한다면 밑의 코드를 적용 & 빼고자 한다면 혼합 연산..
[Direct11] 19. Direct3D Blending
1. Direct3D Blending 1.1 Blending 1.1.1 Blending Formula - 현재 래스터화하는 픽셀을 후면 버퍼에 이미 래스터화되어 있는 픽셀과 섞는 혼합 기법 - 현재 래스터화 중인 픽셀에 대해 픽셀 셰이더로 부터 출력한 색상과 현재 후면 버퍼에 있는 픽셀 색상 - 위 두가지에 대해 혼합을 사용하지 않으면 덮어써서 후면 버퍼의 새로운 색상이 됨 - 그러나 혼합을 사용하면 일정한 공식에 따라 혼합해서 얻은 새로운 색상을 덮어씀 - 원본 혼합 계수와 대상 혼합 계수를 사용해 다양한 방식으로 혼합해 여러 가지 효과를 낼 수 있음 - 혼합 공식은 색상의 RGB 성분들에만 적용, 알파 성분은 비슷하지만 구별되는 공식 적용 typedef enum D3D11_BLEND_0P; - 서로 ..