1/****************************************************************************************
2
3 Copyright (C) 2015 Autodesk, Inc.
4 All rights reserved.
5
6 Use of this software is subject to the terms of the Autodesk license agreement
7 provided at the time of installation or download, or which otherwise accompanies
8 this software in either electronic or hard copy form.
9
10****************************************************************************************/
11
12//! \file fbxsurfacephong.h
13#ifndef _FBXSDK_SCENE_SHADING_SURFACE_PHONG_H_
14#define _FBXSDK_SCENE_SHADING_SURFACE_PHONG_H_
15
16#include <fbxsdk/fbxsdk_def.h>
17
18#include <fbxsdk/scene/shading/fbxsurfacelambert.h>
19
20#include <fbxsdk/fbxsdk_nsbegin.h>
21
22/** This class contains settings for Phong Materials.
23 * \nosubgrouping
24 */
25class FBXSDK_DLL FbxSurfacePhong : public FbxSurfaceLambert
26{
27 FBXSDK_OBJECT_DECLARE(FbxSurfacePhong, FbxSurfaceLambert);
28
29public:
30 /**
31 * \name Material properties
32 */
33 //@{
34 //! Specular property.
35 FbxPropertyT<FbxDouble3> Specular;
36
37 /** Specular factor property. This factor is used to
38 * attenuate the specular color.
39 */
40 FbxPropertyT<FbxDouble> SpecularFactor;
41
42 /** Shininess property. This property controls the aspect
43 * of the shiny spot. It is the specular exponent in the Phong
44 * illumination model.
45 */
46 FbxPropertyT<FbxDouble> Shininess;
47
48 /** Reflection color property. This property is used to
49 * implement reflection mapping.
50 */
51 FbxPropertyT<FbxDouble3> Reflection;
52
53 /** Reflection factor property. This property is used to
54 * attenuate the reflection color.
55 */
56 FbxPropertyT<FbxDouble> ReflectionFactor;
57 //@}
58
59 //////////////////////////////////////////////////////////////////////////
60 // Static values
61 //////////////////////////////////////////////////////////////////////////
62
63 /**
64 * \name Default property values
65 */
66 //@{
67
68 static const FbxDouble3 sSpecularDefault;
69 static const FbxDouble sSpecularFactorDefault;
70
71 static const FbxDouble sShininessDefault;
72
73 static const FbxDouble3 sReflectionDefault;
74 static const FbxDouble sReflectionFactorDefault;
75
76 //@}
77
78/*****************************************************************************************************************************
79** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! **
80*****************************************************************************************************************************/
81#ifndef DOXYGEN_SHOULD_SKIP_THIS
82protected:
83 virtual void ConstructProperties(bool pForceSet);
84
85 // Local
86 void Init();
87#endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/
88};
89
90#include <fbxsdk/fbxsdk_nsend.h>
91
92#endif /* _FBXSDK_SCENE_SHADING_SURFACE_PHONG_H_ */
93