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