From b494e7f5da33a4f222a9df8018767b6823d23b7f Mon Sep 17 00:00:00 2001 From: Matthew Date: Thu, 6 Nov 2025 07:47:31 +1100 Subject: [PATCH] start work on obj/m3d importing --- assets.d | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) diff --git a/assets.d b/assets.d index cd9b0a4..bca5ae4 100644 --- a/assets.d +++ b/assets.d @@ -124,8 +124,81 @@ struct AssetInfo 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; +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 {