我想弄清楚如何使用Delphi XE7 Firemonkey填充3D多边形。在使用内置组件的GLScene后,Firemonkey对我来说似乎对健康有害,因为内置控件少,样本少,文档少。Delphi Firemonkey绘制并填充任意三维形状或多边形
使用此代码生成我的多边形:
Context.BeginScene;
try
Context.DrawLine(TPoint3D.Create(1, -1, 0), TPoint3D.Create(1, 1, 0), 0.5, TAlphaColorRec.Black);
Context.DrawLine(TPoint3D.Create(1, 1, 0), TPoint3D.Create(0, 1, 0), 0.5, TAlphaColorRec.Black);
Context.DrawLine(TPoint3D.Create(0, 1, 0), TPoint3D.Create(-1, 0.5, 0), 0.5, TAlphaColorRec.Black);
Context.DrawLine(TPoint3D.Create(-1, 0.5, 0), TPoint3D.Create(-1, 0, 0), 0.5, TAlphaColorRec.Black);
Context.DrawLine(TPoint3D.Create(-1, 0, 0), TPoint3D.Create(-0.5, 0, 0), 0.5, TAlphaColorRec.Black);
Context.DrawLine(TPoint3D.Create(-0.5, 0, 0), TPoint3D.Create(-0.5, -1, 0), 0.5, TAlphaColorRec.Black);
Context.DrawLine(TPoint3D.Create(-0.5, -1, 0), TPoint3D.Create(1, -1, 0), 0.5, TAlphaColorRec.Black);
finally
Context.EndScene;
end;
该代码生成这样的多边形:https://cyberflexsoftware.tinytake.com/sf/NDQ5NTIxXzI0MjgzNjg
不过,我需要填补这一形状与颜色的材料,我不知道如何做这个。我想我需要创建一个TMesh,但是如果没有数学博士学位,我很难弄清楚,而且我完全迷失了。任何帮助都会很棒。
谢谢,但这是我已经知道的2D画布。我需要弄清楚TContext3D没有相同的方法。 –