목록전체 (340)
응애맘마조
어제 말했던 대로 VS에 들어갔습니다. 오늘이 가장 어렵다고 하네요. IA에서 VS로 넘겨주게 될 때 position과 color값을 넘기게 됩니다. 이 사이에 넘겨주는 값을 InputLayout이라고 했습니다. struct VertexInput { float4 position : POSITION0; float4 color : COLOR0; }; float4는 float이 4개 붙어있다고 보시면 됩니다. (4Byte × 4 = 16Byte로 볼 수 있습니다.) 위의 코드에서 POSITION0, COLOR를 시맨틱(semantic)이라고 하고 용도를 나타냅니다. Layout에서 넣은 값들을 IA출력으로 넘기고 그게 VS의 입력으로 들어갑니다. D3D11_INPUT_ELEMENT_DESC는 VS에 들어온 원..

RGB색상의 순서대로 원을 표현하는 것이 과제였습니다. 원은 360도인데 120도씩 나눠서 하면 해결되는 과제였습니다. 완성된 모습입니다.
IA의 마지막 3일차입니다. 오늘은 Shader(셰이더)에 대해서 했었습니다. 어제에 이어서 hlsl에 대해서 좀 더 배웠습니다. 이 hlsl에서는 중단점을 찍으면 중단점 자체에 오류가 생깁니다. 하지만 컴파일 대상이 되지 않아서 할 수가 없는데 렌더링 파이프라인을 거쳐 모니터에 출력이 되려면 반드시 컴파일을 해야 됩니다. 컴파일 대상이 아니지만 바인딩을 하는 방법이 있습니다. 셰이더 클래스가 있는데 그 안에 있는 자원들이 하게 됩니다. cpp파일을 보면 char, wchar_t, string, wstring이 있습니다. char은 아스키코드에 있는 문자 하나를 출력합니다. (그 이외의 문자는 출력할 수 없습니다.) wchar_t는 2바이트로 된 문자도 출력이 가능합니다. string은 아스키코드에 있는..
오늘은 프레임워크 안에 있는 게임 오브젝트에 대해서 배웠습니다. 이걸 가지고 도형을 그리게 되기 때문에 이 부분을 이해하지 못한다면 앞으로의 강의 이해에 많은 어려움이 생깁니다. 클래스 헤더 파일 안에 desc로 시작하는 변수들이 있습니다. desc는 description으로 서술형 구조체를 의미합니다. (모든 자원들마다 다 있습니다.) Usage는 사용하겠다는 의미를 가지고 있습니다. 안을 보면 enum값으로 정의가 되어있는데 D3D11_USAGE로 해서 GPU와 CPU의 읽기/쓰기를 제어합니다. 읽기/쓰기는 GPU가 하고 있으 CPU를 사용하지 않습니다. 그래서 D3D11_USAGE_DEFAULT를 사용합니다. (D3D11_USAGE_DEFAULT말고도 D3D11_USAGE_IMMUTABLE과 D3D..
드디어 DirectX에 들어갔습니다. 시작부터 꽤나 어렵습니다. 기본적으로 렌더링 파이프라인부터 시작합니다. 렌더링 파이프라인은 출력을 위한 구조입니다. 화면으로 표현하기까지의 모든 과정을 나타내고 있습니다.여기서 파이프라인은 한 단계의 출력이 다음 단계의 입력으로 이어지는 구조가 됩니다. 순서는 DrawCall → IA → VS → RS → PS → OM입니다.(HS, TS, DS, GS 단계 과정은 부수적인 것이라서 없어도 상관은 없습니다. 하지만 위에 적은 5가지 단계는 반드시 있어야 됩니다. 하나라도 없으면 출력 자체가 불가능합니다.) IA : Input Assembler (입력 조립기) 정점 정보를 긁어모으는 역할을 합니다.정점을 어떻게 그릴지 모양을 정하는 역할을 합니다. 여기에서 자원이 필요..