fbxsurfacelambert.h 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  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 fbxsurfacelambert.h
  9. #ifndef _FBXSDK_SCENE_SHADING_SURFACE_LAMBERT_H_
  10. #define _FBXSDK_SCENE_SHADING_SURFACE_LAMBERT_H_
  11. #include <fbxsdk/fbxsdk_def.h>
  12. #include <fbxsdk/scene/shading/fbxsurfacematerial.h>
  13. #include <fbxsdk/fbxsdk_nsbegin.h>
  14. /** This class contains settings for Lambert Materials.
  15. * \nosubgrouping
  16. */
  17. class FBXSDK_DLL FbxSurfaceLambert : public FbxSurfaceMaterial
  18. {
  19. FBXSDK_OBJECT_DECLARE(FbxSurfaceLambert,FbxSurfaceMaterial);
  20. public:
  21. /**
  22. * \name Material properties
  23. */
  24. //@{
  25. //! Emissive color property.
  26. FbxPropertyT<FbxDouble3> Emissive;
  27. /** Emissive factor property. This factor is used to
  28. * attenuate the emissive color.
  29. */
  30. FbxPropertyT<FbxDouble> EmissiveFactor;
  31. //! Ambient color property.
  32. FbxPropertyT<FbxDouble3> Ambient;
  33. /** Ambient factor property. This factor is used to
  34. * attenuate the ambient color.
  35. */
  36. FbxPropertyT<FbxDouble> AmbientFactor;
  37. //! Diffuse color property.
  38. FbxPropertyT<FbxDouble3> Diffuse;
  39. /** Diffuse factor property. This factor is used to
  40. * attenuate the diffuse color.
  41. */
  42. FbxPropertyT<FbxDouble> DiffuseFactor;
  43. /** NormalMap property. This property can be used to specify the distortion of the surface
  44. * normals and create the illusion of a bumpy surface.
  45. */
  46. FbxPropertyT<FbxDouble3> NormalMap;
  47. /** Bump property. This property is used to distort the
  48. * surface normal and create the illusion of a bumpy surface.
  49. */
  50. FbxPropertyT<FbxDouble3> Bump;
  51. /** Bump factor property. This factor is used to
  52. * make a surface more or less bumpy.
  53. */
  54. FbxPropertyT<FbxDouble> BumpFactor;
  55. //! Transparent color property.
  56. FbxPropertyT<FbxDouble3> TransparentColor;
  57. /** Transparency factor property. This property is used to make a
  58. * surface more or less opaque (0 = opaque, 1 = transparent).
  59. */
  60. FbxPropertyT<FbxDouble> TransparencyFactor;
  61. //! Displacement color property.
  62. FbxPropertyT<FbxDouble3> DisplacementColor;
  63. //! Displacement factor property.
  64. FbxPropertyT<FbxDouble> DisplacementFactor;
  65. //! Vector displacement color property.
  66. FbxPropertyT<FbxDouble3> VectorDisplacementColor;
  67. //! Vector displacement factor property.
  68. FbxPropertyT<FbxDouble> VectorDisplacementFactor;
  69. //@}
  70. //////////////////////////////////////////////////////////////////////////
  71. // Static values
  72. //////////////////////////////////////////////////////////////////////////
  73. /**
  74. * \name Default property values
  75. */
  76. //@{
  77. static const FbxDouble3 sEmissiveDefault;
  78. static const FbxDouble sEmissiveFactorDefault;
  79. static const FbxDouble3 sAmbientDefault;
  80. static const FbxDouble sAmbientFactorDefault;
  81. static const FbxDouble3 sDiffuseDefault;
  82. static const FbxDouble sDiffuseFactorDefault;
  83. static const FbxDouble3 sBumpDefault;
  84. static const FbxDouble3 sNormalMapDefault;
  85. static const FbxDouble sBumpFactorDefault;
  86. static const FbxDouble3 sTransparentDefault;
  87. static const FbxDouble sTransparencyFactorDefault;
  88. static const FbxDouble3 sDisplacementDefault;
  89. static const FbxDouble sDisplacementFactorDefault;
  90. static const FbxDouble3 sVectorDisplacementDefault;
  91. static const FbxDouble sVectorDisplacementFactorDefault;
  92. //@}
  93. /*****************************************************************************************************************************
  94. ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! **
  95. *****************************************************************************************************************************/
  96. #ifndef DOXYGEN_SHOULD_SKIP_THIS
  97. protected:
  98. virtual void ConstructProperties(bool pForceSet);
  99. // Local
  100. void Init();
  101. #endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/
  102. };
  103. #include <fbxsdk/fbxsdk_nsend.h>
  104. #endif /* _FBXSDK_SCENE_SHADING_SURFACE_LAMBERT_H_ */