我想编写一个ModelViewer以在我的场景中加载许多模型。
那么如何在运行时创建GLMaterialLibrary并在运行时将其分配给FreeForms对象?
我想知道如何找到子模型纹理的名称。
TanX寻求帮助。
最佳答案
首先,您无需在运行时创建GlMaterialLibrary,因为您可以将GLMaterialLibriary的单个实例用于所有场景GLFreeForm,并将其动态链接到新的自由格式。 TFreeForm或TActor可以自动设置材料并从3DS文件中加载纹理。您必须首先将材料库组件添加到表单(一旦加载3DS,它将存储材料),然后将FreeForm链接到该材料库并进行设置
UseMeshMaterials := true;
完成此操作后,在加载3DS网格时,导入程序将向材料库添加新材料(使用3DS文件中定义的名称),您以后可以根据需要进行更改。
请注意,必须支持图像格式,例如,如果纹理是JPeg文件,则必须在使用中添加“ JPeg”。最重要的一点是:GLScene附带了非常好的演示包,您可以检查是否引用。 .. \ Demos \ materials \文件夹包含您需要的一切。
关于delphi - 如何在GLScene中的运行时中创建 Material 库和自由格式?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25326413/