C++ Algorithm & Study

    [Direct11] 3. Direct3D EX Application Framework

    1. Direct3D 1.1 Direct3D EX Application Framework 1.1.1 D3D App - Direct3D 응용 프로그램 클래스로 응용 프로그램의 Main Window 생성 class App - 응용 프로그램 메시지 루프 실행, Window 메시지 처리, Direct3D 초기화를 위한 함수 제공 - D3D App을 상속해서 가상 함수로 선언된 프레임워크 함수들을 재정의 (중요한 함수 및 변수만 적을 예정) class App { public: App(HINSTANCE hInstance); virtual ~App(); public: int32 Run(); // 응용프로그램 메시지 루프를 감싼 함수 virtual bool Init(); // 자원 할당,장면 물체 초기화,광원 설정 등..

    [Direct11] 2. Direct3D initialization

    1. Direct3D 1.1 Direct3D initialization 1.1.1 Device & Device Context Create - Direct3D의 주된 인터페이스로 물리적인 그래픽 장치 하드웨어에 대한 소프트웨어 제어기 - 응용 프로그램은 이 인터페이스들을 통해 하드웨어에게 할 일을 지시 - GPU 메모리 자원 할당, Back Buffer 지우기, 자원을 여러 파이프라인 단계에 묶기, 기하구조 그리기 등 ComPtr _device; ComPtr _deviceContext; - Device Interface → 기능 지원 점검과 자원 할당 - Device Context Interface → 렌더 대상을 결정, 자원을 그래픽 파이브라인에 묶고 GPU가 수행할 렌더링 명령 지시 1.1.2 Swap..

    [Direct11] 1. Direct3D Basic Knowledge

    1. Direct3D 1.1 Direct3D Basic Knowledge - 응용 프로그램이 3차원 그래픽 가속 기능을 이용해서 3차원 세계를 렌더링할 수 있게 하는 저수준 API - 그래픽 하드웨어를 제어할 수 있는 소프트웨어 인터페이스 제공 1.1.1 Component Object Model - COM - 프로그래밍 언어 독립성과 하위 호환성을 가능하게 하는 기술 (인터페이스) - COM 객체들이 자신만의 고유한 방식으로 메모리를 관리 1.1.2 Texture & 자료 자원 형식 - 2차원 Texture는 2차원 이미지 자료를 저장하므로 각 원소는 한 픽셀의 색상을 담음 - Texture는 단순 이미지 자료 저장이 아닌 밉맵 수준들이 존재 - GPU는 필터링, 다중표본화 등의 특별한 연산을 Textu..