start work on obj/m3d importing

This commit is contained in:
Matthew 2025-11-06 07:47:31 +11:00
parent c83ffabce6
commit b494e7f5da

View File

@ -124,8 +124,81 @@ struct AssetInfo
AssetType type; AssetType type;
} }
enum MatProp
{
None,
Ambient,
Albedo,
Specular,
SpecularExp,
Dissolve, // Transparency 1.0 -> opaque
Transparency, // Transparency 0.0 -> opaque
Transmission,
OpticalDensity,
Illumination,
AmbientMap,
AlbedoMap,
SpecularMap,
SpecularHighlightMap,
AlphaMap,
BumpMap,
DisplacementMap,
Stencil,
Roughness,
RoughnessMap,
Metallic,
MetallicMap,
Sheen,
SheenMap,
ClearcoatThickness,
ClearcoatRoughness,
Emissive,
EmissiveMap,
Anisotropy,
AnisotropyMap,
NormalMap,
}
bool Asset_Pack_Opened = false; bool Asset_Pack_Opened = false;
MatProp
GetMapProp(u8[] str)
{
switch(str) with(MatProp)
{
case r"Ka": return Ambient;
case r"Kd": return Albedo;
case r"Ks": return Specular;
case r"Ns": return SpecularExp;
case r"d": return Dissolve;
case r"Tr": return Transparency;
case r"Tf": return Transmission;
case r"Ni": return OpticalDensity;
case r"illum": return Illumination;
case r"map_Ka": return AmbientMap;
case r"map_Kd": return DiffuseMap;
case r"map_Ks": return SpecularMap;
case r"map_Ns": return SpecularHighlightMap;
case r"map_d": return AlphaMap;
case r"map_bump":
case r"bump": return BumpMap;
case r"disp": return DisplacementMap;
case r"decal": return Stencil;
case r"Pr": return Roughness;
case r"map_Pr": return RoughnessMap;
case r"Pm": return Metallic;
case r"map_Pm": return MetallicMap;
case r"Pc": return ClearcoatThickness;
case r"Pcr": return ClearcoatRoughness;
case r"Ke": return Emissive;
case r"map_Ke": return EmissiveMap;
case r"aniso": return Anisotropy;
case r"anisor": return AnisotropyMap;
case r"norm": return NormalMap;
default: return None;
}
}
debug debug
{ {