问题标签 [glscene]

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.

0 投票
3 回答
285 浏览

delphi - GLScene 三角形计数

有没有办法找到场景中三角形的总数?我在文档和类参考中进行了搜索,但找不到任何相关的过程或方法。

0 投票
0 回答
253 浏览

delphi - GLScene 中的 GLDirectOPenGL

我正在使用 GLScene 并且在使用 GLDirectOPenGL 时遇到问题。我想在场景上画一个三角形,但它只画了三角形的 3 个边缘,不能给三角形上色。如您所见,trinanle 具有我不想要且未着色的点样式。

mu场景拍摄

0 投票
1 回答
1196 浏览

delphi - 在 GLScene 中的鼠标位置下抓取一个顶点

我正在使用 GLScene 编写一个 3D 建模应用程序,因此我需要通过抓取顶点将鼠标位置下的一些顶点移动到新位置。首先,我加载一个球体并用鼠标拾取一个顶点,然后我尝试拖动它,但我意识到顶点在鼠标插入符号下没有正确移动。

我的应用程序

我怎么了?我想写一个像stephaneginier.com/sculptgl这样的工具

0 投票
1 回答
832 浏览

delphi - 如何使用 GLCanvas 在单个 GLSceneViewer 上绘制而不是在所有查看器上绘制?

我通常在 GLDirectOpenGL1Render 上使用 TGLCanvas 来绘制这样的线条:

但在当前项目中,我有不止一个带有不同相机的 GLSceneViewer,我只需要在一个 GLSceneViewer 上画线,而不是在所有其他场景查看器上画线。OpenGL 绘图速度快是首选。有任何想法吗?

0 投票
1 回答
509 浏览

delphi - 创建一个包含三个点的 3d 平面

我们知道 3D 平面是由 3 个点构成的。现在在德尔福我使用 GLScene 有一个平面,你看不到任何任意点来创建一个平面。我的问题是如何通过 3 个给定点设置平面。根据 SO 规则,我编写了我的 TGLPlane 源代码。

0 投票
1 回答
372 浏览

delphi - 如何在 GLscene 中显示挤压或多边形线框

我正在学习如何使用 GLscene 并尝试渲染一堆分层的平面多边形,以便根据层号对多边形进行着色,并且每个层都有特定的高度(z 深度)。

GLextrusion 似乎是渲染多边形的理想选择,但我需要打开和关闭特定图层的填充,以便只渲染线框。

问题是,当材质设置为线条时,多边形与三角形纵横交错。这似乎也发生在其他对象类型上。

有没有办法将多边形轮廓渲染为真正的线框?

0 投票
1 回答
459 浏览

delphi - GLScene 中的 GLFlatText 分辨率问题

我在 GLScene 应用程序中有 GLFlatText,但我从未使用 GLFlatText 组件达到令人满意的文本分辨率,从附加的图像中可以看出,标记为 GLFlatText 的红色矩形总是模糊不清,尤其是在放大时效果不佳。但另一方面手蓝色标记的HUD Text正是我想要实现的。hud 文本的缺点是:它总是必须放在画布上,有一些方法可以让它看起来像在 Cadenceer 中使用 MVPW 矩阵操作在 3D 中具有深度,但我不喜欢这种方式,因为它可能会减慢整体速度场景渲染。

如果你真的在 RC 上,AFAIU 没有一种简单的方法可以在 openGL 渲染上下文上获得清晰的文本,因为它必须通过 OpenGL 管道通过许多 openGL 测试,如果有的话。

那么,有没有办法使用 glflat 文本组件获得 hud 文本的外观? 在此处输入图像描述

0 投票
1 回答
616 浏览

delphi - GL场景选择

我一直在使用 GLSceneViewer1.Buffer.GetPickedObject( x, y ) 根据挑选演示在 GLViewerMouseDown 事件中挑选 GLscene 对象。我需要选择一个对象,更改颜色,单击鼠标左键并再次单击鼠标左键取消选择,如果选择了另一个对象,则取消选择它。似乎 TGLSceneObject 需要一个属性 IsPicked : boolean 才能实现这一点。如果有人知道在不修改 GLScene 的情况下这样做会很酷。这是我编写的代码,它有点工作,但有点不行。SetSelected(Selected, SelectedColor) 只是改变选定对象的颜色。

对我来说,这会更容易:

0 投票
0 回答
165 浏览

delphi - GLscene - 添加场景对象和场景外观之间的长时间延迟

我有一个例程将几百个(主要是 TGExtrusionsolid)对象添加到场景中。

该例程在几毫秒内将所有对象加载到 GLscene 中没有问题,但在退出加载代码并允许重新进入主处理循环后,程序会挂起几秒钟。

我认为这是由 GLscene 在其内部例程中构建场景引起的。

几秒钟后,一旦场景出现在屏幕上,一切都很好,可以全速旋转和缩放。

加载对象和屏幕上出现的场景之间的这种长时间延迟是否正常?

有什么办法可以阻止它在做它的事情时挂起主线程?

0 投票
1 回答
325 浏览

package - 为什么我不能在 C++Builder 中将 GLScene 作为包加载?

我正在尝试使用GLScene(C++Builder 和 Delphi 的第三方 FireMonkey 组件)。我下载了 zip,其中包括用于 C++Builder 的 .bpl 文件。当我尝试在我的项目(C++Builder 多设备应用程序)中的组件 > 安装包... > 添加下安装包时,我收到此错误:

错误:无法加载包...

我的目录结构:

目录结构和文件

_Installation 目录和自述文件不是很有帮助。我已经尝试过其他 .bpl 文件,也尝试过一次导入所有文件,但出现了同样的错误。我该如何解决?