Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.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
openGl中的定向_Opengl - Fatal编程技术网

openGl中的定向

openGl中的定向,opengl,Opengl,有人能给我解释一下什么是对象的前向向量和右向向量,以及它们是如何使用的吗?你指的是如何使用对象或模型空间中的向量吗?每个对象或模型都有自己的坐标空间。这是必要的,因为模型中的点将相对于模型原点。这使得在更大的世界中使用任意模型成为可能。在世界中移动模型(平移)之前,需要对模型执行某些操作(如旋转)。如果我没弄错你的问题,你指的是一组向量,它们定义了模型在世界上的位置。这些向上、向前和向右的向量可能用于确定模型面对或移动的方向 我希望这有助于进一步阐述你的问题 这个Gamedev问题可能会有所帮助

有人能给我解释一下什么是对象的前向向量和右向向量,以及它们是如何使用的吗?

你指的是如何使用对象或模型空间中的向量吗?每个对象或模型都有自己的坐标空间。这是必要的,因为模型中的点将相对于模型原点。这使得在更大的世界中使用任意模型成为可能。在世界中移动模型(平移)之前,需要对模型执行某些操作(如旋转)。如果我没弄错你的问题,你指的是一组向量,它们定义了模型在世界上的位置。这些向上、向前和向右的向量可能用于确定模型面对或移动的方向

我希望这有助于进一步阐述你的问题


这个Gamedev问题可能会有所帮助

这些向量通常指的是所讨论模型的局部体轴的世界空间变换

通常,模型是根据某个局部坐标系定义的,该坐标系的原点位于质心、质心或其他便于构建对象几何体的位置。该局部坐标系有自己的xyz轴,其中x=[1,0,0]'、y=[0,1,0]'和z=[0,0,1]'。然后,模型中每个顶点的坐标将根据该局部帧定义。通常选择原点,以便模型的“前进”方向与本地x对齐,“左”方向与本地y对齐,“上”方向与本地z对齐(尽管任何右手系统都可以)


通过OpenGL中的modelview矩阵将模型放置到世界中。当模型的顶点发送到GPU时,它们将从其局部空间(也称为“对象”空间或“模型空间”或“实体空间”)进行变换通过将模型与modelview矩阵相乘,将其转换为世界空间。忽略缩放,modelview矩阵中左上角的3x3块是一个正交旋转矩阵,假设模型放置在世界原点,则该矩阵定义了身体轴到世界帧的投影。modelview矩阵通过添加translati增加为4x4位于模型视图矩阵右上角3x1块中的模型和世界原点之间。

对不起,我不清楚。我有一些对象,我应该使用glMultMatrix(对应矩阵)旋转和平移相反,glRotate,glTranslate,并获得上、前、右向量。问题是我不知道这些向量是什么,它们代表什么,它们的作用是什么。你试图使用glMultMatrix旋转和平移一个对象,而不是单独调用glRotate和glTranslate?我已经让它工作了,但在这方面s上下文我不知道旋转对象的上、前和右向量指的是什么。