fbxbindingtable.h 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. /****************************************************************************************
  2. Copyright (C) 2015 Autodesk, Inc.
  3. All rights reserved.
  4. Use of this software is subject to the terms of the Autodesk license agreement
  5. provided at the time of installation or download, or which otherwise accompanies
  6. this software in either electronic or hard copy form.
  7. ****************************************************************************************/
  8. //! \file fbxbindingtable.h
  9. #ifndef _FBXSDK_SCENE_SHADING_BINDING_TABLE_H_
  10. #define _FBXSDK_SCENE_SHADING_BINDING_TABLE_H_
  11. #include <fbxsdk/fbxsdk_def.h>
  12. #include <fbxsdk/scene/shading/fbxbindingtablebase.h>
  13. #include <fbxsdk/fbxsdk_nsbegin.h>
  14. /** A binding table represents a collection of bindings
  15. * from source types such as FbxObject, or FbxLayerElements
  16. * to corresponding destinations, usually a third party shader parameters.
  17. * Binding represents a link between internal object(e.g. FbxObject) and
  18. * external object(e.g. HLSL shader parameters).
  19. * \nosubgrouping
  20. * \see FbxBindingOperator, FbxBindingTableBase
  21. */
  22. class FBXSDK_DLL FbxBindingTable : public FbxBindingTableBase
  23. {
  24. FBXSDK_OBJECT_DECLARE(FbxBindingTable, FbxBindingTableBase);
  25. public:
  26. /** This property stores the name of target.
  27. *
  28. * Default value is "".
  29. */
  30. FbxPropertyT<FbxString> TargetName;
  31. /** This property stores the type of target.
  32. *
  33. * Default value is "".
  34. */
  35. FbxPropertyT<FbxString> TargetType;
  36. /** Relative URL of file containing the shader implementation description.
  37. * e.g.: ./shader.mi
  38. * Default value is "".
  39. */
  40. FbxPropertyT<FbxString> DescRelativeURL;
  41. /** Absolute URL of file containing the shader implementation description.
  42. * e.g.: file:///usr/tmp/shader.mi
  43. * Default value is "".
  44. */
  45. FbxPropertyT<FbxString> DescAbsoluteURL;
  46. /** Identify the shader to use in previous description's URL.
  47. * e.g.: MyOwnShader
  48. * Default value is "".
  49. */
  50. FbxPropertyT<FbxString> DescTAG;
  51. /** Relative URL of file containing the shader implementation code.
  52. * e.g.: ./bin/shader.dll
  53. * Default value is "".
  54. */
  55. FbxPropertyT<FbxString> CodeRelativeURL;
  56. /** Absolute URL of file containing the shader implementation code.
  57. * e.g.: file:///usr/tmp/bin/shader.dll
  58. * Default value is "".
  59. */
  60. FbxPropertyT<FbxString> CodeAbsoluteURL;
  61. /** Identify the shader function entry to use in previous code's URL.
  62. * e.g.: MyOwnShaderFunc
  63. * Default value is "".
  64. */
  65. FbxPropertyT<FbxString> CodeTAG;
  66. //////////////////////////////////////////////////////////////////////////
  67. // Static values
  68. //////////////////////////////////////////////////////////////////////////
  69. //! Target name.
  70. static const char* sTargetName;
  71. //! Target type.
  72. static const char* sTargetType;
  73. //! Relative URL for shader description.
  74. static const char* sDescRelativeURL;
  75. //! Absolute URL for shader description.
  76. static const char* sDescAbsoluteURL;
  77. //! Identify the shader to use in previous description's URL.
  78. static const char* sDescTAG;
  79. //! Relative URL for shader code.
  80. static const char* sCodeRelativeURL;
  81. //! Absolute URL for shader code.
  82. static const char* sCodeAbsoluteURL;
  83. //! Identify the shader function entry to use in previous code's URL.
  84. static const char* sCodeTAG;
  85. //! Default value for target name.
  86. static const char* sDefaultTargetName;
  87. //! Default value for target type.
  88. static const char* sDefaultTargetType;
  89. //! Default value for relative URL for shader description.
  90. static const char* sDefaultDescRelativeURL;
  91. //! Default value for absolute URL for shader description.
  92. static const char* sDefaultDescAbsoluteURL;
  93. //! Default value for identifying the shader to use in previous description's URL.
  94. static const char* sDefaultDescTAG;
  95. //! Default value for relative URL for shader code.
  96. static const char* sDefaultCodeRelativeURL;
  97. //! Default value for absolute URL for shader code.
  98. static const char* sDefaultCodeAbsoluteURL;
  99. //! Default value for identifying the shader function entry to use in previous code's URL.
  100. static const char* sDefaultCodeTAG;
  101. /*****************************************************************************************************************************
  102. ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! **
  103. *****************************************************************************************************************************/
  104. #ifndef DOXYGEN_SHOULD_SKIP_THIS
  105. private:
  106. virtual void ConstructProperties(bool pForceSet);
  107. #endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/
  108. };
  109. #include <fbxsdk/fbxsdk_nsend.h>
  110. #endif /* _FBXSDK_SCENE_SHADING_BINDING_TABLE_H_ */