问题标签 [qt3d]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
qt - QT3D中的透明对象
我需要能够更改 QT3D 中网格对象的透明度。我使用 Scene3D 组件作为包含默认 ForwardRenderer 的根。
我的 3D 对象由 Mesh、Transform 和 PhongMaterial 组成。
任何帮助将不胜感激。
qt - Qt3D ExtrudedTextMesh 不是一种类型
我在 Qt 5.9.1 for mac 中测试了这段代码,qtcreator 报错:ExtrudedTextMesh is not a type。
qt3d - 如何改变 Qt3D OrbitCameraController 的行为,例如。鼠标左键旋转相机
默认 Qt3D OrbitCameraController 的行为是: - 鼠标左键移动相机。- 鼠标右键旋转相机。
我需要相反的解决方案,简单地旋转显示产品模型。C++ 代码或 AxisActionHandler 可能有效,但我不知道如何编写它。感谢帮助。
c++ - Qt3D围绕网格旋转相机
我最近开始学习 Qt/QML/C++ 并尝试构建一个非常基本的 3D 场景来围绕网格对象旋转相机。
我发现很难遵循这些示例,并且我发现文档没有提供任何有用的说明。那里似乎也没有很多教程,也许我在寻找错误的地方。
主文件
main.qml
如何让相机围绕网格对象旋转?
c++ - Qt3D:如何使用 Qt C++ 以线框模式渲染网格?
Qt3D 文档正在增加,但仍然缺乏一些信息,尤其是关于如何在没有 Qml/QtQuick 的情况下做事的信息。在网上大量搜索关于以线框模式渲染网格之后,我发现了许多有用的提示和示例,这些提示和示例共同产生了一个示例查看器,我想在这里展示它,作为对所有撰写文章的人和其他人的贡献可能搜索过类似的例子。
最有用的链接是:
关于在 Qt3DWindow 中使用事件过滤器的 Stackoverflow 问答:鼠标控制 Qt 3D 窗口
网格可以用鼠标旋转和缩放。
查看器的屏幕截图
欢迎对如何改进这一点提出任何意见。特别是,我对如何编写一个着色器程序很感兴趣,该程序可以用不同的颜色渲染正面和背面或渲染每个顶点的颜色。
这是代码:
qt3d - 如何用 qt 3d 做任何事情?
我对编程和 Qt 完全陌生。我阅读了有关 Qt 3d 的信息,但我不知道如何使用它。我只需要一个简单的长方体,我可以用倾斜传感器移动它。我正在使用 qt 5.6。
我试图理解这些例子,但他们总是使用我不知道的东西。
我也尝试复制此示例代码,但猜想,它不起作用。
qt - 延迟渲染如何从灯光贡献中排除网格
我已经使用 Qt3D 设置了延迟渲染管道。到目前为止一切顺利,但现在我想在场景中渲染的网格周围添加选择框。
不幸的是,选择框网格受到灯光的影响,我不希望这样(参见下面的“阴影”图片)。例如,我可能想将环境光强度设置为 0,并且选择框应该仍然可见。另一个例子是,如果我想在一个视口角显示典型的 X/Y/Z 指示器。
我有用于光贡献计算的典型光通着色器,(简而言之)是这样的:
如果我将 fragColor 行替换为:
我得到下面的非阴影图片,它显示了我想要的选择框的颜色。
是否有任何技巧或惯例可以从光通中排除特定网格?
我已经尝试用颜色 alpha = 0.123 等特殊值“欺骗”着色器,但它根本没有帮助。
阴影
无阴影
c++ - 如何在 Qt3DWindow 的根实体中递归删除所有节点?
我想删除 Qt3DWindow 的根场景的所有根节点。它包含多个层次结构级别的节点。我想删除引用并删除对象。最简单的方法是什么?
opengl - GLSL聚光灯投影体积
在我的开源项目中,我使用 Qt3D 设置了延迟渲染管道。到目前为止一切顺利,但现在我想通过添加聚光灯投影量来继续前进。(例如,好像场景中有烟雾) 像这样:
我正在使用的片段着色器位于问题的末尾。我已经读过,对于每个片段,我应该从灯光位置进行光线行进并找到与锥体的交叉点,但我不知道如何将其转换为 GLSL。我可以轻松地使用来自 GBuffer 的深度图(从相机的角度)添加制服,但我不知道这是否有帮助。
由于我的 GLSL 知识非常有限,请回复实际代码,而不是冗长的数学解释,我将无法理解/翻译成代码。请耐心等待我。
[编辑 - 已解决] 感谢 Rabbid76 出色的回答和宝贵的支持
这是查看圆锥投影的修改代码:
传递给着色器的制服是:
截屏:
c++ - 如何在 Qt3D 中创建渐变背景?
我正在寻找创建渐变背景(例如从黑色到白色)的 C++ 代码。目前我通过设置Qt3DWindow的clear color只有一个纯色:
如何制作渐变?