분류 전체보기

    [Direct11] 10. Direct3D Effect Framework

    1. Direct3D Effect Framework 1.1 Effect Framework - 특정한 렌더링 효과를 구현하는 데 함께 쓰이는 셰이더 프로그램 - 렌더 상태들을 효과라고 부르는 단위로 조직화하고 관리하는 틀을 제공하는 편의용 코드 집합 - 물을 렌더링하기 위한 셰이더 프로그램들과 렌더 상태들을 하나의 효과로 둘 수 있음 - 구름, 금속 물체, 캐릭터 애니메이션을 위한 것들을 각각 개별적인 효과로 두어서 관리 - 하나의 효과는 하나의 정점 셰이더 & 하나의 픽셀 셰이더, 그 효과를 구현하는데 필요한 렌더 상태로 이루어짐 1.1.1 Effect File - 셰이더 코드와 상수 버퍼의 내용을 담을 뿐아니라 하나의 기법 정의 & 패스를 포함 - technique11로 시작하는 Section은 하나의..

    [Direct11] 9. Direct3D API Interface & Function #2

    1. Direct3D API Interface & Function 1.1 Vertex Shader 1.1.1 Vertex Shader HLSL Code - 정점을 생성할 때 위치와 색상으로 생성하여 정점 셰이더의 매개변수가 4개 - 처음 두가지의 값은 입력 매개변수, 나머지 둘은 출력 매개변수 - HLSL에서는 참조나 포인터가 없으므로 구조체를 이용하거나 out이 지정된 출력 매개변수를 사용 struct Vertex { XMFLOAT3 Pos; XMFLOAT4 Color;}; void VS(float3 iPosL : POSITION, float4 iColor : COLOR, out float4 oPosH : SV_POSITION, out float4 oColor : COLOR); - 처음 두 입력 매개변..

    [Direct11] 8. Direct3D API Interface & Function #1

    1. Direct3D API Interface & Function 1.1 Vertex & Input Layout 1.1.1 Direct3D Vertex - 공간적 위치 이외에 추가적인 자료를 가질 수 있고 원하는 자료를 사용하려면 원하는 구조체 정의 - 하나는 위치와 색상, 하나는 위치, 법선, Texture 좌표로 구성 struct Vertexl { XMFLOAT3 Pos; XMFLOAT4 Color; }; struct Vertex2 { XMFLOAT3 Pos; XMFLOAT3 Normal; XMFL0AT2 TexO; XMFLOAT2 Texl; }; - 정점 구조체의 각 성분이 어떤 용도인지 Direct3D에게 알려 주어야 함 1.1.2 Input Layout - 위의 방식을 알려주는 수단으로 구조체들..