DirectX116 [DirectX3D] Slash trail 게임에서 공격시에 잔상이 남는 효과를 구현하도록 합니다. Slash Trail 클래스 + 상수버퍼 + 쉐이더 를 사용한 Slash Trail 효과 효과구현을 위한 클래스 생성합니다. (코드는 아래의 접은글참조, 코드의 내용은 프레임워크에 따라 달라질수있습니다) 더보기 // SlashTrail.h #pragma once class SlashTrail { shared_ptr shader; vector vertices; ID3D11Buffer* vertexBuffer; D3D_PRIMITIVE_TOPOLOGY primitiveTopology; VertexType vertexType; UINT byteWidth; Vector3 lastTop; Vector3 lastBottom; shared_ptr materia.. 2023. 9. 4. [DirectX3D] 폭죽 효과(파티클효과 응용) DirectX11 3D 상수버퍼, 쉐이더를 사용한 폭죽 효과 기능 구현에 필요한 코드외 생략 하도록 합니다. 이전에 구현하는 눈내리는 효과와는 다르게 하나의 정점에서 시작되어 파티클이 퍼지는 효과입니다. 파티클은 퍼지는 강도, 중력값 등의 조절을 통하여 퍼지는 방식을 변경할 수 있습니다. 피격, 스킬, 블러드 이펙트 등등에 사용할 수 있지않을까 생각합니다. 폭죽 효과를 적용하기 위한 클래스 생성 (접은글 참조) 더보기 // Pop.h #pragma once struct POP_DESC { float duration;//총 재생시간 float time;// 현재 재생중인시간 float gravity;// 중력값 float padding; POP_DESC() { gravity = 60.0f; } }; cla.. 2023. 8. 30. [DirectX3D] 눈내리는 효과(파티클효과 응용) DirectX11 3D 상수버퍼, 쉐이더를 사용한 눈내리는 효과 기능 구현에 필요한 코드외 생략 하도록 합니다. 구현된 기능은 카메라의 시점에 고정되어져 RTT, PostEffect 처럼 렌더에 적용되는 효과가아닙니다. 3D 공간에 정해진 범위 내에 효과가 적용됩니다. 단, 효과에 사용되는 이미지들은 BillBoard Rendering과 같은 방식으로 카메라가 바라보는 방향으로 정면이 위치하기 때문에 어느방향에서 보아도 같은 이미지로 보이게 되어있습니다. 환경효과(눈, 비, 흩날림...)를 적용하기 위한 클래스 생성 (접은글 참조) 더보기 // Rain.h #pragma once class Particle { protected: //현재 재생중인 시간 float playTime = 0.0f; //재생중인.. 2023. 8. 29. [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] D3D11 렌더링 파이프 라인(Rendering Pipeline) 렌더링 파이프라인 ? DirectX 3D Graphics에서의 렌더링 파이프라인은 그래픽스 카드에서 3D 모델을 렌더링하는 과정을 각각의 단계별로 나타낸 것입니다. 렌더링 파이프라인은 크게 두가지 버전으로 나뉘게 됩니다. 1. 고정 함수 파이프라인 2. 프로그래머블 파이프라인(DirectX 10 이후부터 지원 현재 배우는 기준은 DirectX11) 두가지의 버전중에서 프로그래머블 파이프라인이 더 우연하며 강력한 기능을 제공합니다. 때문에 프로그래머블 파이프라인을 기준으로 각 단계에 대하여 정리하도록 합니다. 렌더링 파이프 라인의 단계(생략가능, 필수) 1. 입력 어셈블러(IA - Input Assembler) 정점(버텍스)데이터를 가져와 점, 선, 삼각형 등의 프리미티브를 조합 생성합니다. 버텍스 버퍼,.. 2023. 8. 10. 이전 1 다음