Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java LWJGL/OpenGL渲染问题(中心渲染/弯曲多边形)_Java_Opengl_3d_Lwjgl - Fatal编程技术网

Java LWJGL/OpenGL渲染问题(中心渲染/弯曲多边形)

Java LWJGL/OpenGL渲染问题(中心渲染/弯曲多边形),java,opengl,3d,lwjgl,Java,Opengl,3d,Lwjgl,因此,我在LWJGL中创建了一个简单的3d渲染引擎,我遇到了这样一个问题:当我从一个对象备份时,它会向左和向上移动(朝向0,0),而我真的需要它移动到screenResX/2,screenResY/2(可能是0,我不知道)。有没有一种方法,我可以设置某种变量,让它向中心淡入 此外,在这个引擎中,我需要弯曲多边形来渲染,就好像玩家在看多边形一样。目前,我只有多边形渲染,如果你直视它们,我知道这不是需要的,有人能帮我吗 提前感谢您的帮助,这是我的第一个3d引擎,我对此一无所知。所以对于第一个问题:缩

因此,我在LWJGL中创建了一个简单的3d渲染引擎,我遇到了这样一个问题:当我从一个对象备份时,它会向左和向上移动(朝向0,0),而我真的需要它移动到screenResX/2,screenResY/2(可能是0,我不知道)。有没有一种方法,我可以设置某种变量,让它向中心淡入

此外,在这个引擎中,我需要弯曲多边形来渲染,就好像玩家在看多边形一样。目前,我只有多边形渲染,如果你直视它们,我知道这不是需要的,有人能帮我吗


提前感谢您的帮助,这是我的第一个3d引擎,我对此一无所知。

所以对于第一个问题:缩放总是围绕原点进行。这意味着您必须将对象转换为原点,缩放对象,然后将其转换为目标。这里可以更好地解释这一点:

但基本情况是这样的(从链接的问题):


我仍然不太明白你的第二个问题,但我猜你的意思是你想用透视而不是正交的方式来画东西。看一看,或者用它来代替格洛托(…)

我不太理解这些问题。对于第一部分,您的意思是当您通过修改其位置将相机向后拉时?第二部分,你的意思是像广告牌一样吗?@PeterT对于第一部分,我通过缩小多边形的大小来拉回相机,因为相机离得更远。@PeterT对于第二部分,我想要画一些东西,就像你从不同的角度看它一样,但它仍然朝着相同的方向。直视它会是一个正方形,但稍微转动它会使它看起来像一个矩形。你可以使用
-sourceCenter.x
而不是
sourceCenter.x*-1.0
表示x,使用
-sourceCenter.y
而不是
sourceCenter.y*-1.0
表示y。
//this moves the scaled 
glTranslatef(destCenter.x, destCenter.y, 0.0);
//scale to the desired factor
glScalef(scaleX, scaleY, 0.0);
//move the center of the scaling operation into the origin
glTranslatef(sourceCenter.x * -1.0, sourceCenter.y * -1.0, 0.0);