如何在GLScene中在运行时创建materiallibrary和freeform?

时间:2014-08-15 12:29:09

标签: delphi glscene

我想编写一个ModelViewer来加载我的场景中的许多模型。 那么如何在运行时创建GLMaterialLibrary并将其分配给RunTime中的FreeForms对象? 我想知道如何找到子模型的纹理名称。 TanX寻求帮助。

1 个答案:

答案 0 :(得分:0)

首先,您不需要在运行时创建GlMaterialLibrary,因为您可以将GLMaterialLibriary的单个实例用于所有场景GLFreeForms并动态地将其链接到新的自由形式。 TFreeForm TActor 可以自动设置材质并从3DS文件加载纹理。您必须首先将材料库组件添加到表单(一旦加载3DS,将存储材料),然后将FreeForm链接到此材料库并设置

UseMeshMaterials := true;

执行此操作后,在加载3DS网格时,导入器会将新材质添加到材质库中(使用3DS文件中定义的名称),如果您愿意,可以稍后更改。 请注意,必须支持图像格式,例如,如果您的纹理是JPeg文件,则必须在您的使用中添加“JPeg”。至少但不是最后:GLScene带有一套非常好的演示,你可以检查参考。 .. \ Demos \ materials \ 文件夹包含您需要的所有内容。