opengl相关内容

如何正确使用 gluLookAt?

我不想用复杂的三角学来计算我的 3D 世界的旋转和类似的东西,所以 gluLookAt 似乎是一个不错的选择.根据文档,我需要做的就是为相机位置放置 3 个坐标,三个用于我应该查看的位置和一个“向上"位置.最后一个没有意义,直到我认为它必须与屏幕顶部方向的视线成直角. 它根本不是那样工作的.我有一些python代码.这是当我进入游戏的这一部分时初始化一些数据和一些模式代码的代码: def ..
发布时间:2021-12-19 18:25:10 Python

什么是 EGL 以及如何使用它

谁能解释一下什么是 EGL 以及它的作用是什么? 如何在 Linux 上将 EGL 与 OpenGL-ES 结合使用? EGL 是介于硬件和操作系统之间的层吗? 解决方案 EGL is a window独立于系统的等效于 GLX 和 WGL API,它们分别在 X 和 Microsoft Windows 中启用 OpenGL 支持.它是 OpenGL ES 或 OpenVG 等 ..
发布时间:2021-12-19 18:25:02 服务器开发

透视投影中的 3D 场景平移 (OpenGL)

我设计了一个 C++ 类,将用户从轨迹球旋转、缩放和平移中抽象出来.我已经按预期进行了旋转(使用轨迹球)和缩放.但是,平移不会按预期进行.当我选择一个点并拖动时,我希望在完成拖动时,选择的点继续位于鼠标下方.我对透视投影中平移的理解如下.目标和相机位置都会受到平移操作的影响.相机目标和相机位置(眼睛)应与拖动成比例地平移.比例(可能不是常数)应基于 z 深度. 平移在正交投影中是直接的,但在 ..
发布时间:2021-12-19 18:24:43 C/C++开发

如何为 OpenGL 的线条添加发光效果?

如何为我绘制的线条添加发光效果?我在 Linux 上使用 OpenGL. 解决方案 您可以实现 Nehe 第 36 课.主要思想是将绘图渲染到纹理,并在每次渲染后以小偏移量执行 N 次,直到绘图准备好复制到帧缓冲区. 我编写了一个使用 Qt 和 OpenGL 的小演示.您可以在下面看到原始绘图(没有模糊): 下图显示了打开模糊效果的绘图: 我知道这并不多,但这是一个开始. ..
发布时间:2021-12-19 18:24:35 服务器开发

关于 glut 函数的 xcode 5 弃用警告

今天早上我刚刚将我的 mac os x 10.6.8 升级到 10.9.除了带有 OpenGL Glut API 的 Xcode 5 之外,一切都很好.每当我运行涉及 glut 函数的程序时,都会收到 30 条弃用警告,例如: 'gluErrorString' 已弃用:首先在 OS X 10.9 中弃用.'glutBitmapCharacter' 已弃用:首先在 OS X 10.9 中弃用.'g ..
发布时间:2021-12-19 18:24:25 移动开发

OpenGL 中的 glm 旋转用法

我正在渲染一个圆锥体,我想将它逆时针旋转 90 度,使尖端朝西!我使用的是 OpenGL 3+. 到目前为止,这是我在 Cone.cpp 中的代码: //投影glm::mat4 投影 = glm::perspective(45.0f, 1.0f, 0.1f, 100.0f);//看法glm::mat4 视图 = glm::mat4(1.);View = glm::translate(Vie ..
发布时间:2021-12-19 18:24:08 C/C++开发

了解 glVertexAttribPointer 吗?

private int vbo;私人内部情报局;vbo = glGenBuffers();ibo = glGenBuffers();glBindBuffer(GL_ARRAY_BUFFER, vbo);glBufferData(GL_ARRAY_BUFFER, Util.createFlippedBuffer(vertices), GL_STATIC_DRAW);glBindBuffer(GL_E ..
发布时间:2021-12-19 18:23:53 其他开发

将GPU计算的结果返回给OpenGL中的CPU程序

有没有办法将在 GPU 上运行的着色器的结果返回给在 CPU 上运行的程序? 我想根据 GPU 上的计算成本高的算法从简单的体素数据生成多边形网格,但我需要 CPU 上的结果进行物理计算. 解决方案 定义“结果"? 一般来说,如果您使用 OpenGL 进行 GPGPU 风格的计算,您将需要围绕渲染系统的需求构建着色器.渲染系统设计为单向:数据进入其中并生成图像.反过来说,让渲染 ..
发布时间:2021-12-19 18:23:42 其他开发

OpenGL/DirectX 钩子 - 类似于 FRAPS

是否可以像 FRAPS 那样检测哪些应用程序正在使用 OpenGL 或 DirectX?(可能使用某种形式的钩子)?我可能不需要实际绘制到窗口,我只需要知道目前哪些进程正在执行某种形式的 3D 渲染. (编辑:)如果您不熟悉它,FRAPS 是一个可用于在 3D 应用程序上绘制“每秒帧数"计数器的程序.FRAPS 会自行查找所有正在运行的 3D 应用程序,而无需您指定进程名称. 绘制到外 ..
发布时间:2021-12-19 18:22:58 C#/.NET

在 OpenGL 中处理 FBO 的最佳方法是什么?

我很久以来就想知道处理 OpenGL FrameBuffer 对象 (FBO) 的最佳方法是什么.切换 FBO 的成本可能很高,但也需要定义新的附件. 你是如何快速做到的? 我在这三个之间犹豫: 1 个 FBO 用于一切,更改附件但不要在 FBO 之间切换 为渲染路径中的每个渲染目标(大小 + 格式)提供 1 个 FBO.这意味着我将为类似的渲染目标重用相同的 FBO.但是 ..
发布时间:2021-12-19 18:22:37 其他开发

Mac OSX 10.9 上的 OpenGL 3.3/4.1 使用 GLFW 库

我正在尝试在我的 Mac OSX 10.9 上使用 OpenGL 3.3/4.1,现在它终于可用了.我一直在使用 SuperBible 5 书及其示例来学习 3.3.我刚刚发现它实际上只运行 OpenGL 2.1,但对于我的示例,当我的顶点着色器开始拒绝编译时.我发现我需要得到这个 GLFW 库来为我做 OpenGL 窗口.这个库将允许我使用 OSX 能够运行的 OpenGL 4.1 版本.我的问 ..
发布时间:2021-12-19 18:22:26 其他开发

如何在 LibGDX 中进行混合

我基本上想在 LibGDX 中使用混合模式,但不知道该怎么做.我在互联网上找到了这张图片.我想在 LibGDX 上做同样的事情.谁能教教我. 我一直在使用 Scene2D.这是我的非工作片段. 私有类 MyGroup 扩展了 Group {图像红色、蓝色;公共我的组(){Texture texture = new Texture(Gdx.files.internal("images/red ..
发布时间:2021-12-19 18:22:18 Java开发

如何设计一个简单的 GLSL 包装器供着色器使用

更新:因为我马上需要一些东西,所以我创建了一个简单的着色器包装器来完成我需要的事情.您可以在此处找到它:GitHub 上的 ShaderManager.请注意,它是为 Objective-C/iOS 设计的,因此可能对所有人都没有用.如果您对设计改进有任何建议,请告诉我! 原始问题: 我是使用 GLSL 着色器的新手.我对 GLSL 语言和 OpenGL 接口非常熟悉,但是我在设计一个 ..
发布时间:2021-12-19 18:22:07 移动开发

在单个 OpenGL 程序中附加多个相同类型的着色器?

在阅读 OpenGL 规范时,我一直注意到它提到您可以在单个程序中包含多个相同类型的着色器(即多个 GL_VERTEX_SHADER 与 glAttachShader 相关联).特别是在 OpenGL 4.2, §2.11.3,程序对象中:“同一类型的多个着色器对象可以附加到单个程序对象......". OpenGL 管道程序和子程序可能适用于此,但这是在它们存在之前定义的(实际上它可以追溯 ..
发布时间:2021-12-19 18:21:58 其他开发

在 Windows 上使用 OpenGL 扩展

我想使用 OpenGL 扩展下公开的函数.我使用的是 Windows,我该怎么做? 解决方案 简单的解决方案:使用 GLEW.在此处了解如何. 硬解:如果您有非常充分的理由不使用 GLEW,以下是不使用 GLEW 的方法: 确定您希望使用的 OpenGL 扩展和扩展 API.OpenGL 扩展注册表中列出了 OpenGL 扩展. 示例:我希望使用 EXT_framebuf ..
发布时间:2021-12-19 18:21:26 其他开发

使用着色器在 opengl 中绘制深度值

我想在片段着色器中绘制深度缓冲区,我这样做: 顶点着色器: 不同的vec4位置_;gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;position_ = gl_ModelViewProjectionMatrix * gl_Vertex; 片段着色器: float depth = ((position_.z/position_ ..
发布时间:2021-12-19 18:21:16 其他开发

格式和内部格式的区别

我确实搜索并阅读了有关此内容的内容,但无法理解. 纹理内部格式和调用中的格式有什么区别 glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 32, 32, 0, GL_RGBA, GL_UNSIGNED_BYTE, data); ? 让我们假设 data 是一个 32 x 32 像素值的数组,其中每个像素有四个字节(无符号字符数据 0-255)用于红色、 ..
发布时间:2021-12-19 18:21:07 其他开发

我应该在 GPU 上还是在 CPU 上计算矩阵?

我应该更喜欢在 CPU 还是 GPU 上计算矩阵? 假设我有以下矩阵 P * V * M ,我应该在 CPU 上计算它们以便将最终矩阵发送到 GPU (GLSL) 还是应该发送这三个矩阵矩阵分开到 GPU 以便 GLSL 可以计算最终矩阵? 我的意思是在这种情况下 GLSL 必须为每个顶点计算 MVP 矩阵,因此在 CPU 上预先计算它可能会更快. 但假设 GLSL 只需要计算一 ..
发布时间:2021-12-19 18:20:58 其他开发

设置 OpenGL 多渲染目标

我已经看过很多关于这个主题的材料,但是我发现的示例之间存在一些差异,而且我很难对正确的过程有深入的了解.希望有人能告诉我我是否在正确的轨道上.我还应该提到我在 OS X Snow Leopard 和最新版本的 Xcode 3 上这样做. 举个例子,假设我想写两个目标,一个是正常的,一个是彩色的.为此,我创建了一个帧缓冲区并为其绑定了两个纹理以及一个深度纹理: glGenFramebuffe ..
发布时间:2021-12-19 18:20:51 其他开发