[DirectX11] 4. 삼각형 – Vertex Buffer, Vertex Shader, Pixel Shader

삼각형이라는 최소 폴리곤이라도 화면에 렌더링 하기 위해서는 필수로 준비해야 하는 것이 있다. 바로 Vertex Buffer, Vertex Shader, Pixel Shader 이다. DirectX11 API를 사용해서 삼각형을 렌더링 한다는 것은 곧 DirectX11의 렌더링 파이프라인을 사용한다는 뜻이다. 따라서 최소한으로 렌더링 파이프라인이 동작하여 결과물을 만들 수 있으려면 최소한으로 필요한 것들을 준비해서 렌더링 파이프라인에 설정해줘야 하는 것이다. 이 렌더링 파이프라인 스테이지들 … Read more

[DirectX11]3. 초기화 – DirectX11 API를 이용한 빈 화면 렌더링 하기

DirectX11 API를 이용해서 빈 화면 렌더링 해보자. 앞서 이전글를 통해 기본적인 객체들을 생성했고 이 객체들을 이용해서 화면을 렌더링할 것이다. 메시지 루프 수정 DirectX11 API를 이용한 렌더링은 매 프레임마다 새로운 내용들을 항상 갱신해서 보여줘야 한다. 따라서 메시지 큐를 기반으로 동작하는 루프의 수정이 필요하다. 수정 전 메시지 루프 코드 수정 후 메시지 루프 코드 수정된 메시지 루프는 … Read more

[DirectX11] 2. 초기화 – 디바이스 객체들을 만들어 보자.

환경 구축를 통해서 프로젝트의 생성까지 모두 끝나고 빌드하면 다음과 같은 화면을 볼 수 있다. 하지만 아직 DirectX를 통해 렌더링되는 화면은 아니다. 이제부터 DirectX11 API를 이용해 빈 화면을 우선 렌더링 해보도록 하자. 디바이스 객체들을 만들자 DirectX11 API를 이용하기 위해서 우선적으로 생성해야 하는 객체들이 있다. ID3D11Device, ID3D11DeviceContext, IDXGISwapChain 인터페이스 객체 3개가 필요하다. 편의상 이들을 통칭해서 디바이스 객체들이라고 … Read more

[DirectX11] 1. 환경 구축을 해보자.

DirectX11 개발 환경 구축을 해보자. 2024년 기준으로 환경 구축을 어떻게 하는지 한번 알아보자. 프로그램 설치 Visual Studio 2022 설치 Visual Studio 2022 커뮤니티 버전 – 최신 무료 버전 다운로드에서 설치한다. IDE는 Rider( 이하 라이더 ) 를 사용할 예정이지만 라이더에는 컴파일러가 포함되어 있지 않다. 라이더는 MSVC( Microsoft Visual C++ )에 의존하기 때문에 이를 사용하기 위해서 설치하는 … Read more