试图在屏幕对齐的四边形中放大任意矩形

mos*_*ald 5 c++ opengl zoom

我有一个屏幕对齐的四边形,我想放大那个四边形中的任意矩形,但我没有得到我的数学.

我想我已经完成了翻译,而不是缩放.基本上,我的代码如下:

//
// render once zoomed in
glPushMatrix();
glTranslatef(offX, offY, 0);
glScalef(?wtf?, ?wtf?, 1.0f);

RenderQuad();

glPopMatrix();

//
// render PIP display
glPushMatrix();
glTranslatef(0.7f, 0.7f, 0);
glScalef(0.175f, 0.175f, 1.0f);

RenderQuad();

glPopMatrix();
Run Code Online (Sandbox Code Playgroud)

有人有任何提示吗?用户选择一个矩形区域,然后将这些值作为[x,y,w,h]传递给我的渲染对象,其中这些值是视口宽度和高度的百分比.

Jer*_*fin 0

当我需要这样做时,我总是只是更改传递给glOrthoglFrustrumgluPerspective或其他任何东西(无论我使用哪个)的参数。