Почему меняются пропорции примитивов directX?
Сразу прошу прощения за, возможно, глупые вопросы,я только начал читать про directx.Проблема такова,я создаю окно,и рисую на него квадрат:
int Render()
{
dx_Device->Clear(0, 0, D3DCLEAR_TARGET, 0, 1.0f, 0);
dx_Device->BeginScene();
DrawBox(0, 0, 50, 80, 1, 255, 100, 20, 255);
dx_Device->EndScene();
dx_Device->PresentEx(0, 0, 0, 0, 0);
return 0;
}
void DrawBox(float x, float y, float width, float height, float px, int r, int g, int b, int a)
{
D3DXVECTOR2 points[5];
points[0] = D3DXVECTOR2(x, y);
points[1] = D3DXVECTOR2(x + width, y);
points[2] = D3DXVECTOR2(x + width, y + height);
points[3] = D3DXVECTOR2(x, y + height);
points[4] = D3DXVECTOR2(x, y);
dx_Line->SetWidth(px);
dx_Line->Draw(points, 5, D3DCOLOR_RGBA(r, g, b, a));
}
LRESULT CALLBACK Proc(HWND CheatHWND, UINT Message, WPARAM wParam, LPARAM lParam)
{
switch (Message)
{
case WM_PAINT: // we need to paint? lets paint!
Render();
break;
case WM_CREATE:
return DwmExtendFrameIntoClientArea(CheatHWND, &pMargin); // extension of window frame into client area
break;
case WM_DESTROY:
PostQuitMessage(0); // We need to use this to exit a message loop
break;
default:
return DefWindowProc(CheatHWND, Message, wParam, lParam); // Making sure all messages are processed
break;
}
}
Но при изменении размера окна,почему то фигура растягивается или сжимается,причем если окно довольно узкое фигура может сразу рисоваться не того размера которого я задал.Почему так происходит,ведь я же четко задаю размеры примитиву?
p.s за что минус?