【发布时间】:2012-03-18 10:18:17
【问题描述】:
您好,我使用 Firemonkey 是因为它具有跨平台功能。我想渲染一个粒子系统。现在我正在使用一个 TMesh,它可以很好地快速显示粒子。每个粒子通过两个带纹理的三角形在网格中表示。使用不同的纹理坐标,我可以使用相同的网格显示许多不同的粒子类型。问题是,每个粒子都可以有自己的透明度/不透明度。使用我目前的方法,我无法为每个三角形(甚至顶点)单独设置透明度。我能做些什么?
我意识到 TMesh.Data.VertexBuffer 中还有一些其他属性,例如 Diffuse 或其他纹理集 (TexCoord1-3),但这些属性在 TMesh 中没有使用(甚至没有初始化)。通过从 TMesh 继承来简单地改变这种行为似乎也不容易。似乎必须从较低级别的控件继承来初始化具有更多属性的 VertextBuffer。在我尝试之前,我想问一下是否可以用它来控制三角形的透明度。例如。我可以设置透明颜色(漫反射)或使用透明纹理(TextCoor1)吗?或者有没有更好的方法在 Firemonkey 中绘制粒子。
【问题讨论】:
-
"我可以设置一个透明的颜色...或者使用透明的纹理"...你为什么不试试呢?然后回来告诉我们。
标签: delphi delphi-xe2 firemonkey