00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _SO_BUMP_MAPPING_PROPERTY_ELEMENT_
00026 #define _SO_BUMP_MAPPING_PROPERTY_ELEMENT_
00027
00028 #include <Inventor/elements/SoReplacedElement.h>
00040 SoEXTENDER_Documented class SoBumpMappingPropertyElement : public SoReplacedElement {
00041
00042 SO_ELEMENT_HEADER(SoBumpMappingPropertyElement) ;
00043
00044 public:
00045
00047 enum NormalMapSpace {
00049 TANGENT_SPACE,
00051 MODEL_SPACE
00052 } ;
00053
00055 enum TextureFormat {
00057 HEIGHT_MAP,
00059 NORMAL_MAP
00060 } ;
00061
00065 static void set(SoState *state,
00066 SoNode *node,
00067 NormalMapSpace normalMapSpace,
00068 SbBool isShadowed,
00069 SbBool isEyeDistanceAttenuation,
00070 SbBool isOnlyClosestLightUsed,
00071 TextureFormat textureFormat) ;
00072
00076 static void get(SoState *state,
00077 NormalMapSpace &normalMapSpace,
00078 SbBool &isShadowed,
00079 SbBool &isEyeDistanceAttenuation,
00080 SbBool &isOnlyClosestLightUsed,
00081 TextureFormat &textureFormat) ;
00082
00086 static void getDefault(NormalMapSpace &normalMapSpace,
00087 SbBool &isShadowed,
00088 SbBool &isEyeDistanceAttenuation,
00089 SbBool &isOnlyClosestLightUsed,
00090 TextureFormat &textureFormat) ;
00091
00092 private:
00093
00095 virtual void init(SoState *state) ;
00096
00097 private:
00098
00099 static void initClass() ;
00100 static void exitClass() ;
00101
00102 private:
00103 NormalMapSpace m_normalMapSpace ;
00104 SbBool m_isShadowed ;
00105 SbBool m_isEyeDistanceAttenuation ;
00106 SbBool m_isOnlyClosestLightUsed ;
00107 TextureFormat m_textureFormat ;
00108
00109 virtual ~SoBumpMappingPropertyElement() ;
00110 } ;
00111
00112 #endif
00113
00114
00115