Expose aiGetEmbeddedTexture to C-API (#5382)

Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
pull/5724/head^2
sacereda 2024-08-21 21:15:57 +02:00 committed by GitHub
parent bc6710a116
commit d83904e3ee
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 26 additions and 14 deletions

View File

@ -512,6 +512,11 @@ void aiGetMemoryRequirements(const C_STRUCT aiScene *pIn,
ASSIMP_END_EXCEPTION_REGION(void); ASSIMP_END_EXCEPTION_REGION(void);
} }
// ------------------------------------------------------------------------------------------------
ASSIMP_API const C_STRUCT aiTexture *aiGetEmbeddedTexture(const C_STRUCT aiScene *pIn, const char *filename) {
return pIn->GetEmbeddedTexture(filename);
}
// ------------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------------
ASSIMP_API aiPropertyStore *aiCreatePropertyStore(void) { ASSIMP_API aiPropertyStore *aiCreatePropertyStore(void) {
return reinterpret_cast<aiPropertyStore *>(new PropertyMap()); return reinterpret_cast<aiPropertyStore *>(new PropertyMap());
@ -1268,7 +1273,6 @@ ASSIMP_API void aiQuaternionInterpolate(
aiQuaternion::Interpolate(*dst, *start, *end, factor); aiQuaternion::Interpolate(*dst, *start, *end, factor);
} }
// stb_image is a lightweight image loader. It is shared by: // stb_image is a lightweight image loader. It is shared by:
// - M3D import // - M3D import
// - PBRT export // - PBRT export

View File

@ -58,6 +58,7 @@ extern "C" {
#endif #endif
struct aiScene; struct aiScene;
struct aiTexture;
struct aiFileIO; struct aiFileIO;
typedef void (*aiLogStreamCallback)(const char * /* message */, char * /* user */); typedef void (*aiLogStreamCallback)(const char * /* message */, char * /* user */);
@ -373,6 +374,13 @@ ASSIMP_API void aiGetMemoryRequirements(
const C_STRUCT aiScene *pIn, const C_STRUCT aiScene *pIn,
C_STRUCT aiMemoryInfo *in); C_STRUCT aiMemoryInfo *in);
// --------------------------------------------------------------------------------
/** Returns an embedded texture, or nullptr.
* @param pIn Input asset.
* @param filename Texture path extracted from aiGetMaterialString.
*/
ASSIMP_API const C_STRUCT aiTexture *aiGetEmbeddedTexture(const C_STRUCT aiScene *pIn, const char *filename);
// -------------------------------------------------------------------------------- // --------------------------------------------------------------------------------
/** Create an empty property store. Property stores are used to collect import /** Create an empty property store. Property stores are used to collect import
* settings. * settings.