33#ifndef DVD_MESH_IMPORTER_H_
34#define DVD_MESH_IMPORTER_H_
61 "3ds",
"ase",
"fbx",
"md2",
"md5mesh",
"obj",
"x",
"dae",
"gltf",
"glb",
"DVDAnim",
"DVDGeom"
64 class PlatformContext;
146 : _modelName(modelName)
147 , _modelPath(
MOV(modelPath))
static bool loadMesh(PlatformContext &context, ResourcePtr< Mesh > mesh)
static Handle< Material > loadSubMeshMaterial(const Import::MaterialData &importData, bool loadedFromCache, bool skinned, std::atomic_uint &taskCounter)
Load the material for the current SubMesh.
static bool loadMeshDataFromFile(PlatformContext &context, Import::ImportData &dataOut)
FColour4 WHITE
Random stuff added for convenience.
constexpr U8 MAX_LOD_LEVELS
Handle console commands that start with a forward slash.
std::array< bool, to_base(AttribLocation::COUNT)> AttributeFlags
const char *const g_geometryExtensions[]
GeometryFormat GetGeometryFormatForExtension(const char *extension) noexcept
TextureOperation
How should each texture be added.
eastl::vector< Type > vector
constexpr auto to_base(const Type value) -> Type
VertexBuffer_ptr _vertexBuffer
vector< SubMeshData > _subMeshData
ImportData(ResourcePath modelPath, const std::string_view modelName) noexcept
Divide::MeshNodeData _nodeData
PROPERTY_RW(ResourcePath, modelPath)
PROPERTY_RW(bool, loadedFromFile, false)
PROPERTY_RW(bool, fromFile, false)
bool loadFromFile(PlatformContext &context, const ResourcePath &path, std::string_view fileName)
vector< AnimEvaluator * > _animations
bool saveToFile(PlatformContext &context, const ResourcePath &path, std::string_view fileName)
PROPERTY_RW(Str< 256 >, modelName)
PROPERTY_RW(bool, doubleSided, true)
bool deserialize(ByteBuffer &dataIn)
PROPERTY_RW(BumpMethod, bumpMethod, BumpMethod::NONE)
PROPERTY_RW(bool, ignoreTexDiffuseAlpha, false)
bool serialize(ByteBuffer &dataOut) const
PROPERTY_RW(Str< 128 >, name)
PROPERTY_RW(SpecularGlossiness, specGloss)
PROPERTY_RW(FColour3, emissive, DefaultColours::BLACK)
PROPERTY_RW(ShadingMode, shadingMode, ShadingMode::FLAT)
PROPERTY_RW(FColour4, specular, DefaultColours::BLACK)
PROPERTY_RW(F32, roughness, 1.0f)
PROPERTY_RW(F32, metallic, 0.0f)
PROPERTY_RW(FColour4, baseColour, DefaultColours::WHITE)
PROPERTY_RW(FColour3, ambient, DefaultColours::BLACK)
std::array< TextureEntry, to_base(TextureSlot::COUNT)> _textures
PROPERTY_RW(F32, parallaxFactor, 1.0f)
vector< Vertex > _vertices[MAX_LOD_LEVELS]
vector< U32 > _indices[MAX_LOD_LEVELS]
vector< vec3< U32 > > _triangles[MAX_LOD_LEVELS]
AttributeFlags _useAttribute
PROPERTY_RW(Str< 64 >, name)
PROPERTY_RW(U8, boneCount, 0u)
std::array< U16, MAX_LOD_LEVELS > _partitionIDs
bool serialize(ByteBuffer &dataOut) const
PROPERTY_RW(U8, lodCount, 0u)
PROPERTY_RW(U32, index, 0u)
PROPERTY_RW(vec3< F32 >, maxPos)
bool deserialize(ByteBuffer &dataIn)
PROPERTY_RW(vec3< F32 >, worldOffset)
PROPERTY_RW(vec3< F32 >, minPos)
PROPERTY_RW(TextureWrap, wrapV, TextureWrap::REPEAT)
bool serialize(ByteBuffer &dataOut) const
PROPERTY_RW(Str< 256 >, textureName)
PROPERTY_RW(bool, alphaForTransparency, false)
PROPERTY_RW(ResourcePath, texturePath)
bool deserialize(ByteBuffer &dataIn)
PROPERTY_RW(TextureWrap, wrapW, TextureWrap::REPEAT)
PROPERTY_RW(TextureWrap, wrapU, TextureWrap::REPEAT)
PROPERTY_RW(bool, srgb, false)
PROPERTY_RW(TextureOperation, operation, TextureOperation::NONE)
PROPERTY_RW(bool, useDDSCache, false)
PROPERTY_RW(bool, isNormalMap, false)