opengl-3相关内容

glGenVertexArrays 上的 OpenGL 段错误

OpenGL 或 SDL 在到达类中的第一个语句时会出现段错误.我不知道是什么原因造成的. 类渲染引擎 {GLuint vertexArrayId;GLfloat[] vertexBufferData = [-1.0f,-1.0f,0.0f,1.0f,-1.0f,0.0f,0.0f, 1.0f, 0.0f];GLuint vertexBufferId;公开这个(){glGenVertexArra ..
发布时间:2022-01-12 15:50:35 其他开发

OpenGL VAO 最佳实践

我面临一个我认为依赖于 VAO 的问题,但我不确定.. 我不确定 VAO 的正确用法,我过去在 GL 初始化期间所做的很简单 glGenVertexArrays(1,&vao) 后面跟着一个 glBindVertexArray(vao) 后来,在我的绘图管道中,我只是调用了glBindBuffer()、glVertexAttribPointer()、glEnableVertexAtt ..
发布时间:2021-12-19 17:44:54 其他开发

glReadPixels 获得的深度缓冲区始终为 1

我正在使用 glReadPixels 来获取所选像素的深度值,但我总是得到 1,我该如何解决?这是代码: glEnable(GL_DEPTH_TEST);..glReadPixels(x, viewport[3] - y, 1, 1, GL_DEPTH_COMPONENT, GL_FLOAT, z); 我有什么想念的吗?我的渲染部分如下所示.我使用不同的着色器来绘制场景的不同部分,那么我应该 ..
发布时间:2021-12-19 17:41:19 其他开发

在现代opengl中旋转立方体......看起来很奇怪

我有点失落,真的迷失了. 我正在尝试旋转一个立方体(现在只是围绕 y 轴),这是(丑陋和错误的)结果: 这是旋转矩阵的代码: def rotate(axis: Vector3, angle: Float): Unit ={val cosAngle: Float = Math.cos(angle).toFloatval sinAngle: Float = Math.sin(angle) ..
发布时间:2021-11-25 04:24:53 C#

GL_CULL_FACE 使所有对象消失

我正在尝试在 openGL3.3 中创建一些简单的多边形.我有两种具有以下属性的对象: 对象 1 - 10 个顶点(按顺序在下面列出)存储在 GL_ARRAY_BUFFER 中并使用 GL_TRIANGLE_FAN v x y z w0.0 0.0 1.0 1.00.0 1.0 0.1 1.00.71 0.71 0.1 1.01.0 0.0 0.1 1.0v 0.71 -0.71 0.1 ..
发布时间:2021-11-25 03:53:30 C#

GL_CULL_FACE 使所有对象消失

我正在尝试在 openGL3.3 中创建一些简单的多边形.我有两种具有以下属性的对象: 对象 1 - 10 个顶点(按顺序在下面列出)存储在 GL_ARRAY_BUFFER 中并使用 GL_TRIANGLE_FAN v x y z w0.0 0.0 1.0 1.00.0 1.0 0.1 1.00.71 0.71 0.1 1.01.0 0.0 0.1 1.0v 0.71 -0.71 0.1 ..
发布时间:2021-11-25 03:45:47 C#

OpenGL 4.1 和 3.1+,主要区别是什么?

我知道 OpenGL 4 和 3 非常相似,尤其是 3.1 和 4.1.由于两者基本上是一起发布的,因此很难理解 OpenGL 4.0/4.1 的基本原理. 在以前的 OpenGL 版本中,次要版本向上递增,直到实质性更改累积到新的主要版本中.OpenGL 3.x 和 4.x 引入了向后不兼容的 API 更改,然后据说 OpenGL 3.2 和 3.3 是 3 系列的特定分支,不向前兼容,而 ..
发布时间:2021-11-25 02:06:43 C#

Arch Linux 中没有 OpenGL 3 头文件

我正在尝试使用 FreeGLUT 编译一个非常简单的“Hello world"OpenGL 3.3 程序.在我找到的所有教程中,它们都包含一个标题“gl3.h".问题是,我没有这样的头文件. $ ls -l/usr/include/GL/总计 2164-rw-r--r-- 1 根 8797 1 月 20 日.17:44 freeglut_ext.h-rw-r--r-- 1 根根 681 20 j ..
发布时间:2021-11-17 03:24:46 C/C++开发

OpenGL &Ubuntu 12.04 下 HD Graphics 4000 上的 GLSL 3.3

我正在运行该配置: Ubuntu 12.04 英特尔高清显卡 4000 glxinfo 给我那个参数: OpenGL 渲染器字符串:Mesa X11OpenGL 版本字符串:2.1 Mesa 8.0.4OpenGL 着色语言版本字符串:1.20OpenGL 扩展: 我的目标是运行 OpenGL 3.3(以及 GLSL 3.3).如果我很容易解决开发问题,那么我就会迷失在硬件和驱动 ..
发布时间:2021-09-12 19:17:58 其他开发

对于制服和顶点属性,OpenGL 索引和位置是否相同?

在 OpenGL 参考页面中,一些函数被标记使用统一位置,而其他函数被标记为使用统一指数.这些是同一回事吗? 与顶点属性类似,一些函数被标记为使用顶点属性索引,而 other 函数被标记为使用顶点属性位置.这些都一样吗? 解决方案 在你的第一种情况下,Uniform 的 location 与 index 不同>glGetActiveUniform(). 对于 glGetActi ..
发布时间:2021-06-12 20:08:07 其他开发

正交光栅化中的近/远平面和 z

我编写了大量着色器,但我偶然发现了一些我以前从未意识到的东西. 我需要一个带有简单正交投影的顶点 + 片段着色器,没有深度测试. 相机与原点对齐. 我禁用了 GL_DEPTH_TEST,并屏蔽了深度写入.事实如此简单,以至于我决定我什至不需要投影矩阵.以我完全的无知和独创性,我认为对于任何三角形顶点,顶点着色器只会将 x,y(,z = ,w = 1) 传递给片段着色器. 我 ..
发布时间:2021-06-12 20:07:04 其他开发

在OpenGL 4.0中绘制球体

我的OpenGL版本是4.0.我想通过纬度和经度来画一个球.我使用这种方法: x = ρsinϕcosθy = ρsinϕsinθz = ρcosϕ 这是我的代码的一部分: glm :: vec3缓冲区[1000];glm :: vec3外部;buffercount = 1000;浮动部分= 10.0f;GLfloat alpha,beta;int索引= 0;对于(alpha = 0. ..
发布时间:2021-05-31 20:53:06 C/C++开发

什么时候应该在OpenGL中使用STD140?

何时将STD140用于OpenGL中的统一块? 尽管我不确定100%,但是我相信有另一种方法可以实现相同的目标,称为“共享". 这仅仅是对编码者的偏爱吗?还是有理由在一个之上使用另一个? 解决方案 统一缓冲区对象在 http://www.opengl.org/registry/specs/ARB/uniform_buffer_object.txt 可以声明统一块的数据存储 ..
发布时间:2021-05-11 19:04:24 其他开发

具有奇特宽度的16位纹理正在震撼

我正在使用以下OpenGL命令上传35 x 100 16bpp纹理: glTexImage2D(GL_TEXTURE_2D,0,GL_RG8,35,100,0,GL_RG,GL_UNSIGNED_BYTE,pixelData); 但是随着y的增加(在绘制时以及在gpu内存中进行检查时),最终生成的纹理向左倾斜了一个像素: o o x o o o o x oo o x o o o o o ..
发布时间:2021-04-19 20:07:54 C/C++开发

无法部署GLFW 3.2

所以这是个傻瓜; 我有一个相当大的OpenGL解决方案,在Windows 7中以3.2版内核和GLSL 1.5编写.我正在使用GLEW和GLM作为帮助程序库.创建窗口时,使用的是以下几行: // Initialize main window glewExperimental = GL_TRUE; glfwOpenWindowHint(GLFW_OPENGL_VERSION_MAJOR, 3 ..
发布时间:2020-11-15 23:41:31 C/C++开发