Merge branch 'release/1.9.x'
This commit is contained in:
commit
a70878c4ef
|
|
@ -38,12 +38,17 @@ After acquiring these dependencies, you may simply build Panda3D from the
|
|||
command prompt using the following command:
|
||||
|
||||
```bash
|
||||
makepanda\makepanda.bat --everything --installer
|
||||
makepanda\makepanda.bat --everything --installer --no-eigen
|
||||
```
|
||||
|
||||
When the build succeeds, it will produce an .exe file that you can use to
|
||||
install Panda3D on your system.
|
||||
|
||||
Note: you may choose to remove --no-eigen and build with Eigen support in
|
||||
order to improve runtime performance. However, this will cause the build to
|
||||
take hours to complete, as Eigen is a heavily template-based library, and the
|
||||
the MSVC compiler does not perform well under these circumstances.
|
||||
|
||||
Linux
|
||||
-----
|
||||
|
||||
|
|
|
|||
|
|
@ -22,21 +22,12 @@
|
|||
C++-style comments, since this file is occasionally included by a C
|
||||
file. */
|
||||
|
||||
#if defined(WIN32_VC) && !defined(CPPPARSER) && !defined(LINK_ALL_STATIC)
|
||||
|
||||
#ifdef BUILDING_PANDAAI
|
||||
#define EXPCL_PANDAAI __declspec(dllexport)
|
||||
#define EXPTP_PANDAAI
|
||||
#define EXPCL_PANDAAI EXPORT_CLASS
|
||||
#define EXPTP_PANDAAI EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_PANDAAI __declspec(dllimport)
|
||||
#define EXPTP_PANDAAI extern
|
||||
#define EXPCL_PANDAAI IMPORT_CLASS
|
||||
#define EXPTP_PANDAAI IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#else /* !WIN32_VC */
|
||||
|
||||
#define EXPCL_PANDAAI
|
||||
#define EXPTP_PANDAAI
|
||||
|
||||
#endif /* WIN32_VC */
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -17,21 +17,12 @@
|
|||
|
||||
/* See dtoolsymbols.h for a rant on the purpose of this file. */
|
||||
|
||||
#if defined(WIN32_VC) && !defined(CPPPARSER) && !defined(LINK_ALL_STATIC)
|
||||
|
||||
#ifdef BUILDING_DIRECT
|
||||
#define EXPCL_DIRECT __declspec(dllexport)
|
||||
#define EXPTP_DIRECT
|
||||
#define EXPCL_DIRECT EXPORT_CLASS
|
||||
#define EXPTP_DIRECT EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_DIRECT __declspec(dllimport)
|
||||
#define EXPTP_DIRECT extern
|
||||
#define EXPCL_DIRECT IMPORT_CLASS
|
||||
#define EXPTP_DIRECT IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#else /* !WIN32_VC */
|
||||
|
||||
#define EXPCL_DIRECT
|
||||
#define EXPTP_DIRECT
|
||||
|
||||
#endif /* WIN32_VC */
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
// ppremake scripts for Panda.
|
||||
|
||||
// Use spaces to separate the major, minor, and sequence numbers here.
|
||||
#define PANDA_VERSION 1 9 0
|
||||
#define PANDA_VERSION 1 9 1
|
||||
|
||||
// This variable will be defined to false in the CVS repository, but
|
||||
// scripts that generate source tarballs and/or binary releases for
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -91,63 +91,65 @@ extern int cppyydebug;
|
|||
KW_BOOL = 300,
|
||||
KW_CATCH = 301,
|
||||
KW_CHAR = 302,
|
||||
KW_WCHAR_T = 303,
|
||||
KW_CLASS = 304,
|
||||
KW_CONST = 305,
|
||||
KW_DELETE = 306,
|
||||
KW_DOUBLE = 307,
|
||||
KW_DYNAMIC_CAST = 308,
|
||||
KW_ELSE = 309,
|
||||
KW_END_PUBLISH = 310,
|
||||
KW_ENUM = 311,
|
||||
KW_EXTENSION = 312,
|
||||
KW_EXTERN = 313,
|
||||
KW_EXPLICIT = 314,
|
||||
KW_PUBLISHED = 315,
|
||||
KW_FALSE = 316,
|
||||
KW_FLOAT = 317,
|
||||
KW_FRIEND = 318,
|
||||
KW_FOR = 319,
|
||||
KW_GOTO = 320,
|
||||
KW_IF = 321,
|
||||
KW_INLINE = 322,
|
||||
KW_INT = 323,
|
||||
KW_LONG = 324,
|
||||
KW_LONGLONG = 325,
|
||||
KW_MAKE_PROPERTY = 326,
|
||||
KW_MAKE_SEQ = 327,
|
||||
KW_MUTABLE = 328,
|
||||
KW_NAMESPACE = 329,
|
||||
KW_NEW = 330,
|
||||
KW_NOEXCEPT = 331,
|
||||
KW_OPERATOR = 332,
|
||||
KW_PRIVATE = 333,
|
||||
KW_PROTECTED = 334,
|
||||
KW_PUBLIC = 335,
|
||||
KW_REGISTER = 336,
|
||||
KW_RETURN = 337,
|
||||
KW_SHORT = 338,
|
||||
KW_SIGNED = 339,
|
||||
KW_SIZEOF = 340,
|
||||
KW_STATIC = 341,
|
||||
KW_STATIC_CAST = 342,
|
||||
KW_STRUCT = 343,
|
||||
KW_TEMPLATE = 344,
|
||||
KW_THROW = 345,
|
||||
KW_TRUE = 346,
|
||||
KW_TRY = 347,
|
||||
KW_TYPEDEF = 348,
|
||||
KW_TYPENAME = 349,
|
||||
KW_UNION = 350,
|
||||
KW_UNSIGNED = 351,
|
||||
KW_USING = 352,
|
||||
KW_VIRTUAL = 353,
|
||||
KW_VOID = 354,
|
||||
KW_VOLATILE = 355,
|
||||
KW_WHILE = 356,
|
||||
START_CPP = 357,
|
||||
START_CONST_EXPR = 358,
|
||||
START_TYPE = 359
|
||||
KW_CHAR16_T = 303,
|
||||
KW_CHAR32_T = 304,
|
||||
KW_CLASS = 305,
|
||||
KW_CONST = 306,
|
||||
KW_DELETE = 307,
|
||||
KW_DOUBLE = 308,
|
||||
KW_DYNAMIC_CAST = 309,
|
||||
KW_ELSE = 310,
|
||||
KW_END_PUBLISH = 311,
|
||||
KW_ENUM = 312,
|
||||
KW_EXTENSION = 313,
|
||||
KW_EXTERN = 314,
|
||||
KW_EXPLICIT = 315,
|
||||
KW_PUBLISHED = 316,
|
||||
KW_FALSE = 317,
|
||||
KW_FLOAT = 318,
|
||||
KW_FRIEND = 319,
|
||||
KW_FOR = 320,
|
||||
KW_GOTO = 321,
|
||||
KW_IF = 322,
|
||||
KW_INLINE = 323,
|
||||
KW_INT = 324,
|
||||
KW_LONG = 325,
|
||||
KW_LONGLONG = 326,
|
||||
KW_MAKE_PROPERTY = 327,
|
||||
KW_MAKE_SEQ = 328,
|
||||
KW_MUTABLE = 329,
|
||||
KW_NAMESPACE = 330,
|
||||
KW_NEW = 331,
|
||||
KW_NOEXCEPT = 332,
|
||||
KW_OPERATOR = 333,
|
||||
KW_PRIVATE = 334,
|
||||
KW_PROTECTED = 335,
|
||||
KW_PUBLIC = 336,
|
||||
KW_REGISTER = 337,
|
||||
KW_RETURN = 338,
|
||||
KW_SHORT = 339,
|
||||
KW_SIGNED = 340,
|
||||
KW_SIZEOF = 341,
|
||||
KW_STATIC = 342,
|
||||
KW_STATIC_CAST = 343,
|
||||
KW_STRUCT = 344,
|
||||
KW_TEMPLATE = 345,
|
||||
KW_THROW = 346,
|
||||
KW_TRUE = 347,
|
||||
KW_TRY = 348,
|
||||
KW_TYPEDEF = 349,
|
||||
KW_TYPENAME = 350,
|
||||
KW_UNION = 351,
|
||||
KW_UNSIGNED = 352,
|
||||
KW_USING = 353,
|
||||
KW_VIRTUAL = 354,
|
||||
KW_VOID = 355,
|
||||
KW_VOLATILE = 356,
|
||||
KW_WCHAR_T = 357,
|
||||
KW_WHILE = 358,
|
||||
START_CPP = 359,
|
||||
START_CONST_EXPR = 360,
|
||||
START_TYPE = 361
|
||||
};
|
||||
#endif
|
||||
/* Tokens. */
|
||||
|
|
@ -196,63 +198,65 @@ extern int cppyydebug;
|
|||
#define KW_BOOL 300
|
||||
#define KW_CATCH 301
|
||||
#define KW_CHAR 302
|
||||
#define KW_WCHAR_T 303
|
||||
#define KW_CLASS 304
|
||||
#define KW_CONST 305
|
||||
#define KW_DELETE 306
|
||||
#define KW_DOUBLE 307
|
||||
#define KW_DYNAMIC_CAST 308
|
||||
#define KW_ELSE 309
|
||||
#define KW_END_PUBLISH 310
|
||||
#define KW_ENUM 311
|
||||
#define KW_EXTENSION 312
|
||||
#define KW_EXTERN 313
|
||||
#define KW_EXPLICIT 314
|
||||
#define KW_PUBLISHED 315
|
||||
#define KW_FALSE 316
|
||||
#define KW_FLOAT 317
|
||||
#define KW_FRIEND 318
|
||||
#define KW_FOR 319
|
||||
#define KW_GOTO 320
|
||||
#define KW_IF 321
|
||||
#define KW_INLINE 322
|
||||
#define KW_INT 323
|
||||
#define KW_LONG 324
|
||||
#define KW_LONGLONG 325
|
||||
#define KW_MAKE_PROPERTY 326
|
||||
#define KW_MAKE_SEQ 327
|
||||
#define KW_MUTABLE 328
|
||||
#define KW_NAMESPACE 329
|
||||
#define KW_NEW 330
|
||||
#define KW_NOEXCEPT 331
|
||||
#define KW_OPERATOR 332
|
||||
#define KW_PRIVATE 333
|
||||
#define KW_PROTECTED 334
|
||||
#define KW_PUBLIC 335
|
||||
#define KW_REGISTER 336
|
||||
#define KW_RETURN 337
|
||||
#define KW_SHORT 338
|
||||
#define KW_SIGNED 339
|
||||
#define KW_SIZEOF 340
|
||||
#define KW_STATIC 341
|
||||
#define KW_STATIC_CAST 342
|
||||
#define KW_STRUCT 343
|
||||
#define KW_TEMPLATE 344
|
||||
#define KW_THROW 345
|
||||
#define KW_TRUE 346
|
||||
#define KW_TRY 347
|
||||
#define KW_TYPEDEF 348
|
||||
#define KW_TYPENAME 349
|
||||
#define KW_UNION 350
|
||||
#define KW_UNSIGNED 351
|
||||
#define KW_USING 352
|
||||
#define KW_VIRTUAL 353
|
||||
#define KW_VOID 354
|
||||
#define KW_VOLATILE 355
|
||||
#define KW_WHILE 356
|
||||
#define START_CPP 357
|
||||
#define START_CONST_EXPR 358
|
||||
#define START_TYPE 359
|
||||
#define KW_CHAR16_T 303
|
||||
#define KW_CHAR32_T 304
|
||||
#define KW_CLASS 305
|
||||
#define KW_CONST 306
|
||||
#define KW_DELETE 307
|
||||
#define KW_DOUBLE 308
|
||||
#define KW_DYNAMIC_CAST 309
|
||||
#define KW_ELSE 310
|
||||
#define KW_END_PUBLISH 311
|
||||
#define KW_ENUM 312
|
||||
#define KW_EXTENSION 313
|
||||
#define KW_EXTERN 314
|
||||
#define KW_EXPLICIT 315
|
||||
#define KW_PUBLISHED 316
|
||||
#define KW_FALSE 317
|
||||
#define KW_FLOAT 318
|
||||
#define KW_FRIEND 319
|
||||
#define KW_FOR 320
|
||||
#define KW_GOTO 321
|
||||
#define KW_IF 322
|
||||
#define KW_INLINE 323
|
||||
#define KW_INT 324
|
||||
#define KW_LONG 325
|
||||
#define KW_LONGLONG 326
|
||||
#define KW_MAKE_PROPERTY 327
|
||||
#define KW_MAKE_SEQ 328
|
||||
#define KW_MUTABLE 329
|
||||
#define KW_NAMESPACE 330
|
||||
#define KW_NEW 331
|
||||
#define KW_NOEXCEPT 332
|
||||
#define KW_OPERATOR 333
|
||||
#define KW_PRIVATE 334
|
||||
#define KW_PROTECTED 335
|
||||
#define KW_PUBLIC 336
|
||||
#define KW_REGISTER 337
|
||||
#define KW_RETURN 338
|
||||
#define KW_SHORT 339
|
||||
#define KW_SIGNED 340
|
||||
#define KW_SIZEOF 341
|
||||
#define KW_STATIC 342
|
||||
#define KW_STATIC_CAST 343
|
||||
#define KW_STRUCT 344
|
||||
#define KW_TEMPLATE 345
|
||||
#define KW_THROW 346
|
||||
#define KW_TRUE 347
|
||||
#define KW_TRY 348
|
||||
#define KW_TYPEDEF 349
|
||||
#define KW_TYPENAME 350
|
||||
#define KW_UNION 351
|
||||
#define KW_UNSIGNED 352
|
||||
#define KW_USING 353
|
||||
#define KW_VIRTUAL 354
|
||||
#define KW_VOID 355
|
||||
#define KW_VOLATILE 356
|
||||
#define KW_WCHAR_T 357
|
||||
#define KW_WHILE 358
|
||||
#define START_CPP 359
|
||||
#define START_CONST_EXPR 360
|
||||
#define START_TYPE 361
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -427,6 +427,19 @@
|
|||
#define EXTEND
|
||||
#endif
|
||||
|
||||
/* These symbols are used in dtoolsymbols.h and pandasymbols.h. */
|
||||
#if defined(WIN32_VC) && !defined(CPPPARSER) && !defined(LINK_ALL_STATIC)
|
||||
#define EXPORT_CLASS __declspec(dllexport)
|
||||
#define EXPORT_TEMPL
|
||||
#define IMPORT_CLASS __declspec(dllimport)
|
||||
#define IMPORT_TEMPL extern
|
||||
#else
|
||||
#define EXPORT_CLASS
|
||||
#define EXPORT_TEMPL
|
||||
#define IMPORT_CLASS
|
||||
#define IMPORT_TEMPL extern
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
#include "dtoolbase_cc.h"
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -174,7 +174,7 @@ typedef ios::seekdir ios_seekdir;
|
|||
# define MOVE(x) x
|
||||
#endif
|
||||
|
||||
#if defined(WIN32_VC) && !defined(LINK_ALL_STATIC) && defined(EXPORT_TEMPLATES)
|
||||
#if !defined(LINK_ALL_STATIC) && defined(EXPORT_TEMPLATES)
|
||||
// This macro must be used to export an instantiated template class
|
||||
// from a DLL. If the template class name itself contains commas, it
|
||||
// may be necessary to first define a macro for the class name, to
|
||||
|
|
|
|||
|
|
@ -70,45 +70,30 @@
|
|||
|
||||
#define EXPCL_EMPTY
|
||||
|
||||
#if defined(WIN32_VC) && !defined(CPPPARSER) && !defined(LINK_ALL_STATIC)
|
||||
|
||||
#ifdef BUILDING_DTOOL
|
||||
#define EXPCL_DTOOL __declspec(dllexport)
|
||||
#define EXPTP_DTOOL
|
||||
#define EXPCL_DTOOL EXPORT_CLASS
|
||||
#define EXPTP_DTOOL EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_DTOOL __declspec(dllimport)
|
||||
#define EXPTP_DTOOL extern
|
||||
#define EXPCL_DTOOL IMPORT_CLASS
|
||||
#define EXPTP_DTOOL IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_DTOOLCONFIG
|
||||
#define EXPCL_DTOOLCONFIG __declspec(dllexport)
|
||||
#define EXPTP_DTOOLCONFIG
|
||||
#define EXPCL_DTOOLCONFIG EXPORT_CLASS
|
||||
#define EXPTP_DTOOLCONFIG EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_DTOOLCONFIG __declspec(dllimport)
|
||||
#define EXPTP_DTOOLCONFIG extern
|
||||
#define EXPCL_DTOOLCONFIG IMPORT_CLASS
|
||||
#define EXPTP_DTOOLCONFIG IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_MISC
|
||||
#define EXPCL_MISC __declspec(dllexport)
|
||||
#define EXPTP_MISC
|
||||
#define EXPCL_MISC EXPORT_CLASS
|
||||
#define EXPTP_MISC EXPORT_TEMPL
|
||||
#else /* BUILDING_MISC */
|
||||
#define EXPCL_MISC __declspec(dllimport)
|
||||
#define EXPTP_MISC extern
|
||||
#define EXPCL_MISC IMPORT_CLASS
|
||||
#define EXPTP_MISC IMPORT_TEMPL
|
||||
#endif /* BUILDING_MISC */
|
||||
|
||||
#else /* !WIN32_VC */
|
||||
|
||||
#define EXPCL_DTOOL
|
||||
#define EXPTP_DTOOL
|
||||
|
||||
#define EXPCL_DTOOLCONFIG
|
||||
#define EXPTP_DTOOLCONFIG
|
||||
|
||||
#define EXPCL_MISC
|
||||
#define EXPTP_MISC
|
||||
|
||||
#endif /* WIN32_VC */
|
||||
|
||||
/* These two are always defined empty, because pystub is statically
|
||||
built. But we leave the symbol around in case we change our minds
|
||||
to make pystub once again be a dynamic library. */
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
#include "pvector.h"
|
||||
|
||||
#if defined(HAVE_EIGEN) && defined(_WIN32) && !defined(CPPPARSER)
|
||||
#if defined(HAVE_EIGEN) && defined(_WIN32) && !defined(_WIN64) && !defined(CPPPARSER)
|
||||
|
||||
#include <Eigen/StdVector>
|
||||
|
||||
|
|
|
|||
|
|
@ -913,9 +913,19 @@ if (COMPILER=="GCC"):
|
|||
|
||||
DefSymbol("WITHINPANDA", "WITHIN_PANDA", "1")
|
||||
if GetLinkAllStatic():
|
||||
DefSymbol("ALWAYS", "LINK_ALL_STATIC", "")
|
||||
DefSymbol("ALWAYS", "LINK_ALL_STATIC")
|
||||
if GetTarget() == 'android':
|
||||
DefSymbol("ALWAYS", "ANDROID", "")
|
||||
DefSymbol("ALWAYS", "ANDROID")
|
||||
|
||||
if not PkgSkip("EIGEN"):
|
||||
DefSymbol("ALWAYS", "EIGEN_MPL2_ONLY")
|
||||
if GetOptimize() >= 3:
|
||||
DefSymbol("ALWAYS", "EIGEN_NO_DEBUG")
|
||||
if COMPILER == "MSVC":
|
||||
# Squeeze out a bit more performance on MSVC builds...
|
||||
# Only do this if EIGEN_NO_DEBUG is also set, otherwise it
|
||||
# will turn them into runtime assertions.
|
||||
DefSymbol("ALWAYS", "EIGEN_NO_STATIC_ASSERT")
|
||||
|
||||
########################################################################
|
||||
##
|
||||
|
|
@ -1018,10 +1028,10 @@ def CompileCxx(obj,src,opts):
|
|||
|
||||
if (optlevel==1): cmd += " /MDd /Zi /RTCs /GS"
|
||||
if (optlevel==2): cmd += " /MDd /Zi"
|
||||
if (optlevel==3): cmd += " /MD /Zi /O2 /Ob2 /Oi /Ot /fp:fast /DFORCE_INLINING"
|
||||
if (optlevel==3): cmd += " /MD /Zi /GS- /O2 /Ob2 /Oi /Ot /fp:fast"
|
||||
if (optlevel==4):
|
||||
cmd += " /MD /Zi /Ox /Ob2 /Oi /Ot /fp:fast /DFORCE_INLINING /DNDEBUG /GL"
|
||||
cmd += " /Oy /Zp16" # jean-claude add /Zp16 insures correct static alignment for SSEx
|
||||
cmd += " /MD /Zi /GS- /Ox /Ob2 /Oi /Ot /fp:fast /DFORCE_INLINING /DNDEBUG /GL"
|
||||
cmd += " /Oy /Zp16" # jean-claude add /Zp16 insures correct static alignment for SSEx
|
||||
|
||||
cmd += " /Fd" + os.path.splitext(obj)[0] + ".pdb"
|
||||
|
||||
|
|
@ -1036,7 +1046,7 @@ def CompileCxx(obj,src,opts):
|
|||
if 'EXCEPTIONS' in opts:
|
||||
cmd += " /EHsc"
|
||||
else:
|
||||
cmd += " -D_HAS_EXCEPTIONS=0"
|
||||
cmd += " /D_HAS_EXCEPTIONS=0"
|
||||
|
||||
if 'RTTI' not in opts:
|
||||
cmd += " /GR-"
|
||||
|
|
|
|||
|
|
@ -20,8 +20,6 @@
|
|||
#include "animChannel.h"
|
||||
#include "luse.h"
|
||||
|
||||
EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_CHAN, EXPTP_PANDA_CHAN, AnimChannel<ACMatrixSwitchType>);
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Class : AnimChannelMatrixFixed
|
||||
// Description : A specialization on AnimChannel to add all the
|
||||
|
|
|
|||
|
|
@ -360,6 +360,8 @@ private:
|
|||
static TypeHandle _type_handle;
|
||||
};
|
||||
|
||||
EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_DISPLAY, EXPTP_PANDA_DISPLAY, epvector<DisplayRegion::Region>);
|
||||
|
||||
#include "displayRegion.I"
|
||||
|
||||
#endif /* DISPLAYREGION_H */
|
||||
|
|
|
|||
|
|
@ -65,6 +65,9 @@ private:
|
|||
Morphs _morphs;
|
||||
};
|
||||
|
||||
EXPORT_TEMPLATE_CLASS(EXPCL_PANDAEGG, EXPTP_PANDAEGG, EggMorphList<EggMorph<LVector3d> >);
|
||||
EXPORT_TEMPLATE_CLASS(EXPCL_PANDAEGG, EXPTP_PANDAEGG, EggMorphList<EggMorph<LVector4> >);
|
||||
|
||||
typedef EggMorphList<EggMorphVertex> EggMorphVertexList;
|
||||
typedef EggMorphList<EggMorphNormal> EggMorphNormalList;
|
||||
typedef EggMorphList<EggMorphTexCoord> EggMorphTexCoordList;
|
||||
|
|
|
|||
|
|
@ -29,10 +29,14 @@
|
|||
// rather than defining the pta again.
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
#if !defined(__clang__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
|
||||
// GCC 4.6 has a weird bug related to this type.
|
||||
#else
|
||||
EXPORT_TEMPLATE_CLASS(EXPCL_PANDAEXPRESS, EXPTP_PANDAEXPRESS, PointerToBase<ReferenceCountedVector<uchar> >)
|
||||
EXPORT_TEMPLATE_CLASS(EXPCL_PANDAEXPRESS, EXPTP_PANDAEXPRESS, PointerToArrayBase<uchar>)
|
||||
EXPORT_TEMPLATE_CLASS(EXPCL_PANDAEXPRESS, EXPTP_PANDAEXPRESS, PointerToArray<unsigned char>)
|
||||
EXPORT_TEMPLATE_CLASS(EXPCL_PANDAEXPRESS, EXPTP_PANDAEXPRESS, ConstPointerToArray<unsigned char>)
|
||||
#endif
|
||||
|
||||
typedef PointerToArray<unsigned char> PTA_uchar;
|
||||
typedef ConstPointerToArray<unsigned char> CPTA_uchar;
|
||||
|
|
|
|||
|
|
@ -607,6 +607,8 @@ private:
|
|||
static TypeHandle _type_handle;
|
||||
};
|
||||
|
||||
EXPORT_TEMPLATE_CLASS(EXPCL_PANDA_GOBJ, EXPTP_PANDA_GOBJ, epvector<Shader::ShaderMatSpec>);
|
||||
|
||||
#include "shader.I"
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -2892,6 +2892,8 @@ do_read_one(CData *cdata, const Filename &fullpath, const Filename &alpha_fullpa
|
|||
}
|
||||
image.copy_header_from(*image_reader);
|
||||
|
||||
AutoTextureScale auto_texture_scale = do_get_auto_texture_scale(cdata);
|
||||
|
||||
// If it's a floating-point image file, read it by default into a
|
||||
// floating-point texture.
|
||||
bool read_floating_point;
|
||||
|
|
@ -2929,9 +2931,7 @@ do_read_one(CData *cdata, const Filename &fullpath, const Filename &alpha_fullpa
|
|||
y_size = 1;
|
||||
|
||||
} else {
|
||||
consider_rescale(image, fullpath.get_basename(), do_get_auto_texture_scale(cdata));
|
||||
x_size = image.get_read_x_size();
|
||||
y_size = image.get_read_y_size();
|
||||
adjust_size(x_size, y_size, fullpath.get_basename(), false, auto_texture_scale);
|
||||
}
|
||||
|
||||
if (read_floating_point) {
|
||||
|
|
@ -2949,9 +2949,15 @@ do_read_one(CData *cdata, const Filename &fullpath, const Filename &alpha_fullpa
|
|||
|
||||
} else {
|
||||
if (z == 0 && n == 0) {
|
||||
cdata->_orig_file_x_size = image.get_x_size();
|
||||
cdata->_orig_file_y_size = image.get_y_size();
|
||||
consider_rescale(image, fullpath.get_basename(), do_get_auto_texture_scale(cdata));
|
||||
int x_size = image.get_x_size();
|
||||
int y_size = image.get_y_size();
|
||||
|
||||
cdata->_orig_file_x_size = x_size;
|
||||
cdata->_orig_file_y_size = y_size;
|
||||
|
||||
if (adjust_size(x_size, y_size, fullpath.get_basename(), false, auto_texture_scale)) {
|
||||
image.set_read_size(x_size, y_size);
|
||||
}
|
||||
} else {
|
||||
image.set_read_size(do_get_expected_mipmap_x_size(cdata, n),
|
||||
do_get_expected_mipmap_y_size(cdata, n));
|
||||
|
|
|
|||
|
|
@ -1,27 +0,0 @@
|
|||
// Filename: vector_LPoint2f.cxx
|
||||
// Created by: drose (10May00)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// PANDA 3D SOFTWARE
|
||||
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
||||
//
|
||||
// All use of this software is subject to the terms of the revised BSD
|
||||
// license. You should have received a copy of this license along
|
||||
// with this source code in a file named "LICENSE."
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "vector_LPoint2f.h"
|
||||
|
||||
#define EXPCL EXPCL_PANDA_LINMATH
|
||||
#define EXPTP EXPTP_PANDA_LINMATH
|
||||
#define TYPE LPoint2f
|
||||
#define NAME vector_LPoint2f
|
||||
|
||||
#include "vector_src.cxx"
|
||||
|
||||
// Tell GCC that we'll take care of the instantiation explicitly here.
|
||||
#ifdef __GNUC__
|
||||
#pragma implementation
|
||||
#endif
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
// Filename: vector_LPoint2f.h
|
||||
// Created by: drose (10May00)
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// PANDA 3D SOFTWARE
|
||||
// Copyright (c) Carnegie Mellon University. All rights reserved.
|
||||
//
|
||||
// All use of this software is subject to the terms of the revised BSD
|
||||
// license. You should have received a copy of this license along
|
||||
// with this source code in a file named "LICENSE."
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef VECTOR_LPOINT2F_H
|
||||
#define VECTOR_LPOINT2F_H
|
||||
|
||||
#include "pandabase.h"
|
||||
#include "luse.h"
|
||||
#include "pvector.h"
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Class : vector_LPoint2f
|
||||
// Description : A vector of LPoint2fs. This class is defined once here,
|
||||
// and exported to PANDA.DLL; other packages that want
|
||||
// to use a vector of this type (whether they need to
|
||||
// export it or not) should include this header file,
|
||||
// rather than defining the vector again.
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
#define EXPCL EXPCL_PANDA_LINMATH
|
||||
#define EXPTP EXPTP_PANDA_LINMATH
|
||||
#define TYPE LPoint2f
|
||||
#define NAME vector_LPoint2f
|
||||
|
||||
#include "vector_src.h"
|
||||
|
||||
// Tell GCC that we'll take care of the instantiation explicitly here.
|
||||
#ifdef __GNUC__
|
||||
#pragma interface
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -22,367 +22,262 @@
|
|||
C++-style comments, since this file is occasionally included by a C
|
||||
file. */
|
||||
|
||||
#if (defined(WIN32_VC) || defined(WIN64_VC)) && !defined(CPPPARSER) && !defined(LINK_ALL_STATIC)
|
||||
|
||||
#ifdef BUILDING_CFTALK
|
||||
#define EXPCL_CFTALK __declspec(dllexport)
|
||||
#define EXPTP_CFTALK
|
||||
#define EXPCL_CFTALK EXPORT_CLASS
|
||||
#define EXPTP_CFTALK EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_CFTALK __declspec(dllimport)
|
||||
#define EXPTP_CFTALK extern
|
||||
#define EXPCL_CFTALK IMPORT_CLASS
|
||||
#define EXPTP_CFTALK IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_COLLADA
|
||||
#define EXPCL_COLLADA __declspec(dllexport)
|
||||
#define EXPTP_COLLADA
|
||||
#define EXPCL_COLLADA EXPORT_CLASS
|
||||
#define EXPTP_COLLADA EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_COLLADA __declspec(dllimport)
|
||||
#define EXPTP_COLLADA extern
|
||||
#define EXPCL_COLLADA IMPORT_CLASS
|
||||
#define EXPTP_COLLADA IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_FFMPEG
|
||||
#define EXPCL_FFMPEG __declspec(dllexport)
|
||||
#define EXPTP_FFMPEG
|
||||
#define EXPCL_FFMPEG EXPORT_CLASS
|
||||
#define EXPTP_FFMPEG EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_FFMPEG __declspec(dllimport)
|
||||
#define EXPTP_FFMPEG extern
|
||||
#define EXPCL_FFMPEG IMPORT_CLASS
|
||||
#define EXPTP_FFMPEG IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_FRAMEWORK
|
||||
#define EXPCL_FRAMEWORK __declspec(dllexport)
|
||||
#define EXPTP_FRAMEWORK
|
||||
#define EXPCL_FRAMEWORK EXPORT_CLASS
|
||||
#define EXPTP_FRAMEWORK EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_FRAMEWORK __declspec(dllimport)
|
||||
#define EXPTP_FRAMEWORK extern
|
||||
#define EXPCL_FRAMEWORK IMPORT_CLASS
|
||||
#define EXPTP_FRAMEWORK IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_LINUX_AUDIO
|
||||
#define EXPCL_LINUX_AUDIO __declspec(dllexport)
|
||||
#define EXPTP_LINUX_AUDIO
|
||||
#define EXPCL_LINUX_AUDIO EXPORT_CLASS
|
||||
#define EXPTP_LINUX_AUDIO EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_LINUX_AUDIO __declspec(dllimport)
|
||||
#define EXPTP_LINUX_AUDIO extern
|
||||
#define EXPCL_LINUX_AUDIO IMPORT_CLASS
|
||||
#define EXPTP_LINUX_AUDIO IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_MILES_AUDIO
|
||||
#define EXPCL_MILES_AUDIO __declspec(dllexport)
|
||||
#define EXPTP_MILES_AUDIO
|
||||
#define EXPCL_MILES_AUDIO EXPORT_CLASS
|
||||
#define EXPTP_MILES_AUDIO EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_MILES_AUDIO __declspec(dllimport)
|
||||
#define EXPTP_MILES_AUDIO extern
|
||||
#define EXPCL_MILES_AUDIO IMPORT_CLASS
|
||||
#define EXPTP_MILES_AUDIO IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_FMOD_AUDIO
|
||||
#define EXPCL_FMOD_AUDIO __declspec(dllexport)
|
||||
#define EXPTP_FMOD_AUDIO
|
||||
#define EXPCL_FMOD_AUDIO EXPORT_CLASS
|
||||
#define EXPTP_FMOD_AUDIO EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_FMOD_AUDIO __declspec(dllimport)
|
||||
#define EXPTP_FMOD_AUDIO extern
|
||||
#define EXPCL_FMOD_AUDIO IMPORT_CLASS
|
||||
#define EXPTP_FMOD_AUDIO IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_OCULUSVR
|
||||
#define EXPCL_OCULUSVR __declspec(dllexport)
|
||||
#define EXPTP_OCULUSVR
|
||||
#define EXPCL_OCULUSVR EXPORT_CLASS
|
||||
#define EXPTP_OCULUSVR EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_OCULUSVR __declspec(dllimport)
|
||||
#define EXPTP_OCULUSVR extern
|
||||
#define EXPCL_OCULUSVR IMPORT_CLASS
|
||||
#define EXPTP_OCULUSVR IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_OPENAL_AUDIO
|
||||
#define EXPCL_OPENAL_AUDIO __declspec(dllexport)
|
||||
#define EXPTP_OPENAL_AUDIO
|
||||
#define EXPCL_OPENAL_AUDIO EXPORT_CLASS
|
||||
#define EXPTP_OPENAL_AUDIO EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_OPENAL_AUDIO __declspec(dllimport)
|
||||
#define EXPTP_OPENAL_AUDIO extern
|
||||
#define EXPCL_OPENAL_AUDIO IMPORT_CLASS
|
||||
#define EXPTP_OPENAL_AUDIO IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_PANDA
|
||||
#define EXPCL_PANDA __declspec(dllexport)
|
||||
#define EXPTP_PANDA
|
||||
#define EXPCL_PANDA EXPORT_CLASS
|
||||
#define EXPTP_PANDA EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_PANDA __declspec(dllimport)
|
||||
#define EXPTP_PANDA extern
|
||||
#define EXPCL_PANDA IMPORT_CLASS
|
||||
#define EXPTP_PANDA IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_PANDAAWESOMIUM
|
||||
#define EXPCL_PANDAAWESOMIUM __declspec(dllexport)
|
||||
#define EXPTP_PANDAAWESOMIUM
|
||||
#define EXPCL_PANDAAWESOMIUM EXPORT_CLASS
|
||||
#define EXPTP_PANDAAWESOMIUM EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_PANDAAWESOMIUM __declspec(dllimport)
|
||||
#define EXPTP_PANDAAWESOMIUM extern
|
||||
#define EXPCL_PANDAAWESOMIUM IMPORT_CLASS
|
||||
#define EXPTP_PANDAAWESOMIUM IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_PANDABULLET
|
||||
#define EXPCL_PANDABULLET __declspec(dllexport)
|
||||
#define EXPTP_PANDABULLET
|
||||
#define EXPCL_PANDABULLET EXPORT_CLASS
|
||||
#define EXPTP_PANDABULLET EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_PANDABULLET __declspec(dllimport)
|
||||
#define EXPTP_PANDABULLET extern
|
||||
#define EXPCL_PANDABULLET IMPORT_CLASS
|
||||
#define EXPTP_PANDABULLET IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_PANDACR
|
||||
#define EXPCL_PANDACR __declspec(dllexport)
|
||||
#define EXPTP_PANDACR
|
||||
#define EXPCL_PANDACR EXPORT_CLASS
|
||||
#define EXPTP_PANDACR EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_PANDACR __declspec(dllimport)
|
||||
#define EXPTP_PANDACR extern
|
||||
#define EXPCL_PANDACR IMPORT_CLASS
|
||||
#define EXPTP_PANDACR IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_PANDADX
|
||||
#define EXPCL_PANDADX __declspec(dllexport)
|
||||
#define EXPTP_PANDADX
|
||||
#define EXPCL_PANDADX EXPORT_CLASS
|
||||
#define EXPTP_PANDADX EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_PANDADX __declspec(dllimport)
|
||||
#define EXPTP_PANDADX extern
|
||||
#define EXPCL_PANDADX IMPORT_CLASS
|
||||
#define EXPTP_PANDADX IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_PANDAEGG
|
||||
#define EXPCL_PANDAEGG __declspec(dllexport)
|
||||
#define EXPTP_PANDAEGG
|
||||
#define EXPCL_PANDAEGG EXPORT_CLASS
|
||||
#define EXPTP_PANDAEGG EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_PANDAEGG __declspec(dllimport)
|
||||
#define EXPTP_PANDAEGG extern
|
||||
#define EXPCL_PANDAEGG IMPORT_CLASS
|
||||
#define EXPTP_PANDAEGG IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_PANDAEXPRESS
|
||||
#define EXPCL_PANDAEXPRESS __declspec(dllexport)
|
||||
#define EXPTP_PANDAEXPRESS
|
||||
#define EXPCL_PANDAEXPRESS EXPORT_CLASS
|
||||
#define EXPTP_PANDAEXPRESS EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_PANDAEXPRESS __declspec(dllimport)
|
||||
#define EXPTP_PANDAEXPRESS extern
|
||||
#define EXPCL_PANDAEXPRESS IMPORT_CLASS
|
||||
#define EXPTP_PANDAEXPRESS IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_PANDAFX
|
||||
#define EXPCL_PANDAFX __declspec(dllexport)
|
||||
#define EXPTP_PANDAFX
|
||||
#define EXPCL_PANDAFX EXPORT_CLASS
|
||||
#define EXPTP_PANDAFX EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_PANDAFX __declspec(dllimport)
|
||||
#define EXPTP_PANDAFX extern
|
||||
#define EXPCL_PANDAFX IMPORT_CLASS
|
||||
#define EXPTP_PANDAFX IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_PANDAGL
|
||||
#define EXPCL_PANDAGL __declspec(dllexport)
|
||||
#define EXPTP_PANDAGL
|
||||
#define EXPCL_PANDAGL EXPORT_CLASS
|
||||
#define EXPTP_PANDAGL EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_PANDAGL __declspec(dllimport)
|
||||
#define EXPTP_PANDAGL extern
|
||||
#define EXPCL_PANDAGL IMPORT_CLASS
|
||||
#define EXPTP_PANDAGL IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_PANDAGLES
|
||||
#define EXPCL_PANDAGLES __declspec(dllexport)
|
||||
#define EXPTP_PANDAGLES
|
||||
#define EXPCL_PANDAGLES EXPORT_CLASS
|
||||
#define EXPTP_PANDAGLES EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_PANDAGLES __declspec(dllimport)
|
||||
#define EXPTP_PANDAGLES extern
|
||||
#define EXPCL_PANDAGLES IMPORT_CLASS
|
||||
#define EXPTP_PANDAGLES IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_PANDAGLES2
|
||||
#define EXPCL_PANDAGLES2 __declspec(dllexport)
|
||||
#define EXPTP_PANDAGLES2
|
||||
#define EXPCL_PANDAGLES2 EXPORT_CLASS
|
||||
#define EXPTP_PANDAGLES2 EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_PANDAGLES2 __declspec(dllimport)
|
||||
#define EXPTP_PANDAGLES2 extern
|
||||
#define EXPCL_PANDAGLES2 IMPORT_CLASS
|
||||
#define EXPTP_PANDAGLES2 IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_PANDAODE
|
||||
#define EXPCL_PANDAODE __declspec(dllexport)
|
||||
#define EXPTP_PANDAODE
|
||||
#define EXPCL_PANDAODE EXPORT_CLASS
|
||||
#define EXPTP_PANDAODE EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_PANDAODE __declspec(dllimport)
|
||||
#define EXPTP_PANDAODE extern
|
||||
#define EXPCL_PANDAODE IMPORT_CLASS
|
||||
#define EXPTP_PANDAODE IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_PANDAPHYSICS
|
||||
#define EXPCL_PANDAPHYSICS __declspec(dllexport)
|
||||
#define EXPTP_PANDAPHYSICS
|
||||
#define EXPCL_PANDAPHYSICS EXPORT_CLASS
|
||||
#define EXPTP_PANDAPHYSICS EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_PANDAPHYSICS __declspec(dllimport)
|
||||
#define EXPTP_PANDAPHYSICS extern
|
||||
#define EXPCL_PANDAPHYSICS IMPORT_CLASS
|
||||
#define EXPTP_PANDAPHYSICS IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_PANDAPHYSX
|
||||
#define EXPCL_PANDAPHYSX __declspec(dllexport)
|
||||
#define EXPTP_PANDAPHYSX
|
||||
#define EXPCL_PANDAPHYSX EXPORT_CLASS
|
||||
#define EXPTP_PANDAPHYSX EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_PANDAPHYSX __declspec(dllimport)
|
||||
#define EXPTP_PANDAPHYSX extern
|
||||
#define EXPCL_PANDAPHYSX IMPORT_CLASS
|
||||
#define EXPTP_PANDAPHYSX IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_PANDASPEEDTREE
|
||||
#define EXPCL_PANDASPEEDTREE __declspec(dllexport)
|
||||
#define EXPTP_PANDASPEEDTREE
|
||||
#define EXPCL_PANDASPEEDTREE EXPORT_CLASS
|
||||
#define EXPTP_PANDASPEEDTREE EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_PANDASPEEDTREE __declspec(dllimport)
|
||||
#define EXPTP_PANDASPEEDTREE extern
|
||||
#define EXPCL_PANDASPEEDTREE IMPORT_CLASS
|
||||
#define EXPTP_PANDASPEEDTREE IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_PANDASKEL
|
||||
#define EXPCL_PANDASKEL __declspec(dllexport)
|
||||
#define EXPTP_PANDASKEL
|
||||
#define EXPCL_PANDASKEL EXPORT_CLASS
|
||||
#define EXPTP_PANDASKEL EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_PANDASKEL __declspec(dllimport)
|
||||
#define EXPTP_PANDASKEL extern
|
||||
#define EXPCL_PANDASKEL IMPORT_CLASS
|
||||
#define EXPTP_PANDASKEL IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_PANDAWIN
|
||||
#define EXPCL_PANDAWIN __declspec(dllexport)
|
||||
#define EXPTP_PANDAWIN
|
||||
#define EXPCL_PANDAWIN EXPORT_CLASS
|
||||
#define EXPTP_PANDAWIN EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_PANDAWIN __declspec(dllimport)
|
||||
#define EXPTP_PANDAWIN extern
|
||||
#define EXPCL_PANDAWIN IMPORT_CLASS
|
||||
#define EXPTP_PANDAWIN IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_PANDAX11
|
||||
#define EXPCL_PANDAX11 __declspec(dllexport)
|
||||
#define EXPTP_PANDAX11
|
||||
#define EXPCL_PANDAX11 EXPORT_CLASS
|
||||
#define EXPTP_PANDAX11 EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_PANDAX11 __declspec(dllimport)
|
||||
#define EXPTP_PANDAX11 extern
|
||||
#define EXPCL_PANDAX11 IMPORT_CLASS
|
||||
#define EXPTP_PANDAX11 IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_ROCKET
|
||||
#define EXPCL_ROCKET __declspec(dllexport)
|
||||
#define EXPTP_ROCKET
|
||||
#define EXPCL_ROCKET EXPORT_CLASS
|
||||
#define EXPTP_ROCKET EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_ROCKET __declspec(dllimport)
|
||||
#define EXPTP_ROCKET extern
|
||||
#define EXPCL_ROCKET IMPORT_CLASS
|
||||
#define EXPTP_ROCKET IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_SHADER
|
||||
#define EXPCL_SHADER __declspec(dllexport)
|
||||
#define EXPTP_SHADER
|
||||
#define EXPCL_SHADER EXPORT_CLASS
|
||||
#define EXPTP_SHADER EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_SHADER __declspec(dllimport)
|
||||
#define EXPTP_SHADER extern
|
||||
#define EXPCL_SHADER IMPORT_CLASS
|
||||
#define EXPTP_SHADER IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_TINYDISPLAY
|
||||
#define EXPCL_TINYDISPLAY __declspec(dllexport)
|
||||
#define EXPTP_TINYDISPLAY
|
||||
#define EXPCL_TINYDISPLAY EXPORT_CLASS
|
||||
#define EXPTP_TINYDISPLAY EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_TINYDISPLAY __declspec(dllimport)
|
||||
#define EXPTP_TINYDISPLAY extern
|
||||
#define EXPCL_TINYDISPLAY IMPORT_CLASS
|
||||
#define EXPTP_TINYDISPLAY IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_VISION
|
||||
#define EXPCL_VISION __declspec(dllexport)
|
||||
#define EXPTP_VISION
|
||||
#define EXPCL_VISION EXPORT_CLASS
|
||||
#define EXPTP_VISION EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_VISION __declspec(dllimport)
|
||||
#define EXPTP_VISION extern
|
||||
#define EXPCL_VISION IMPORT_CLASS
|
||||
#define EXPTP_VISION IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_VRPN
|
||||
#define EXPCL_VRPN __declspec(dllexport)
|
||||
#define EXPTP_VRPN
|
||||
#define EXPCL_VRPN EXPORT_CLASS
|
||||
#define EXPTP_VRPN EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_VRPN __declspec(dllimport)
|
||||
#define EXPTP_VRPN extern
|
||||
#define EXPCL_VRPN IMPORT_CLASS
|
||||
#define EXPTP_VRPN IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#else /* !WIN32_VC */
|
||||
|
||||
#define EXPCL_CFTALK
|
||||
#define EXPTP_CFTALK
|
||||
|
||||
#define EXPCL_COLLADA
|
||||
#define EXPTP_COLLADA
|
||||
|
||||
#define EXPCL_FFMPEG
|
||||
#define EXPTP_FFMPEG
|
||||
|
||||
#define EXPCL_FRAMEWORK
|
||||
#define EXPTP_FRAMEWORK
|
||||
|
||||
#define EXPCL_LINUX_AUDIO
|
||||
#define EXPTP_LINUX_AUDIO
|
||||
|
||||
#define EXPCL_MILES_AUDIO
|
||||
#define EXPTP_MILES_AUDIO
|
||||
|
||||
#define EXPCL_FMOD_AUDIO
|
||||
#define EXPTP_FMOD_AUDIO
|
||||
|
||||
#define EXPCL_OCULUSVR
|
||||
#define EXPTP_OCULUSVR
|
||||
|
||||
#define EXPCL_OPENAL_AUDIO
|
||||
#define EXPTP_OPENAL_AUDIO
|
||||
|
||||
#define EXPCL_PANDA
|
||||
#define EXPTP_PANDA
|
||||
|
||||
#define EXPCL_PANDAAWESOMIUM
|
||||
#define EXPTP_PANDAAWESOMIUM
|
||||
|
||||
#define EXPCL_PANDABULLET
|
||||
#define EXPTP_PANDABULLET
|
||||
|
||||
#define EXPCL_PANDACR
|
||||
#define EXPTP_PANDACR
|
||||
|
||||
#define EXPCL_PANDADX
|
||||
#define EXPTP_PANDADX
|
||||
|
||||
#define EXPCL_PANDAEGG
|
||||
#define EXPTP_PANDAEGG
|
||||
|
||||
#define EXPCL_PANDAEXPRESS
|
||||
#define EXPTP_PANDAEXPRESS
|
||||
|
||||
#define EXPCL_PANDAFX
|
||||
#define EXPTP_PANDAFX
|
||||
|
||||
#define EXPCL_PANDAGL
|
||||
#define EXPTP_PANDAGL
|
||||
|
||||
#define EXPCL_PANDAGLES
|
||||
#define EXPTP_PANDAGLES
|
||||
|
||||
#define EXPCL_PANDAGLES2
|
||||
#define EXPTP_PANDAGLES2
|
||||
|
||||
#define EXPCL_PANDAODE
|
||||
#define EXPTP_PANDAODE
|
||||
|
||||
#define EXPCL_PANDAPHYSICS
|
||||
#define EXPTP_PANDAPHYSICS
|
||||
|
||||
#define EXPCL_PANDAPHYSX
|
||||
#define EXPTP_PANDAPHYSX
|
||||
|
||||
#define EXPCL_PANDASPEEDTREE
|
||||
#define EXPTP_PANDASPEEDTREE
|
||||
|
||||
#define EXPCL_PANDARIB
|
||||
#define EXPTP_PANDARIB
|
||||
|
||||
#define EXPCL_PANDASKEL
|
||||
#define EXPTP_PANDASKEL
|
||||
|
||||
#define EXPCL_PANDAWIN
|
||||
#define EXPTP_PANDAWIN
|
||||
|
||||
#define EXPCL_PANDAX11
|
||||
#define EXPTP_PANDAX11
|
||||
|
||||
#define EXPCL_ROCKET
|
||||
#define EXPTP_ROCKET
|
||||
|
||||
#define EXPCL_SHADER
|
||||
#define EXPTP_SHADER
|
||||
|
||||
#define EXPCL_TINYDISPLAY
|
||||
#define EXPTP_TINYDISPLAY
|
||||
|
||||
#define EXPCL_VISION
|
||||
#define EXPTP_VISION
|
||||
|
||||
#define EXPCL_VRPN
|
||||
#define EXPTP_VRPN
|
||||
|
||||
#endif /* WIN32_VC */
|
||||
|
||||
#if (defined(WIN32_VC) || defined(WIN64_VC)) && !defined(CPPPARSER)
|
||||
#define INLINE_LINMATH __forceinline
|
||||
#define INLINE_MATHUTIL __forceinline
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
#include "convert_srgb.h"
|
||||
|
||||
// Lookup tables for converting from unsigned char formats.
|
||||
ALIGN_64BYTE const
|
||||
const
|
||||
unsigned char to_srgb8_table[256] = { 0x00, 0x0d, 0x16, 0x1c, 0x22, 0x26, 0x2a,
|
||||
0x2e, 0x32, 0x35, 0x38, 0x3b, 0x3d, 0x40, 0x42, 0x45, 0x47, 0x49, 0x4b, 0x4d,
|
||||
0x4f, 0x51, 0x53, 0x55, 0x56, 0x58, 0x5a, 0x5c, 0x5d, 0x5f, 0x60, 0x62, 0x63,
|
||||
|
|
@ -38,7 +38,7 @@ unsigned char to_srgb8_table[256] = { 0x00, 0x0d, 0x16, 0x1c, 0x22, 0x26, 0x2a,
|
|||
0xf9, 0xf9, 0xfa, 0xfa, 0xfb, 0xfb, 0xfb, 0xfc, 0xfc, 0xfd, 0xfd, 0xfe, 0xfe,
|
||||
0xff, 0xff};
|
||||
|
||||
ALIGN_64BYTE const
|
||||
const
|
||||
unsigned char to_linear_uchar_table[256] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02,
|
||||
0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04,
|
||||
|
|
@ -61,7 +61,6 @@ unsigned char to_linear_uchar_table[256] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
|||
0xe0, 0xe2, 0xe5, 0xe7, 0xe9, 0xeb, 0xed, 0xef, 0xf2, 0xf4, 0xf6, 0xf8, 0xfa,
|
||||
0xfd, 0xff};
|
||||
|
||||
ALIGN_64BYTE
|
||||
const float to_linear_float_table[256] = { 0, 0.000304f, 0.000607f, 0.000911f,
|
||||
0.001214f, 0.001518f, 0.001821f, 0.002125f, 0.002428f, 0.002732f, 0.003035f,
|
||||
0.003347f, 0.003677f, 0.004025f, 0.004391f, 0.004777f, 0.005182f, 0.005605f,
|
||||
|
|
|
|||
|
|
@ -22,9 +22,9 @@
|
|||
// The below functions can encode and decode sRGB colors in various
|
||||
// representations. Some of them are implemented using look-up tables,
|
||||
// some others using SSE2 intrinsics.
|
||||
extern EXPCL_PANDA_PNMIMAGE ALIGN_64BYTE const unsigned char to_srgb8_table[256];
|
||||
extern EXPCL_PANDA_PNMIMAGE ALIGN_64BYTE const unsigned char to_linear_uchar_table[256];
|
||||
extern EXPCL_PANDA_PNMIMAGE ALIGN_64BYTE const float to_linear_float_table[256];
|
||||
extern EXPCL_PANDA_PNMIMAGE const unsigned char to_srgb8_table[256];
|
||||
extern EXPCL_PANDA_PNMIMAGE const unsigned char to_linear_uchar_table[256];
|
||||
extern EXPCL_PANDA_PNMIMAGE const float to_linear_float_table[256];
|
||||
|
||||
EXPCL_PANDA_PNMIMAGE INLINE float decode_sRGB_float(unsigned char val);
|
||||
EXPCL_PANDA_PNMIMAGE INLINE float decode_sRGB_float(float val);
|
||||
|
|
|
|||
|
|
@ -66,7 +66,10 @@ render(Rocket::Core::Context* context, CullTraverser *trav) {
|
|||
// Description: Called internally to make a Geom from Rocket data.
|
||||
////////////////////////////////////////////////////////////////////
|
||||
PT(Geom) RocketRenderInterface::
|
||||
make_geom(Rocket::Core::Vertex* vertices, int num_vertices, int* indices, int num_indices, GeomEnums::UsageHint uh) {
|
||||
make_geom(Rocket::Core::Vertex* vertices,
|
||||
int num_vertices, int* indices, int num_indices,
|
||||
GeomEnums::UsageHint uh, const LVecBase2 &tex_scale) {
|
||||
|
||||
PT(GeomVertexData) vdata = new GeomVertexData("", GeomVertexFormat::get_v3c4t2(), uh);
|
||||
vdata->unclean_set_num_rows(num_vertices);
|
||||
{
|
||||
|
|
@ -81,7 +84,8 @@ make_geom(Rocket::Core::Vertex* vertices, int num_vertices, int* indices, int nu
|
|||
vwriter.add_data3f(LVector3f::right() * vertex.position.x + LVector3f::up() * vertex.position.y);
|
||||
cwriter.add_data4i(vertex.colour.red, vertex.colour.green,
|
||||
vertex.colour.blue, vertex.colour.alpha);
|
||||
twriter.add_data2f(vertex.tex_coord.x, 1.0f - vertex.tex_coord.y);
|
||||
twriter.add_data2f(vertex.tex_coord.x * tex_scale[0],
|
||||
(1.0f - vertex.tex_coord.y) * tex_scale[1]);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -140,12 +144,24 @@ render_geom(const Geom* geom, const RenderState* state, const Rocket::Core::Vect
|
|||
// that the application does not wish to optimize.
|
||||
////////////////////////////////////////////////////////////////////
|
||||
void RocketRenderInterface::
|
||||
RenderGeometry(Rocket::Core::Vertex* vertices, int num_vertices, int* indices, int num_indices, Rocket::Core::TextureHandle texture, const Rocket::Core::Vector2f& translation) {
|
||||
PT(Geom) geom = make_geom(vertices, num_vertices, indices, num_indices, GeomEnums::UH_stream);
|
||||
RenderGeometry(Rocket::Core::Vertex* vertices,
|
||||
int num_vertices, int* indices, int num_indices,
|
||||
Rocket::Core::TextureHandle thandle,
|
||||
const Rocket::Core::Vector2f& translation) {
|
||||
|
||||
Texture *texture = (Texture *)thandle;
|
||||
|
||||
LVecBase2 tex_scale(1, 1);
|
||||
if (texture != (Texture *)NULL) {
|
||||
tex_scale = texture->get_tex_scale();
|
||||
}
|
||||
|
||||
PT(Geom) geom = make_geom(vertices, num_vertices, indices, num_indices,
|
||||
GeomEnums::UH_stream, tex_scale);
|
||||
|
||||
CPT(RenderState) state;
|
||||
if ((Texture*) texture != (Texture*) NULL) {
|
||||
state = RenderState::make(TextureAttrib::make((Texture*) texture));
|
||||
if (texture != (Texture *)NULL) {
|
||||
state = RenderState::make(TextureAttrib::make(texture));
|
||||
} else {
|
||||
state = RenderState::make_empty();
|
||||
}
|
||||
|
|
@ -160,30 +176,40 @@ RenderGeometry(Rocket::Core::Vertex* vertices, int num_vertices, int* indices, i
|
|||
// it believes will be static for the forseeable future.
|
||||
////////////////////////////////////////////////////////////////////
|
||||
Rocket::Core::CompiledGeometryHandle RocketRenderInterface::
|
||||
CompileGeometry(Rocket::Core::Vertex* vertices, int num_vertices, int* indices, int num_indices, Rocket::Core::TextureHandle texture) {
|
||||
CompileGeometry(Rocket::Core::Vertex* vertices,
|
||||
int num_vertices, int* indices, int num_indices,
|
||||
Rocket::Core::TextureHandle thandle) {
|
||||
|
||||
Texture *texture = (Texture *)thandle;
|
||||
|
||||
CompiledGeometry *c = new CompiledGeometry;
|
||||
c->_geom = make_geom(vertices, num_vertices, indices, num_indices, GeomEnums::UH_static);
|
||||
LVecBase2 tex_scale(1, 1);
|
||||
|
||||
if (texture != (Texture *)NULL) {
|
||||
rocket_cat.debug()
|
||||
<< "Compiling geom " << c->_geom << " with texture '"
|
||||
<< texture->get_name() << "'\n";
|
||||
|
||||
tex_scale = texture->get_tex_scale();
|
||||
|
||||
if ((Texture*) texture != (Texture*) NULL) {
|
||||
PT(TextureStage) stage = new TextureStage("");
|
||||
stage->set_mode(TextureStage::M_modulate);
|
||||
|
||||
CPT(TextureAttrib) attr = DCAST(TextureAttrib, TextureAttrib::make());
|
||||
attr = DCAST(TextureAttrib, attr->add_on_stage(stage, (Texture*) texture));
|
||||
attr = DCAST(TextureAttrib, attr->add_on_stage(stage, (Texture *)texture));
|
||||
|
||||
c->_state = RenderState::make(attr);
|
||||
|
||||
rocket_cat.debug()
|
||||
<< "Compiled geom " << c->_geom << " with texture '"
|
||||
<< ((Texture*) texture)->get_name() << "'\n";
|
||||
} else {
|
||||
c->_state = RenderState::make_empty();
|
||||
|
||||
rocket_cat.debug()
|
||||
<< "Compiled geom " << c->_geom << " without texture\n";
|
||||
<< "Compiling geom " << c->_geom << " without texture\n";
|
||||
|
||||
c->_state = RenderState::make_empty();
|
||||
}
|
||||
|
||||
c->_geom = make_geom(vertices, num_vertices, indices, num_indices,
|
||||
GeomEnums::UH_static, tex_scale);
|
||||
|
||||
return (Rocket::Core::CompiledGeometryHandle) c;
|
||||
}
|
||||
|
||||
|
|
@ -222,7 +248,16 @@ LoadTexture(Rocket::Core::TextureHandle& texture_handle,
|
|||
Rocket::Core::Vector2i& texture_dimensions,
|
||||
const Rocket::Core::String& source) {
|
||||
|
||||
PT(Texture) tex = TexturePool::load_texture(Filename::from_os_specific(source.CString()));
|
||||
// Prefer padding over scaling to avoid blurring people's pixel art.
|
||||
LoaderOptions options;
|
||||
if (Texture::get_textures_power_2() == ATS_none) {
|
||||
options.set_auto_texture_scale(ATS_none);
|
||||
} else {
|
||||
options.set_auto_texture_scale(ATS_pad);
|
||||
}
|
||||
|
||||
Filename fn = Filename::from_os_specific(source.CString());
|
||||
PT(Texture) tex = TexturePool::load_texture(fn, 0, false, options);
|
||||
if (tex == NULL) {
|
||||
texture_handle = 0;
|
||||
texture_dimensions.x = 0;
|
||||
|
|
@ -233,8 +268,12 @@ LoadTexture(Rocket::Core::TextureHandle& texture_handle,
|
|||
tex->set_minfilter(SamplerState::FT_nearest);
|
||||
tex->set_magfilter(SamplerState::FT_nearest);
|
||||
|
||||
texture_dimensions.x = tex->get_x_size();
|
||||
texture_dimensions.y = tex->get_y_size();
|
||||
// Since libRocket may make layout decisions based on the size of
|
||||
// the image, it's important that we give it the original size of
|
||||
// the image file in order to produce consistent results.
|
||||
texture_dimensions.x = tex->get_orig_file_x_size();
|
||||
texture_dimensions.y = tex->get_orig_file_y_size();
|
||||
|
||||
tex->ref();
|
||||
texture_handle = (Rocket::Core::TextureHandle) tex.p();
|
||||
|
||||
|
|
@ -255,18 +294,26 @@ GenerateTexture(Rocket::Core::TextureHandle& texture_handle,
|
|||
PT(Texture) tex = new Texture;
|
||||
tex->setup_2d_texture(source_dimensions.x, source_dimensions.y,
|
||||
Texture::T_unsigned_byte, Texture::F_rgba);
|
||||
|
||||
// Pad to nearest power of two if necessary. It may not be necessary
|
||||
// as libRocket seems to give power-of-two sizes already, but can't hurt.
|
||||
tex->set_size_padded(source_dimensions.x, source_dimensions.y);
|
||||
|
||||
PTA_uchar image = tex->modify_ram_image();
|
||||
|
||||
// Convert RGBA to BGRA
|
||||
size_t row_size = source_dimensions.x * 4;
|
||||
size_t y2 = image.size();
|
||||
for (size_t y = 0; y < image.size(); y += row_size) {
|
||||
y2 -= row_size;
|
||||
for (size_t i = 0; i < row_size; i += 4) {
|
||||
image[y2 + i + 0] = source[y + i + 2];
|
||||
image[y2 + i + 1] = source[y + i + 1];
|
||||
image[y2 + i + 2] = source[y + i];
|
||||
image[y2 + i + 3] = source[y + i + 3];
|
||||
size_t src_stride = source_dimensions.x * 4;
|
||||
size_t dst_stride = tex->get_x_size() * 4;
|
||||
const unsigned char *src_ptr = source + (src_stride * source_dimensions.y);
|
||||
unsigned char *dst_ptr = &image[0];
|
||||
|
||||
for (; src_ptr >= source; dst_ptr += dst_stride) {
|
||||
src_ptr -= src_stride;
|
||||
for (size_t i = 0; i < src_stride; i += 4) {
|
||||
dst_ptr[i + 0] = src_ptr[i + 2];
|
||||
dst_ptr[i + 1] = src_ptr[i + 1];
|
||||
dst_ptr[i + 2] = src_ptr[i];
|
||||
dst_ptr[i + 3] = src_ptr[i + 3];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -289,9 +336,9 @@ GenerateTexture(Rocket::Core::TextureHandle& texture_handle,
|
|||
////////////////////////////////////////////////////////////////////
|
||||
void RocketRenderInterface::
|
||||
ReleaseTexture(Rocket::Core::TextureHandle texture_handle) {
|
||||
Texture* tex = (Texture*) texture_handle;
|
||||
if (tex != (Texture*) NULL) {
|
||||
tex->unref();
|
||||
Texture *tex = (Texture *)texture_handle;
|
||||
if (tex != (Texture *)NULL) {
|
||||
unref_delete(tex);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -39,7 +39,9 @@ protected:
|
|||
CPT(RenderState) _state;
|
||||
};
|
||||
|
||||
PT(Geom) make_geom(Rocket::Core::Vertex* vertices, int num_vertices, int* indices, int num_indices, GeomEnums::UsageHint uh);
|
||||
PT(Geom) make_geom(Rocket::Core::Vertex* vertices,
|
||||
int num_vertices, int* indices, int num_indices,
|
||||
GeomEnums::UsageHint uh, const LVecBase2 &tex_scale);
|
||||
void render_geom(const Geom* geom, const RenderState* state, const Rocket::Core::Vector2f& translation);
|
||||
|
||||
void RenderGeometry(Rocket::Core::Vertex* vertices, int num_vertices, int* indices, int num_indices, Rocket::Core::TextureHandle texture, const Rocket::Core::Vector2f& translation);
|
||||
|
|
@ -70,6 +72,7 @@ private:
|
|||
CPT(TransformState) _net_transform;
|
||||
CPT(RenderState) _net_state;
|
||||
Rocket::Core::Vector2i _dimensions;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -2708,6 +2708,10 @@ setup_gltex(GLTexture *gltex, int x_size, int y_size, int num_levels) {
|
|||
int t_bits = get_tex_shift(y_size);
|
||||
|
||||
if (s_bits < 0 || t_bits < 0) {
|
||||
tinydisplay_cat.error()
|
||||
<< "Texture size " << x_size << 'x' << y_size
|
||||
<< " unsupported: dimensions must be power of two"
|
||||
<< " and smaller than " << _max_texture_dimension << '\n';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -17,32 +17,20 @@
|
|||
|
||||
/* See dtoolsymbols.h for a rant on the purpose of this file. */
|
||||
|
||||
#if defined(WIN32_VC) && !defined(CPPPARSER) && !defined(LINK_ALL_STATIC)
|
||||
|
||||
#ifdef BUILDING_ASSIMP
|
||||
#define EXPCL_ASSIMP __declspec(dllexport)
|
||||
#define EXPTP_ASSIMP
|
||||
#define EXPCL_ASSIMP EXPORT_CLASS
|
||||
#define EXPTP_ASSIMP EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_ASSIMP __declspec(dllimport)
|
||||
#define EXPTP_ASSIMP extern
|
||||
#define EXPCL_ASSIMP IMPORT_CLASS
|
||||
#define EXPTP_ASSIMP IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#ifdef BUILDING_PTLOADER
|
||||
#define EXPCL_PTLOADER __declspec(dllexport)
|
||||
#define EXPTP_PTLOADER
|
||||
#define EXPCL_PTLOADER EXPORT_CLASS
|
||||
#define EXPTP_PTLOADER EXPORT_TEMPL
|
||||
#else
|
||||
#define EXPCL_PTLOADER __declspec(dllimport)
|
||||
#define EXPTP_PTLOADER extern
|
||||
#define EXPCL_PTLOADER IMPORT_CLASS
|
||||
#define EXPTP_PTLOADER IMPORT_TEMPL
|
||||
#endif
|
||||
|
||||
#else /* !WIN32_VC */
|
||||
|
||||
#define EXPCL_ASSIMP
|
||||
#define EXPTP_ASSIMP
|
||||
|
||||
#define EXPCL_PTLOADER
|
||||
#define EXPTP_PTLOADER
|
||||
|
||||
#endif /* WIN32_VC */
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in New Issue