다양한 그래픽스 API와 프로그래머의 역할
그패릭스 API로는
Direct X, OpenGL (서비스 종료), Vulkan(Ray Tracing), Apple의 Metal(Ray Tracing)
등 다양한 그래픽 API가 존재한다
Ray Tracing은 현재 그래픽 수준으로 감당이 안되지만
언젠가는 곧 다가올 미래이다
DirectX11(rasterizer)에서 DirectX12(Ray Tracing)로 갈수록
그래픽 작업가의 일의 강도가 높아진다
하드웨어 작업의 경우,
DirectX는 GPU가 자동으로 알아서 관리하는데
Vulkan과 Metal은 직접 수동으로 관리해줘야 한다
따라서, 하드웨어 작업 부분도 프로그래머한테 위임이 되고 있다
그래픽스 공부는 무엇으로 시작해야 하나?
그래픽스 공부는 dx11로 공부해서 그래픽스 지식을 얻고
기능들을 활용하는 것이 유리하다
전반적인 하드웨어 그래픽스 프로그래머는 dx12로 공부하는 것이 유리하다
비록 하드웨어 그래픽스 프로그래머가 아니더라도
언젠가는 dx12로 공부해야 하는 시점이 오게 된다
현재 게임 엔진 설계 방식의 방향성
게임 엔진 설계 방식은
Component 방식을 오랫동안 유지해오고 있다
최근에는 ECS 방식이 자리를 잡으려고 하는 중이다
그래픽스 지식을 공부해야 하는 이유
그래픽스 기반 지식을 튼튼하게 해 놓으면
게임 엔진 툴의 기반을 이미 알고 있기 때문에
어떤 게임 엔진이 나와도 습득이 빠르다
IMGUI와 MFC
일반적으로 엔진은 C++, 툴은 C#이라서 변경하는 작업이 필요하다
IMGUI는 C++이라 변경할 필요가 없고
최적화가 잘돼있지만
정보가 부족하고 개인이 만들어서 회사에서 안정적으로 쓰기는 힘들다
IMGUI를 개인적으로 사용하는 이유는 단순히 편하기 때문에 사용하는 경우가 있다
그래픽스에 집중하기 위해서 MFC는 사용하지 않는 경우가 많다
'그래픽스 > [기초] DirectX' 카테고리의 다른 글
[DirectX Note] 랜더링 파이프라인 (2) (0) | 2023.05.22 |
---|---|
[DirectX Note] 랜더링 파이프라인 (1) (1) | 2023.05.17 |
[DirectX Note] 애플리케이션 생성과 정적 라이브러리 추가 (0) | 2023.05.17 |