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_PUBLIC_DECLARATION(SoVolumeRenderingPhysicalQuality)
00036
00037
00120 class SoVolumeRenderingPhysicalQuality : public SoNode
00121 {
00122 SO_NODE_HEADER(SoVolumeRenderingPhysicalQuality);
00123 SO_PIMPL_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 {
00261 SKY,
00265 GROVE,
00269 STPETER,
00273 GRACE,
00277 UFFIZI,
00281 STLAZARUS,
00282
00284 NO_ENVIRONMENT,
00285 };
00286
00290 enum ToneMapping
00291 {
00293 PALE,
00294
00296 MEDIUM,
00297
00299 HIGH_CONTRAST,
00300 };
00301
00305 enum PredefinedMaterial
00306 {
00315 MATTE,
00316
00325 SEMI_GLOSSY,
00326
00335 GLOSSY,
00336
00341 CUSTOM_MATERIAL,
00342 };
00343
00344 private:
00345 void GLRender( SoGLRenderAction* action );
00346 virtual void doAction( SoAction* action );
00347
00348 private:
00349
00350 static void initClass();
00351 static void exitClass();
00352 virtual void notify( SoNotList* list );
00353
00354 private:
00355 virtual ~SoVolumeRenderingPhysicalQuality();
00356
00357 private:
00358 void commonConstructor();
00359
00360 #ifndef HIDDEN_FROM_DOC
00361 friend class SoVRImageSpaceEffects;
00362 #endif // HIDDEN_FROM_DOC
00363 };
00364