opengl相关内容

使用pyreder/pyglet/OpenGL将3D顶点映射到像素

我正在实现使用图像进行3D点估计的新算法,目前我正在尝试在3D虚拟模型上测试它,然后再转向真实对象。 算法输入的是最后一次转换到视区大小之前的像素,因此要在渲染图像上测试算法,我需要知道形状中像素的反向转换([0,witdh],[0,Height])。 据我所知,我正在使用来自库pyrender的透视投影来渲染3D网格的2D图像,并使用OpenGL方法进行渲染。 示例: 我有一个 ..
发布时间:2022-09-06 09:54:51 Python

现代OpenGL MacOS纯黑屏

我正在学习C++中OpenGL的教程(YouTube上的Cherno)。我有以下代码,但无论我尝试什么,我都无法画出一个三角形。创建了一个窗口,我没有得到任何错误等,我甚至可以用glClearColor更改背景颜色。但没有三角形! 仅供参考,我是通过Homebrew安装GLFW/Glew的,我使用的是Clion。 CMakeList.txt cmake_minimum_requi ..
发布时间:2022-08-28 19:39:35 C/C++开发

顶点属性位置始终为4分量,这是否意味着我可以将mat2用作顶点属性而不会有任何问题??(OpenGL)

我知道顶点属性位置始终为4分量,但我不完全确定它是否也适用于mat2(和其他mat2类型)。 推荐答案 这取决于您所说的没有任何问题。 是,mat2是顶点属性的有效类型。但是,when used as attributes,所有矩阵类型都被视为矩阵列的数组。处理数组时,每个数组元素都是单独的属性。 因此mat2算作两个属性,而不是一个属性(特别是每个属性的前两个组件)。如果这对 ..
发布时间:2022-08-04 13:56:30 其他开发

从点到角的三维坐标

我在一个简单的OpenGL世界上工作--到目前为止,我已经有一堆随机放置的立方体,四处缩放非常有趣。不过,我已经准备好继续前进了。我很想在我的相机前丢掉积木,但我在3D角度上遇到了麻烦。我习惯了2D的东西,在那里找到终点我们只需做如下的事情: endy = y + (sin(theta)*power); endx = x + (cos(theta)*power); 然而,当我添加第三个维 ..
发布时间:2022-07-20 09:40:38 其他开发

2D平台冲突处理

我正在尝试创建一个2D Platform(马里奥类型)游戏,我在正确处理碰撞方面有一些问题。我用C++编写这个游戏,使用SDL进行输入、图像加载、字体加载等。我还通过FreeGLUT库和SDL一起使用OpenGL来显示图形。 我的碰撞检测方法是AABB(轴对齐边界框),这是我真正需要开始的全部内容。我需要的是一种简单的方法,既能检测碰撞发生在哪一边,又能正确处理碰撞。因此,基本上,如果球员与 ..
发布时间:2022-07-11 20:42:13 C/C++开发

GLSL的ImageLoad()总是返回0?

我已经创建了一个纹理并填充了一些数据: glBindTexture(GL_TEXTURE_2D, head_pointer_image); glTexImage2D(GL_TEXTURE_2D, 0, GL_R32UI, width, height, 0, GL_RED_INTEGER, GL_UNSIGNED_INT, data); 然后我将其绑定到0: glBindImageT ..
发布时间:2022-06-28 16:28:01 其他开发

如何添加图像作为3D立方体的纹理

如何将图像作为纹理添加到我的多维数据集中: 我想将自己提供的图像添加为立方体的表面,同时仍有一些照明 我正在使用Visual Studio代码作为我的编译器 以下是我复制的代码: import pygame from pygame.locals import * from OpenGL.GL import * from OpenGL.GLU im ..
发布时间:2022-06-21 19:00:50 Python

我可以在OpenGL中使用不同的多GPU吗?

我读到了OpenGL multi-GPU support。我目前使用的是支持OpenGL 4.5的NVIDIA卡。我的IGPU是Intel HD 610,我不知道它是OpenGL版本。现在我正试图同时使用这两种方法。我知道DirectX 12可以支持不同的GPU。OpenGL是否同时支持英特尔IGPU和NVIDIA GPU?我可以使用IGPU端口显示,并使用NVIDIA卡在搅拌机中循环渲染吗?(最 ..
发布时间:2022-05-30 19:41:40 其他开发

OpenGL,变换的逆

如果我有3个不同的矩阵,一个用于旋转(R),一个用于平移(T),一个用于缩放(S),如何通过操作引起这些矩阵的一个来达到相反的效果? 到目前为止,我收集到的是,如果我转置了旋转矩阵,我将实现我想要的(这是正确的吗?)。那另外两个呢? 如果有一种常见的方法,有没有什么特殊情况下这些方法不能满足需要? 推荐答案 旋转矩阵R的逆确实是其转置RT。 缩放矩阵的逆S很简单,因为它只包含对 ..
发布时间:2022-05-13 16:20:04 其他开发

OpenGL错误验证失败:未绑定顶点数组对象

网格类不再绑定Vao,但它仍然不起作用。一切似乎都应该井然有序。我绑定了Vao,然后是VBO,我创建了着色器,但随后由于未绑定Vao而导致验证失败?多么?我做网状物的时候就把它绑起来了,永远不会解开它。我不明白这个节目。我做错了什么 public boolean create(float vertices[]) { vCount=vertices.length/3; //ge ..
发布时间:2022-05-07 10:07:51 Java开发

使用Xvfb运行OpenGL特效版本吗?

我正在尝试在无头ubuntu服务器上运行OpenGL。 图形处理器/驱动程序:NVIDIA GeForce GTX 1080Ti/版本418.67 使用freeglut(通过运行apt install freeglut3-dev安装) 使用Xvfb(因为它是无头服务器) 当我运行glxinfo | grep "OpenGL version"时,它显示OpenGL version s ..
发布时间:2022-03-24 22:27:23 服务器开发

我应该垂直翻转加载了STB_IMAGE的图像的线条以在OpenGL中使用吗?

我正在使用OpenGL驱动的2D引擎。 我使用STB_IMAGE加载图像数据,以便可以创建OpenGL纹理。我知道OpenGL的UV原点是左下角,我还打算在该空间中为我的屏幕空间2D顶点工作,即我使用的是GLM::Ortho(0,width,0,Height,-1,1),而不是反转0和Height。 您可能已经猜到了,我的纹理是垂直翻转的,但我百分之百确定我的UV指定正确。 那么:这 ..
发布时间:2022-03-24 19:16:26 C/C++开发

沿路径以恒定速度移动对象

我有一个由点分布非常不均匀的多段线(3D点阵列)组成的对象路径。我需要使用时间间隔设置为10毫秒的计时器以恒速移动对象。 不均匀分布的点对人眼产生可变的速度。所以现在我需要决定如何处理这个长的3D点阵列。 我得到的第一个想法是将较长的部分细分为较小的部分。它工作得更好,但是在点拥挤的地方问题仍然存在。 在这些情况下最好的方法是什么?另一种方法是使用Ramer–Douglas–Peuc ..
发布时间:2022-03-24 16:08:42 其他开发

OpenGL批渲染器中的纹理出血/损坏

在C++中开发了一个引擎,并基于Cherno's video series实现了一个批处理渲染器。它在一段时间内似乎工作得很好。最近注意到,在参与该项目的两台计算机中的一台上,精灵的一种纹理奇怪地渗入另一种纹理。 经过一些研究后,我们注意到,具体而言,出血是根据它们的渲染顺序发生的。其中第一个渲染的精灵没有问题,后续的精灵大部分都是正确的,有一小部分像素来自最后绘制的精灵的纹理。 我们 ..
发布时间:2022-03-13 12:20:26 C/C++开发

将3字节数据发送到OpenGL GLSL

我正在开发一个基于Voxed的小游戏。我不打算创建“我的世界”副本,但这不是这里的重点。 使用C++OpenGL和VBO时,我无法成功地将“非标准”类型发送到我的GLSL Shader。 假设一个由3个uint8_t属性组成的结构,我尝试将此结构的数组发送到我的GLSL。但我无法获取正确的值。 我找到的最准确的东西是:WebGL - How to pass unsigned byte ..
发布时间:2022-03-11 20:08:20 C/C++开发

OpenGL二进制程序格式是否标准化?

我一直在搜索OpenGL二进制格式以及它们的实际含义。到目前为止,我还没有取得太大的成功。我知道我可以获取数量和格式集,如下所示: ::glGetIntegerv(GL_PROGRAM_BINARY_FORMATS, &values[0]); ,其中值是大小为 的整数的std::向量 ::glGetIntegerv(GL_NUM_PROGRAM_BINARY_FORMATS, &va ..
发布时间:2022-03-11 19:50:35 其他开发