00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #pragma once
00022
00023 #include <Inventor/SbPImpl.h>
00024 #include <Inventor/nodes/SoNode.h>
00025 #include <Inventor/nodes/SoSubNode.h>
00026 #include <Inventor/fields/SoSFEnum.h>
00027 #include <Inventor/fields/SoSFBool.h>
00028 #include <Inventor/fields/SoSFFloat.h>
00029
00030 class SoGLRenderAction;
00031 class SoAction;
00032 class SoNotList;
00033 class SoVRImageSpaceEffects;
00034
00035 SO_PIMPL_BASE_PUBLIC_DECLARATION(SoVolumeRenderingPhysicalQuality)
00036
00037
00120 class SoVolumeRenderingPhysicalQuality : public SoNode
00121 {
00122 SO_NODE_HEADER(SoVolumeRenderingPhysicalQuality);
00123 SO_PIMPL_BASE_PUBLIC_HEADER(SoVolumeRenderingPhysicalQuality);
00124
00125 public:
00126 SoVolumeRenderingPhysicalQuality();
00127
00128
00129
00138 SoSFEnum shadowsStyle;
00139
00140
00141
00142
00147 SoSFEnum shadingStyle;
00148
00158 SoSFEnum predefinedMaterial;
00159
00169 SoSFEnum environmentMap;
00170
00178 SoSFEnum toneMapping;
00179
00180
00181
00182
00195 SoSFBool enableDepthOfField;
00196
00203 SoSFFloat blurFactor;
00204
00205
00206
00207
00211 enum ShadowsStyle
00212 {
00214 SHADOWMAP,
00215
00222 RAYTRACED,
00223 };
00224
00225
00226
00227
00231 enum ShadingStyle
00232 {
00237 PHONG,
00238
00250 PHYSICALLY_BASED,
00251 };
00252
00256 enum EnvironmentMap
00257 {
00258 SKY,
00259 GROVE,
00260 STPETER,
00261 GRACE,
00262 UFFIZI,
00263 STLAZARUS,
00264
00266 NO_ENVIRONMENT,
00267 };
00268
00272 enum ToneMapping
00273 {
00275 PALE,
00276
00278 MEDIUM,
00279
00281 HIGH_CONTRAST,
00282 };
00283
00287 enum PredefinedMaterial
00288 {
00297 MATTE,
00298
00307 SEMI_GLOSSY,
00308
00317 GLOSSY,
00318
00323 CUSTOM_MATERIAL,
00324 };
00325
00326 private:
00327 void GLRender( SoGLRenderAction* action );
00328 virtual void doAction( SoAction* action );
00329
00330 private:
00331
00332 static void initClass();
00333 static void exitClass();
00334 virtual void notify( SoNotList* list );
00335
00336 private:
00337 virtual ~SoVolumeRenderingPhysicalQuality();
00338
00339 private:
00340 void commonConstructor();
00341
00342 #ifndef HIDDEN_FROM_DOC
00343 friend class SoVRImageSpaceEffects;
00344 #endif // HIDDEN_FROM_DOC
00345 };
00346