Expose aiGetEmbeddedTexture to C-API (#5382)
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>pull/5724/head^2
parent
bc6710a116
commit
d83904e3ee
|
@ -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
|
||||||
|
@ -1279,21 +1283,21 @@ ASSIMP_API void aiQuaternionInterpolate(
|
||||||
#define ASSIMP_HAS_M3D ((!ASSIMP_BUILD_NO_EXPORT && !ASSIMP_BUILD_NO_M3D_EXPORTER) || !ASSIMP_BUILD_NO_M3D_IMPORTER)
|
#define ASSIMP_HAS_M3D ((!ASSIMP_BUILD_NO_EXPORT && !ASSIMP_BUILD_NO_M3D_EXPORTER) || !ASSIMP_BUILD_NO_M3D_IMPORTER)
|
||||||
|
|
||||||
#ifndef STB_USE_HUNTER
|
#ifndef STB_USE_HUNTER
|
||||||
# if ASSIMP_HAS_PBRT_EXPORT
|
#if ASSIMP_HAS_PBRT_EXPORT
|
||||||
# define ASSIMP_NEEDS_STB_IMAGE 1
|
#define ASSIMP_NEEDS_STB_IMAGE 1
|
||||||
# elif ASSIMP_HAS_M3D
|
#elif ASSIMP_HAS_M3D
|
||||||
# define ASSIMP_NEEDS_STB_IMAGE 1
|
#define ASSIMP_NEEDS_STB_IMAGE 1
|
||||||
# define STBI_ONLY_PNG
|
#define STBI_ONLY_PNG
|
||||||
# endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Ensure all symbols are linked correctly
|
// Ensure all symbols are linked correctly
|
||||||
#if ASSIMP_NEEDS_STB_IMAGE
|
#if ASSIMP_NEEDS_STB_IMAGE
|
||||||
// Share stb_image's PNG loader with other importers/exporters instead of bringing our own copy.
|
// Share stb_image's PNG loader with other importers/exporters instead of bringing our own copy.
|
||||||
# define STBI_ONLY_PNG
|
#define STBI_ONLY_PNG
|
||||||
# ifdef ASSIMP_USE_STB_IMAGE_STATIC
|
#ifdef ASSIMP_USE_STB_IMAGE_STATIC
|
||||||
# define STB_IMAGE_STATIC
|
#define STB_IMAGE_STATIC
|
||||||
# endif
|
#endif
|
||||||
# define STB_IMAGE_IMPLEMENTATION
|
#define STB_IMAGE_IMPLEMENTATION
|
||||||
# include "Common/StbCommon.h"
|
#include "Common/StbCommon.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -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.
|
||||||
|
|
Loading…
Reference in New Issue