glm-math 相关问题

GLM是一个C ++数学库,旨在尽可能地模仿OpenGL着色语言的数学函数和类型(向量,矩阵)。

glBegin()中的干扰向量

我正在尝试实现代码以渲染骨骼和网格动画。在我的glBegin(GL_TRIANGLES)部分中,当...

回答 2 投票 -1

OpenGL中四元数旋转问题(GLM / C ++)

我正在出于教育目的对游戏引擎进行编程,但我对旋转有些困惑。问题是我在UI中有3个正方形,以欧拉角表示对象的方向,并且从...

回答 1 投票 0

加载OBJ文件时出现分段错误

您对数据做错了。您是否通过了Wavefront OBJ specification? 每个面通常包含3个顶点。但是您的循环for (int i = 0; i < ivert.size(); i+=3)将收集每三个顶点,而不是三个顶点。 但这只是“冒险”的开始,因为您的代码期望加载的实际3D模型具有非常精确的结构,而OBJ格式允许将面部元素的组合非常灵活。 OBJ文件不仅可以支持三角形,而且还可以支持由4个或更多顶点组成的多边形(所有平面)。您不应该在任何地方对3号进行硬编码,但也许可以跳过/忽略由2个顶点组成的“线”。 数据向量的大小可能不同于3。通常,顶点坐标是2分量,而不是3,尽管有时您会看到3甚至4分量。 每个面指定其顶点的分量索引,f命令中的索引有多个变体-作为单个数字,仅指定位置。作为由/斜杠分隔的一对索引,指定位置和纹理坐标。作为索引的三元组,指定position / texture_coords / normal_vector。当模型具有不带纹理坐标的位置和法线数据时,您将看到一个三元组,其纹理坐标完全缺失,例如1//2。您必须跟踪这些差异,因为某些数据将完全丢失,对其进行索引将触发段错误。 另一个功能是索引本身。它们可以为负数,而不是指定数据数组中的位置,而是指定与组件向量的累积数组中的当前位置的偏移量。] 所以您的代码至少有两个绝对会导致段错误的问题,这取决于要加载的确切3D文件。 您不检查f命令中是否存在顶点分量索引(纹理坐标或法线),因此读取该索引将失败,从而产生垃圾或未初始化的零。在执行ttex[vertex - 1]时,您将从零中减去1,并且您正在读取数据数组之外的数据。 您不检查索引是否为负。因此,您将再次读取数据数组之外的内容。

回答 1 投票 0

如何使用键事件在OpenGL中转换对象?

我试图让按键移动对象。我有一个要应用于顶点着色器中的对象的模型视图投影矩阵。但是,我不明白应如何使用...

回答 1 投票 0

GLM:如何创建9列3行的矩阵

我只知道一种方法是glm :: mat4矩阵,我什至尝试了不起作用的float矩阵[9] [3],我需要用它乘以glm :: vec3如何创建?

回答 1 投票 1

现代OpenGL:如何创建9列3行的矩阵

这听起来像是一个愚蠢的问题,但我在任何地方都找不到!我只知道一种方法是glm :: mat4矩阵,我甚至尝试了float矩阵[9] [3]都行不通,我需要用它乘以...

回答 1 投票 0

具有局部y方向的向量与另一个向量的叉积

因此,我有一个由glm :: mat4 m_yellow_mat表示的立方体,我围绕z轴执行了30度旋转m_yellow_mat = glm :: rotate(m_yellow_mat,glm :: radians(30),glm :: vec3(0, 0,1)));现在...

回答 2 投票 0

使用GLM的潮湿相机?

我已经阅读了有关阻尼的文章。基本上是平稳的相机运动。但是,我不确定如何使用C ++,OpenGL和GLM来实现阻尼。帮我拿一个小的示例代码。

回答 1 投票 -4

同时旋转多个立方体的问题

最近开始学习OpenGL基础知识,画了我的第一个Cube,然后决定尝试使用多个元素。我现在正在做的是绘制一个由3个立方体组成的金字塔(两个并排,然后一个...

回答 1 投票 0

现代OpenGL:如何获取立方体的向量位置?

glm :: mat4 yellow_bone_obj_mat = m_bone_animation-> get_yellow_mat(); glUniformMatrix4fv(glGetUniformLocation(shader.program,“ model”),1,GL_FALSE,glm :: value_ptr(yellow_bone_obj_mat)); bone_obj-> ...

回答 1 投票 0

倒置的几何gBuffer透视图位置。正交可以吗?

我有一个延迟渲染器,看起来可以正常工作,深度,颜色和阴影正确显示。但是,位置缓冲区对正交而言是合适的,而几何图形看起来是“倒置的”(...

回答 1 投票 3

创建Mesh类并实现不会生成模型OpenGL?

我正在尝试创建一个可以为我生成模型的Mesh类,然后在createTriangle函数中调用该模型。但是,每当我尝试创建meshObj1和meshObj2,然后...

回答 1 投票 0

为何在GLFW窗口中使用此代码在我的屏幕上没有绘制任何立方体?

我有一堆代码(从各种教程中复制),它们应该绘制一个随机的变色立方体,相机每秒钟左右移动一次(使用变量,尚未使用计时器)。 ...

回答 1 投票 0

立方体在OpenGL中的位置

此代码的输出是25个旋转的小熊。我面临的问题是每个多维数据集的位置,我不知道如何使它们位于一行中,例如,一行中每5个多维数据集和...

回答 1 投票 0

不同旋转的立方体

我有25个立方体,我想分别旋转每个立方体,这是我在使用rand()尝试在x和y轴上进行编码的代码,但它不断奇怪地旋转它们,并且它们都沿相同方向旋转...

回答 1 投票 0

具有GLM的矢量矩阵乘法行为?

我绝不是数学家,我试图了解GLM向量和矩阵之间的乘法运算所发生的情况。据我了解,GLM的矩阵的大小为x ...

回答 1 投票 1

OpenGL:沿该方向旋转和移动

我想沿着猫的朝向旋转和移动它。但是,当我旋转猫时,它绕原点旋转,这不是我想要的。演示我知道...

回答 1 投票 0

为什么我会在屏幕上显示一半的三角形?

我遵循了本教程,并能够在屏幕上绘制20个三角形。但是,在该示例中,位置和颜色数据都存储在单个数组中,并作为单个...

回答 1 投票 0

OpenGL正交相机缩放无法正常工作

我为场景安装了一个小型2D相机。问题是,如果我尝试缩放相机,请注意一些如何左右移动而不是放大(每个对象上下移动)。我是...

回答 1 投票 0

[LookAt矩阵,当阴影平行于上矢量时

我正在学习LearnOpenGL教程,并且一直在进行阴影投射。到目前为止,一切工作正常,但是有一个非常具体的问题,我无法投射阴影...

回答 1 投票 1

© www.soinside.com 2019 - 2024. All rights reserved.