본문 바로가기

포스트이펙트4

[DirectX3D] PostEffect 블러(Blur)효과 적용하기 ( + Filter ) 쉐이더 파일을 사용하여 PostEffect를 구현하고 PixelShader 에서 추가적으로 Blur 효과를 적용하여 봅니다. 포스트 이펙트를 사용한 블러(Blur) 효과 아래의 효과들은 적용전(좌측), 적용후(우측)으로 비교하여 보도록 합니다. 블러의 효과들은 상수버퍼를 사용한 클래스를 통하여 값을 변경하여 강도 조절이 가능합니다. 1. 크로스 블러 (Cross Blur) 크로스 블러는 픽셀들이 상,하,좌,우의 교차(Cross)방향으로 퍼진듯한 느낌이 표현됩니다. 크로스 블러 float4 CrossBlur(float2 uv) { float4 color = 0; for (int i = 0; i < count; i++) { float divX = (1 + i) / width; float divY = (1 +.. 2023. 8. 22.
[DirectX3D] PostEffect(상수버퍼를 사용한 Fadein/Fadeout 효과) PostEffect.hlsl Shader 파일에 상수버퍼를 이용한 코드를 추가합니다. cbuffer PS_Point : register(b11) { float2 Point; float Size; float PointPadding; } Scene Class 헤더 파일에 상수버퍼에 사용할 구조체를 선언합니다. private 구역 struct Point // 상수버퍼용 구조체 { Vector2 point; // 시작지점 변수(x,y) float size; // 시야범위 변수 float padding; // 패딩용 변수 } _point; ID3D11Buffer* PointBuffer; // 버퍼 // control을 위한 추가 변수들 float posx; float posy; float scale; // fad.. 2023. 8. 18.
[Graphics] RTT & Post Effect & Blur 관계성 앞에서 정리한 RTT(Render To Textur), Post Effect, Blur 는 그래픽스에서 연관되어 사용되는 개념들 입니다. RTT(Render to Texture) 요약 RTT는 렌더링된 결과를 텍스처로 저장하는 기술입니다. 일반적으로 렌더링된 이미지를 화면에 바로 출력하지 않고 추가적인 텍스처에 렌더링 결과를 저장하여 메모리에 보관하는 작업을 합니다. 이렇게 메모리에 저장된 텍스처는 다른 작업을 위하여 사용이 가능합니다. https://rhksgml78.tistory.com/371 [Graphics] 텍스처에 그리기 RTT(Render To Texture) Render To Texture ? 렌더투텍스처(Render To Texture)(이하 RTT)를 의미합니다. 3D 그래픽스에서 매우.. 2023. 8. 7.
[Graphics] 포스트 이펙트(Post Effect) Post Effect ? 포스트 이펙트는 3D 그래픽스에서 렌더링이 완료된 최종 이미지에 추가적인 시각적 효과를 적용시키는 기술을 의미합니다. 일반적으로 화면에 출력되기 전에 수행되는 후처리 작업으로서 화면에 렌더링 된 이미지에 필터링, 쉐이딩, 블러, 색상 보정, 후광 효과 등 다양한 시각적 변화를 적용할 수 있습니다. 아래의 이미지를 참고한다면 쉽게 이해가 가능합니다. 포스트 이펙트는 주로 쉐이더를 사용하여 구현됩니다. 렌더링 된 이미지를 쉐이더로 전달하여 화면 전체에 효과를 적용하거나 특정 영역에만 효과를 적용할 수 있습니다. 예를 들어 블러 효과를 적용하여 광원 주변을 흐리게 표현하거나, 컬러 그레이딩을 사용하여 화면의 색상을 변경할 수 있습니다. 일반적으로 포스트 이펙트는 화면에 출력되기 직전에.. 2023. 8. 7.