Тест 4. Отрисовка примитивов
Попробуем нарисовать примитив в картинку. Размеры картинки выберем с учётом возможных артефактов: не превосходящими размеры окна. Усложним задачу, назначив точку вывода на 50 пикселей левее и выше начала картинки.
xAppTitle("sample");
xGraphics3D(800, 600, 32, false, true);
xColor(190,0,0);
int img=xCreateImage(600,600);
xSetBuffer(xImageBuffer(img));
xOrigin(-50,-50);
xRect(0,0,650,650,true);
xColor(255,100,0);
xOval(0,0,650,650,true);
xSetBuffer(xBackBuffer());
xOrigin(0,0);
xColor(255,255,0);
while(!xKeyDown(1) || xWinMessage("WM_CLOSE"))
{
xCls();
xRenderWorld();
xDrawBlock(img,0,0);
xRect(0,0,xImageWidth(img),xImageHeight(img),false);
xFlip();
}
return 0;
Что я получаю на выходе:
Прямоугольник должен занять всю область т.к. -50+650=600 (начало_вывода+размер=конец_вывода). Визуально - до рамки он не дотягивает. Для контроля вывожу поверх круг, с такими же аргументами - он действительно касается рамки.
Но почему квадрат рисуется неправильно?