WinMain에서 SystemClass 초기화

  1. Windows 초기화
  2. Input Class 초기화
  3. Application Class 초기화
    1. D3D Class 초기화

      월드 행렬, 투영 행렬

    2. Camera Class 초기화

    3. Model Class 초기화

      버퍼 초기화

    4. Shader 초기화

WinMain에서 SystemClass→Run()

SystemClass::Run() 함수에 무한 루프. 특정 조건이 되어야만 루프가 종료 됨.

무한 루프에서 두 가지 일을 함.

  1. 입력 처리
  2. 프레임 그리기

ApplicationClass::Frame() 함수는 ApplicationClass::Render() 함수를 호출.

Render에서 하는 일

  1. 초기 씬을 초기화(씬을 검은색으로 그림)

  2. CameraClass::Render()

    카메라, 뷰 행렬

  3. ModelClass;:Render()

  4. ShaderClass::Render() 함수는 모델과 변환 행렬이 필요함. 여기까지 CPU에서 실행하고 DrawIndexed()으로 인해 GPU 작업이 시작된다. 앞 단계는 모두 GPU의 작업 설정과 입력(재료)들을 준비하는 단계였다.