7

有没有关于如何使用 Delphi GLScene 组件或 FireMonkey 在 3D 模型上绘制纯色的演示或文章?

4

2 回答 2

7

在 GLScene Demos\interface\hfpick 中,您有一个在高度场上绘画的示例。

在更复杂的网格上绘制需要查找光标下点的纹理坐标,这取决于纹理的映射方式,可能或多或少复杂。

使用 GPU 的小纹理的快速破解可以是使用纹理坐标作为 RGB 颜色,您可以在片段着色器中执行此操作,将 u,v 返回到 R,G fi,并将纹理索引返回到B频道。在屏幕外缓冲区中渲染它并查找光标下点的颜色,这将为您提供纹理和坐标,以及对 256x256 纹理的微不足道的支持(如果您明智地使用纹理索引,甚至可以支持高达 4096x4096)。

要以数学上正确的方式(使用 CPU)执行此操作,您必须修改网格 RayCast 方法,这样不仅可以找到被击中的三角形,还可以返回被击中点的纹理坐标。

于 2012-01-31T13:34:22.040 回答
6

昨天发表的这篇博客文章,使用 FireMonkey 可视化波干扰,可能会引起您的兴趣。

几张截图:


(来源:embarcadero.com


(来源:embarcadero.com

于 2012-01-31T13:43:19.893 回答