opengl相关内容

使用 OpenGL 进行 Qt 渲染

我正在为嵌入式平台开发一个 QML 应用程序,其中包括一个包含图像的 GridView 小部件.对我来说重要的是滚动 GridView 将是平滑的并且不会给 CPU 带来负载.我可以期望 Qt 使用 OpenGL 来呈现 GridView 吗? 解决方案 我遇到了同样的问题. QApplication::setGraphicsSystem(QLatin1String("opengl")) ..
发布时间:2022-01-19 23:17:21 其他开发

模糊的 Qt 快速文本

这是来自 Qt Creator 中的 Qt Quick 示例的示例,当我运行该项目时,所有文本都失去了质量并变得模糊,附图清楚地描述了问题. Qt 版本:5.4.1 平台:Windows 7 解决方案 Qt 使用系统 OpenGL 能力时可能会在某些硬件上重现的老 bug "[QTBUG-31983] Windows XP 上的字体渲染显示带有 QML Text 元素的工件" ..
发布时间:2022-01-19 23:06:38 其他开发

在 QML 中绘制虚线贝塞尔曲线

我看到有一个 a Bezier 的示例实现QML 中的曲线,但我正在寻找如何实现虚线或虚线贝塞尔曲线的提示.据我所知,贝塞尔曲线示例的作者正在使用 QSGGeometryNode 来存储 QSGGeometry 并在其上应用 QSGFlatColorMaterial 材料.然后他们只需创建点列表并在它们之间绘制线段. 是否可以编写一个 shader 并将其应用到 QSGFlatColorMa ..
发布时间:2022-01-19 23:04:04 C/C++开发

在 QML 插件的 QGLWidget 上渲染 QImage

我正在尝试编写一个 QML 插件,它从视频中读取帧(使用自定义小部件来完成该任务,而不是 QtMultimedia/Phonon),并且每个帧都转换为 QImage RGB888,然后显示在 QGLWidget 上(出于性能原因).现在什么都没有画到屏幕上,屏幕一直保持白色. 重要的是要说明我已经在没有 QGLWidget 的情况下完成了所有这些工作,所以我知道问题在于设置和绘制 QGLWi ..
发布时间:2022-01-19 22:46:51 C/C++开发

画布使用大量 CPU

我在 QML 中使用 Canvas 用 OpenGL 绘制旋转 Rectangle.代码如下: //...属性变点:[]onPointsChanged:{canvas.requestPaint();}//...帆布{//...上漆:{var ctx = canvas.getContext('2d')ctx.clearRect(0,0, 宽度, 高度);ctx.beginPath()ctx.str ..
发布时间:2022-01-19 22:38:09 其他开发

在 OpenGL 中创建网格

我需要使用 OpenGL 在 xy 平面中生成 NxN 分辨率网格.最终的网格需要由三角形 (GL_TRIANGLES) 构成,因此应该类似于以下示例: ^* |----------* ||\ |\ |\ |* ||\|\|\|* |----------* ||\ |\ |\ |* 是 ||\|\|\|* |----------* ||\ |\ |\ |* ||\|\|\|* |------- ..
发布时间:2022-01-18 10:35:55 C/C++开发

opengl中的完美(3D)纹理映射

我正在尝试在 opengl 中创建一个简单的 3D 数组可视化.3D 数组包含颜色值.为了实现这一点,我可以画很多立方体,给它们纹理坐标以指向正确的纹素.嗯,我试过了,它有效.但是我需要更多,实现我想要的唯一方法是,如果我只是在平面打开时在另一个轴方向上的每个网格上绘制完整的 2D 平面,并且这样做是 6 个方向.例如:我在 Z 坐标 -15 到 +15 上从 -15 到 +15 绘制 XY 平面 ..
发布时间:2022-01-18 09:47:13 其他开发

Windows 7 上由全屏 OpenGL 窗口打开的模态对话框未显示

看来我的问题可能与未回答的相关问题相同(OpenGL with GLUT on windows 7,全屏模式不显示消息框). 自从我切换到 Win7 作为开发环境以及我的应用程序可能的目标平台后,我注意到它们的行为出现了退化. 每当我有一个包含全屏 OpenGL 上下文的全屏窗口时,应用程序在显示模式对话框(例如消息框、文件打开对话框等)时都会出现问题 这个窗口是用 WS_POP ..
发布时间:2022-01-17 10:39:52 其他开发

缩放、平移和旋转如何工作?

我正在尝试使用 OpenGL 绘制校园的原始地图. 谁能向我解释一下平移、缩放和旋转通常是如何实现的? 例如,通过平移和缩放,我只是在调整我的视口吗?所以我绘制并绘制了构成我的地图的所有线条,然后当用户单击并拖动它时,它会调整我的视口吗? 对于平移,它会改变我的视口的 x/y 值吗?对于缩放,它会增加/减少我的视口吗?轮换呢? 对于旋转,我是否必须对代表我的校园地图的每条折 ..
发布时间:2022-01-16 14:57:11 其他开发

Opengl在一点旋转

我想在 opengl 中旋转一个形状,但我想在某个点旋转它.即我有一个圆柱体,我想旋转它,使它看起来像在底部旋转,并且旋转“大小"增加,直到物体掉到地上.我将如何在 opengl 中进行这种旋转? 解决方案 翻译到原点 旋转 翻译回来 因此,如果您想围绕 (a,b,c) 旋转,您将在步骤 1 中平移 (-a,-b,-c),在步骤 3 中平移 (a,b,c). (顺便说一句, ..
发布时间:2022-01-16 14:55:06 其他开发

无法使用向量在 OpenGL 中限制 [-90º, 90º] 之间的相机俯仰角!

我在使用下面的代码限制摄像机俯仰角度(在 -90º 和 90º 之间)时遇到了一个大问题.这有点像 这个问题. 问题似乎在于相机旋转超过 -90º 或超过 +90º,当发生这种情况时,我会向下(或向上)看,但视图只是围绕 Y 轴旋转了 180º. 示例:我朝北看地平线,我开始往下看,直到我不能再往下看(受以下代码限制).然后我开始抬头看,我会朝南. void Camera::Rota ..
发布时间:2022-01-16 14:54:49 其他开发

如何找到从一个向量到另一个向量的正确旋转?

我有两个对象,每个对象都有两个向量: 法线向量 向上向量 喜欢这张图片: 上向量垂直于法向量.现在我想找到从一个对象到另一个对象的唯一旋转,该怎么做? 我有一种方法可以找到一个向量到另一个向量之间的旋转,并且它有效.问题是我需要注意两个向量:法线向量和向上向量.如果我使用这种方法将法线向量从对象一旋转到法线从对象二,向上向量可能指向错误的方向,它们需要平行. 这是寻 ..
发布时间:2022-01-16 14:43:43 C/C++开发

如何从 OpenGL 模型视图矩阵中获取视图方向?

我正在编写一个体积渲染程序,它不断调整某些平面几何形状,使其始终面向相机.每当相机旋转时,平面几何体就会旋转,以使其看起来好像不动 - 相对于场景中的其他一切.(我使用相机的观察方向作为这些平面几何图形的法线向量.) 目前我正在手动存储自定义旋转矢量('rotations')并在渲染函数中应用如下效果: gl2.glRotated(rotations.y, 1.0, 0.0, 0.0);g ..
发布时间:2022-01-16 14:33:34 其他开发

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

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

围绕与原点不同的点旋转

我正在尝试使用 glTranslate/glRotate 编写相机代码.为了实现查找/查找功能,我需要渲染空间中的所有对象围绕一个点(即“相机"所在的位置)旋转,该点通常与原点不同.尽管如此,事情仍然围绕原点旋转.有没有办法指定不同的点? 编辑:添加代码 感谢您的快速回复.似乎无论如何我都无法让它正常工作,所以我决定添加我的代码;如果有人可以查看它并告诉我需要进行哪些更改才能翻译/旋转 ..
发布时间:2022-01-16 14:13:45 C/C++开发

c++ OpenGL旋转和计算

在一个 OpenGL 项目中,我有一个旋转模型的函数: glRotatef(M_PI/4, 0, 0, 1);//旋转 PI/4 弧度,即 45 度 现在,当我相对于旋转绘制点 (0, 1) 时.我将在点 (1/sqrt(2), 1/sqrt(2)) 这只是单位圆几何.然而,这些点将使用可变坐标 x1, x2, y1, y2 绘制.另外,我想在我的近似值足够接近后停止绘图. 问题 ..
发布时间:2022-01-16 14:08:18 C/C++开发

在类的构造函数中找出实例化对象

如何从 java 的构造函数中获取实例化对象? 我想为某些 GUI 类存储对父对象的引用以模拟事件冒泡 - 调用父处理程序 - 但我不想更改所有现有代码. 解决方案 简短的回答:在 Java 中没有办法做到这一点.(你可以找出哪个班级叫你,但下面的长答案大部分也适用于那里.) 长答案:根据调用位置而神奇地表现出不同的代码几乎总是一个坏主意.这会让任何必须维护您的代码的人感到困惑 ..
发布时间:2022-01-15 11:55:24 Java开发

由于 Windows 桌面上的 OpenGL 要求导致的 kivy 致命错误

我使用 Python 2.7 和 kivy 编写了一个 Windows 桌面应用程序,该应用程序在 pyCharm IDE 和 python 命令行中运行良好.使用 PyInstaller 构建分发包后,从 ..\dist\applicdir\ 运行应用程序,我收到 Kivy 致命错误: GL:未找到最低要求的 OpenGL 版本 (2.0)! 怎么会?它在同一台 PC 上从 2 个不 ..
发布时间:2022-01-15 09:23:56 其他开发