좌표 변환 = 정점 공간 변환
주로 행렬을 통해 변환 작업 수행
local Vertex
-> World Vertex
-> View(Camera) Vertex
-> Projecttile Vertex
-> NDC Vertex
-> Screen Vertex
class Minimap
{
private:
Camera* _camera;
void NewViewPort(float x, float y, float width, float height);
};
void NewViewPort(float x, float y, float width, float height)
{
D3D11_VIEWPORT viewPort;
viewPort.TopLeftX = x;
viewPort.TopLeftY = y;
viewPort.Width = width;
viewPort.Height = height;
viewPort.MinDepth = 0.0f;
viewPort.MaxDepth = 1.0f;
_deviceContext->RSSetViewports(1, &viewPort);
}
struct Camera
{
float x;
float y;
// 너비와 높이가 커질수록 Object는 작게 표현
float _width;
float _height;
}
Starcraft와 같이 미니맵이 단순하게 피아의 색상으로만 표현되는 경우 미니맵용 쉐이더를 따로 지정하는 방법이 유용할 듯