fbxsurfacephong.h 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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 fbxsurfacephong.h
  9. #ifndef _FBXSDK_SCENE_SHADING_SURFACE_PHONG_H_
  10. #define _FBXSDK_SCENE_SHADING_SURFACE_PHONG_H_
  11. #include <fbxsdk/fbxsdk_def.h>
  12. #include <fbxsdk/scene/shading/fbxsurfacelambert.h>
  13. #include <fbxsdk/fbxsdk_nsbegin.h>
  14. /** This class contains settings for Phong Materials.
  15. * \nosubgrouping
  16. */
  17. class FBXSDK_DLL FbxSurfacePhong : public FbxSurfaceLambert
  18. {
  19. FBXSDK_OBJECT_DECLARE(FbxSurfacePhong, FbxSurfaceLambert);
  20. public:
  21. /**
  22. * \name Material properties
  23. */
  24. //@{
  25. //! Specular property.
  26. FbxPropertyT<FbxDouble3> Specular;
  27. /** Specular factor property. This factor is used to
  28. * attenuate the specular color.
  29. */
  30. FbxPropertyT<FbxDouble> SpecularFactor;
  31. /** Shininess property. This property controls the aspect
  32. * of the shiny spot. It is the specular exponent in the Phong
  33. * illumination model.
  34. */
  35. FbxPropertyT<FbxDouble> Shininess;
  36. /** Reflection color property. This property is used to
  37. * implement reflection mapping.
  38. */
  39. FbxPropertyT<FbxDouble3> Reflection;
  40. /** Reflection factor property. This property is used to
  41. * attenuate the reflection color.
  42. */
  43. FbxPropertyT<FbxDouble> ReflectionFactor;
  44. //@}
  45. //////////////////////////////////////////////////////////////////////////
  46. // Static values
  47. //////////////////////////////////////////////////////////////////////////
  48. /**
  49. * \name Default property values
  50. */
  51. //@{
  52. static const FbxDouble3 sSpecularDefault;
  53. static const FbxDouble sSpecularFactorDefault;
  54. static const FbxDouble sShininessDefault;
  55. static const FbxDouble3 sReflectionDefault;
  56. static const FbxDouble sReflectionFactorDefault;
  57. //@}
  58. /*****************************************************************************************************************************
  59. ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! **
  60. *****************************************************************************************************************************/
  61. #ifndef DOXYGEN_SHOULD_SKIP_THIS
  62. protected:
  63. virtual void ConstructProperties(bool pForceSet);
  64. // Local
  65. void Init();
  66. #endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/
  67. };
  68. #include <fbxsdk/fbxsdk_nsend.h>
  69. #endif /* _FBXSDK_SCENE_SHADING_SURFACE_PHONG_H_ */