opengl相关内容

为什么 glGetString(GL_VERSION) 会导致段错误?

我正在 Fedora 13 上学习 OpenGL,并注意到对 glGetString 的调用导致了段错误.我已经搜索了 Google,但没有找到解决方案. 代码很简单: #include int main() {glGetString(GL_VERSION);返回0;} 编译命令: g++ -lGL main.cpp -o test.bin 运行结果: $ ./test.bin分段 ..
发布时间:2021-12-19 18:39:55 其他开发

获取当前 ModelView 矩阵

在 OpenGL 中,如何读取模型视图矩阵中的当前 x/y 平移?我知道您必须将当前矩阵加载到一个数组中并从那里读取浮点数,但我不知道具体该怎么做. 解决方案 为了检索当前的模型视图矩阵,您必须调用 glGetFloatv 函数,带有 GL_MODELVIEW_MATRIX 参数. GLfloat 矩阵[16];glGetFloatv (GL_MODELVIEW_MATRIX, 矩阵); ..
发布时间:2021-12-19 18:39:47 C/C++开发

CMake 在 Ubuntu 中找不到 OpenGL

我想在 Ubuntu 中安装 VTK.CMake 向我发送此错误: CMake 错误在/usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:108(消息):找不到 OpenGL(缺少:OPENGL_gl_LIBRARYOPENGL_INCLUDE_DIR) 调用堆栈(最近调用优先): /usr/share/cmak ..
发布时间:2021-12-19 18:39:10 其他开发

Opengl 对象挤出

我有一个用 opengl 绘制的 3d 框,有人能解释一下如何在 opengl 中挤出对象吗?对于每个框,我是否只是在 z 轴上进一步平移? 解决方案 这种方法可行,但您必须计算每一步要翻译多少.不过,我建议以更智能的方式生成挤压几何体. 例如,您不应为中间的盒子绘制盒盖(地板和天花板).您还必须确保两侧完美接触,否则会出现伪影. 我建议使用路径来确定每组顶点所在的平面.路径应 ..
发布时间:2021-12-19 18:39:03 C/C++开发

单个 MFC 对话框上的 OpenGL 两种不同的 3d 渲染图片控件不起作用

我正在使用 VC++ MFC 制作一个应用程序,其中我有两个不同的 opengl 窗口.我遵循了 在此处输入链接描述 我能够成功使用一个图片控件,其中 opengl 窗口显示正确的渲染,但如果我创建该控件的两个不同对象,则一个窗口不显示任何内容. 在这里解释更多是代码 m_WinGL 和 m_WinGL2 是 initDialog 内部自定义类的两个不同对象. //获取我们之前 ..
发布时间:2021-12-19 18:38:53 C/C++开发

C# 渲染 OpenCL 生成的图像

问题:我正在尝试实时渲染动态 Julia 分形.因为分形在不断变化,我需要能够每秒渲染至少 20 帧,最好更多.关于 Julia 分形,您需要了解的是,每个像素都可以独立计算,因此该任务很容易并行化. 第一种方法:因为我已经习惯了 C# 中的 Monogame,所以我尝试在 HLSL 中编写一个可以完成这项工作的着色器,但是编译器一直抱怨,因为我使用了超过允许的数量64 个算术槽(我至少需要 ..
发布时间:2021-12-19 18:38:46 C#/.NET

如何将模型矩阵包含到 VBO 中?

我想发送一个缓冲区列表(到 GPU/顶点着色器),其中包含有关顶点位置、世界位置、颜色、比例和旋转的信息. 如果我的每个 3D 对象在矩阵中都有与变换相关的信息,我如何通过 VBO(s)将这个矩阵数组(除了其他顶点数据)传递给 GPU? 已更新请原谅任何错别字: //绑定 &设置顶点.gl.bindBuffer(gl.ARRAY_BUFFER, vertexBuffer);gl.ve ..
发布时间:2021-12-19 18:38:35 其他开发

OpenGL 变换不同轴多次旋转的对象

我正在构建一个建模程序,我想对它们自己空间中的对象进行变换,然后将该单个对象分配给一个组,以围绕该组旋转的另一个轴旋转.但是,我也希望能够在组合时在对象自己的空间中进行转换. 操作单个对象,我选择对象的中心. glm::mat4 变换;变换 = glm::translate(transform, - obj.meshCenter);glm::mat4 变换 1;变换1 = glm::tra ..
发布时间:2021-12-19 18:38:18 C/C++开发

将 uint 属性传递给 GLSL

我试图将一堆连续的无符号整数作为属性传递给我的 GLSL 着色器. 到目前为止我想出了 s_number = glGetAttribLocation(shader, "number");numberData = new GLuint[dotAmount];for (GLuint i = 0; i 渲染函数是 glUseProgram(shader);[..]glEnableVerte ..
发布时间:2021-12-19 18:38:05 其他开发

GLFW 第一响应者错误

我正在尝试创建一个简单的 GLFW 窗口并成功但 xcode 给了我一个错误: 2016-12-14 10:16:40.412191 CREngine[830:21929] [General] ERROR: Setting 作为窗口 的第一响应者,但它在不同的窗口中 ((null))! ..
发布时间:2021-12-19 18:37:50 C/C++开发

桌面是否有最大的 libGDX 纹理大小?

我知道在移动设备上,您可以在单次绘制中渲染的最大纹理不同:有时仅为 1024x1024 - 有时为 2048x2048 等. 桌面游戏是什么情况?我使用的是 OpenGL 2.0. 我打算绘制一个可能大到 5000x5000 的背景精灵.我猜在这种情况下 TexturePacker 不是很有用,因为我真的不需要图集,因为我只是想制作一个精灵. 是的,我刚刚测试了 5000x500 ..
发布时间:2021-12-19 18:37:41 其他开发

正确的 glsl 仿射纹理映射

我正在尝试在 GLSL 中编写正确的 2D 仿射纹理映射. 说明: ...这些图像都不是我的目的.正确(标记为正确)具有我不想要的透视校正.所以这个:了解Q纹理坐标解决方案(没有进一步改进)不是什么我在找. 我想简单地“拉伸"四边形内部的纹理,如下所示: 但由两个三角形组成.请问有什么建议(GLSL)吗? 解决方案 感谢您的回答,但经过试验我找到了解决方案. ..
发布时间:2021-12-19 18:37:34 其他开发

以非常大的图像分辨率捕获 OpenGL 窗口的快照

我目前正在尝试使用 glReadPixels 在不同的相机位置和不同的图像分辨率拍摄 OpenGL 渲染的 3D 世界的快照.对于实现 OpenGL windows 程序的 GUI 库,我有两种选择:Qt 和 freeglut.在对两者进行了几次实验后,我意识到 Qt 不会将其 QGLWidget 快照的图像分辨率限制为桌面大小,但我无法对 freeglut 做同样的事情. 我希望我可以将 ..
发布时间:2021-12-19 18:37:18 其他开发

SOIL 连接不正确

我正在我的库中链接 SOIL,但是当我编译时,我收到这些链接器错误: 1>LINK : 警告 LNK4098: defaultlib 'MSVCRT' 与其他库的使用冲突;使用/NODEFAULTLIB:library1>libSOIL.lib(stb_image_aug.o):错误 LNK2019:未解析的外部符号 __alloca 在函数 _stbi_zlib_decode_noheader ..
发布时间:2021-12-19 18:37:07 C/C++开发

NixOS、Haskell、opengl:构建和运行 openGL 程序的问题

我在 NixOS 上遇到 GL 问题:这个问题似乎很老了,但在 2017 年仍然没有直接的解决方案! 我正在尝试使用 Gloss 库构建 Haskell 程序.我已经使用 nix-shell -p mesa 安装了 gloss 和它需要的一切,它似乎已经正确构建和安装(使用 cabal install).但是,如果我在同一个 nix-shell 中构建程序,则它不起作用: $ nix-sh ..
发布时间:2021-12-19 18:36:48 其他开发

有人可以解释一下这个片段着色器吗?这是一个色度键过滤器(绿屏效果)

我正在尝试了解此色度键过滤器的工作原理.Chroma Key,如果你不知道,是一种绿屏效果.有人能解释一下这些函数中的一些是如何工作的以及它们究竟在做什么吗? float maskY = 0.2989 * colorToReplace.r + 0.5866 * colorToReplace.g + 0.1145 * colorToReplace.b;浮动掩码Cr = 0.7132 *(color ..
发布时间:2021-12-19 18:36:38 其他开发

没有纹理绑定的 OpenGL 采样

当像这样在 GLSL 中采样纹理时: vec4 color = texture(mySampler, myCoords); 如果没有纹理绑定到 mySampler,color 似乎总是 (0, 0, 0, 1). 这是标准行为吗?或者它可能在某些实现中undefined?我在规范中找不到任何内容. 解决方案 实际上没有所谓的“未绑定"——您只是绑定到称为纹理 0 的初始纹理对象. ..
发布时间:2021-12-19 18:36:20 其他开发