【发布时间】:2012-01-31 11:35:41
【问题描述】:
有没有关于如何使用 Delphi GLScene 组件或 FireMonkey 在 3D 模型上绘制纯色的演示或文章?
【问题讨论】:
标签: delphi opengl directx firemonkey glscene
有没有关于如何使用 Delphi GLScene 组件或 FireMonkey 在 3D 模型上绘制纯色的演示或文章?
【问题讨论】:
标签: delphi opengl directx firemonkey glscene
在 GLScene Demos\interface\hfpick 中,您有一个在高度场上绘画的示例。
在更复杂的网格上绘画需要查找光标下点的纹理坐标,这取决于纹理的映射方式,可能或多或少复杂。
利用 GPU 的小纹理的快速破解方法是将纹理坐标用作 RGB 颜色,您可以在片段着色器中执行此操作,将 u,v 返回到 R,G f.i 和纹理索引到 B 通道。在屏幕外缓冲区中渲染它并查找光标下点的颜色,这将为您提供纹理和坐标,以及对 256x256 纹理的微不足道的支持(如果您明智地使用纹理索引,甚至可以支持高达 4096x4096)。
要以数学上正确的方式进行(使用 CPU),您必须修改网格 RayCast 方法,这样不仅可以找到被击中的三角形,还可以返回该点的纹理坐标被击中。
【讨论】:
这篇博客文章,Visualizing wave interference using FireMonkey,昨天发布,可能会引起您的兴趣。
几张截图:
(来源:embarcadero.com)
(来源:embarcadero.com)
【讨论】: