MoKa
есть два основных способа вывести 2д графику.
1-й - простой. аля блитц3д. тупо выводим ее и все (указывая позицию и прочие параметры).
например:
Render();
Rect(10,10,20,50);
Oval(100,400,100);
usershape->Draw(400,100);
Flip();
2-й - сложный.
Render();
Begin2D();
Translate2D(10,20);
Rect(0,0,20,50);
End2D();
Begin2D();
Translate2D(100,400);
Oval(0,0,100);
End2D();
Begin2D();
Translate2D(400,100);
usershape->Draw();
End2D();
Flip();
во втором случае мы получаем больший контроль за матрицей трансформацией, например можно легко поворачивать, скалить, перемещать объект. Кроме того получаем дополнительный бонус - некое подобие родительской привязки.
Цвет, Блендиг, Альфа-тест, Шейдеры, Фбо, привязка текстур и прочее обрабатывается одинаково для обоих случаев.