使用px在OpenGl上移动图像



我正在使用OpenGl绘制图像。现在,当我试图移动图像时,它移动得太多了。因此,如果我说以下内容:

gl.glTranslatef(0, 1, -5.0f);
squirrel.draw(gl);

如果我去掉一个作为参数,图像现在位于屏幕的一半。我该怎么做才能说这样的话:

gl.glTranslatef(screen_width - image_width , 0);

在OpenGl中绘制图像有其他方法吗?我以前使用画布绘制图像,在屏幕上定位图像没有问题。然而,对于openGl,我遇到了一些问题。

您需要记住的是,OpenGL中的屏幕空间范围为-1、-1(左上)和1,1(右下)。因此,您需要向OpenGL提供规范化的值。要沿x方向从屏幕的一端(-1.0)向左向右移动一个点到另一端(1.0),必须使用glTranslatef(2.0,0,0)按2.0平移。此点位于边界上,因此必须根据对象的实际大小及其位置进行调整。

最新更新