14#ifndef OSG_DisplaySettings
15#define OSG_DisplaySettings 1
29class ApplicationUsage;
45 readEnvironmentalVariables();
52 readEnvironmentalVariables();
53 readCommandLine(arguments);
112 LEFT_EYE_RIGHT_VIEWPORT
124 LEFT_EYE_BOTTOM_VIEWPORT
173 bool getAccumBuffer()
const {
return (_minimumNumberAccumRedBits+_minimumNumberAccumGreenBits+_minimumNumberAccumBlueBits+_minimumNumberAccumAlphaBits)!=0; }
206 void setApplication(
const std::string& application) { _application = application; }
226 IMPLICIT_DEPTH_BUFFER_ATTACHMENT = (1 << 0),
227 IMPLICIT_STENCIL_BUFFER_ATTACHMENT = (1 << 1),
228 IMPLICIT_COLOR_BUFFER_ATTACHMENT = (1 << 2),
229 DEFAULT_IMPLICIT_BUFFER_ATTACHMENT = IMPLICIT_COLOR_BUFFER_ATTACHMENT | IMPLICIT_DEPTH_BUFFER_ATTACHMENT
236 _implicitBufferAttachmentRenderMask = renderMask;
237 _implicitBufferAttachmentResolveMask = resolveMask;
242 _implicitBufferAttachmentRenderMask = implicitBufferAttachmentRenderMask;
247 _implicitBufferAttachmentResolveMask = implicitBufferAttachmentResolveMask;
341 typedef std::vector< osg::ref_ptr<osg::Object> >
Objects;
369 void setValue(
const std::string& name,
const std::string& value);
371 bool getValue(
const std::string& name, std::string& value,
bool use_getenv_fallback=
true)
const;
438 typedef std::map<std::string, std::string>
ValueMap;
This class provides an object-oriented thread mutex interface.
Definition Mutex:31
Definition ArgumentParser:28
Definition DisplaySettings:34
bool getUseSceneViewForStereoHint() const
Definition DisplaySettings:191
void setGLContextVersion(const std::string &version)
Definition DisplaySettings:280
ImplicitBufferAttachmentMask getImplicitBufferAttachmentResolveMask() const
Definition DisplaySettings:254
void setSerializeDrawDispatch(bool serializeDrawDispatch)
Definition DisplaySettings:186
bool getAccumBuffer() const
Definition DisplaySettings:173
std::string _application
Definition DisplaySettings:413
int _splitStereoVerticalSeparation
Definition DisplaySettings:389
std::vector< osg::ref_ptr< osg::Object > > Objects
Definition DisplaySettings:341
virtual osg::Matrixd computeLeftEyeViewImplementation(const osg::Matrixd &view, double eyeSeperationScale=1.0) const
DisplayType
Definition DisplaySettings:75
@ MONITOR
Definition DisplaySettings:76
@ POWERWALL
Definition DisplaySettings:77
@ REALITY_CENTER
Definition DisplaySettings:78
void setNumOfHttpDatabaseThreadsHint(unsigned int numThreads)
Definition DisplaySettings:201
float _screenDistance
Definition DisplaySettings:384
unsigned int getGLContextProfileMask() const
Definition DisplaySettings:295
void readEnvironmentalVariables()
ShaderHint
Definition DisplaySettings:315
@ SHADER_GL3
Definition DisplaySettings:319
@ SHADER_GL2
Definition DisplaySettings:317
@ SHADER_NONE
Definition DisplaySettings:316
@ SHADER_GLES2
Definition DisplaySettings:318
void setMaxBufferObjectPoolSize(unsigned int size)
Definition DisplaySettings:213
void setImplicitBufferAttachmentMask(ImplicitBufferAttachmentMask renderMask=DisplaySettings::DEFAULT_IMPLICIT_BUFFER_ATTACHMENT, ImplicitBufferAttachmentMask resolveMask=DisplaySettings::DEFAULT_IMPLICIT_BUFFER_ATTACHMENT)
Definition DisplaySettings:234
unsigned int getMinimumNumAccumRedBits() const
Definition DisplaySettings:169
SwapMethod getSwapMethod(void)
Definition DisplaySettings:268
unsigned int _maxTexturePoolSize
Definition DisplaySettings:415
virtual osg::Matrixd computeLeftEyeProjectionImplementation(const osg::Matrixd &projection) const
unsigned int _syncSwapBuffers
Definition DisplaySettings:426
void setImplicitBufferAttachmentResolveMask(ImplicitBufferAttachmentMask implicitBufferAttachmentResolveMask)
Definition DisplaySettings:245
unsigned int getMaxTexturePoolSize() const
Definition DisplaySettings:211
unsigned int getMinimumNumAccumGreenBits() const
Definition DisplaySettings:170
void setMaxTexturePoolSize(unsigned int size)
Definition DisplaySettings:210
unsigned int getMinimumNumAccumBlueBits() const
Definition DisplaySettings:171
unsigned int _minimumNumberStencilBits
Definition DisplaySettings:396
void setSwapMethod(SwapMethod swapMethod)
Definition DisplaySettings:265
void setDisplayType(DisplayType type)
Definition DisplaySettings:82
DisplayType getDisplayType() const
Definition DisplaySettings:84
unsigned int _minimumNumberAccumAlphaBits
Definition DisplaySettings:400
bool getSplitStereoAutoAdjustAspectRatio() const
Definition DisplaySettings:134
void setDoubleBuffer(bool flag)
Definition DisplaySettings:148
bool getDoubleBuffer() const
Definition DisplaySettings:149
void setKeystoneFileNames(const FileNames &filenames)
Definition DisplaySettings:337
bool _stereo
Definition DisplaySettings:379
float _screenHeight
Definition DisplaySettings:383
unsigned int getMinimumNumStencilBits() const
Definition DisplaySettings:165
unsigned int _minimumNumberAccumBlueBits
Definition DisplaySettings:399
unsigned int _minimumNumberAccumGreenBits
Definition DisplaySettings:398
const std::string getGLContextVersion() const
Definition DisplaySettings:283
std::string _textShaderTechnique
Definition DisplaySettings:430
void setSplitStereoVerticalSeparation(int s)
Definition DisplaySettings:130
bool _doubleBuffer
Definition DisplaySettings:392
unsigned int _numMultiSamples
Definition DisplaySettings:404
void setMinimumNumAlphaBits(unsigned int bits)
Definition DisplaySettings:160
void setMinimumNumStencilBits(unsigned int bits)
Definition DisplaySettings:164
void setSyncSwapBuffers(unsigned int numFrames=0)
Definition DisplaySettings:272
ImplicitBufferAttachment
Definition DisplaySettings:225
void setImplicitBufferAttachmentRenderMask(ImplicitBufferAttachmentMask implicitBufferAttachmentRenderMask)
Definition DisplaySettings:240
std::map< std::string, std::string > ValueMap
Definition DisplaySettings:438
SplitStereoHorizontalEyeMapping
Definition DisplaySettings:110
@ LEFT_EYE_LEFT_VIEWPORT
Definition DisplaySettings:111
StereoMode getStereoMode() const
Definition DisplaySettings:104
const std::string & getApplication()
Definition DisplaySettings:207
int ImplicitBufferAttachmentMask
Definition DisplaySettings:232
unsigned int _maxBufferObjectPoolSize
Definition DisplaySettings:416
std::vector< std::string > FileNames
Definition DisplaySettings:336
void setDepthBuffer(bool flag)
Definition DisplaySettings:156
bool getValue(const std::string &name, std::string &value, bool use_getenv_fallback=true) const
void setScreenDistance(float distance)
Definition DisplaySettings:143
void setNumOfDatabaseThreadsHint(unsigned int numThreads)
Definition DisplaySettings:195
void setScreenHeight(float height)
Definition DisplaySettings:140
float getScreenWidth() const
Definition DisplaySettings:138
ShaderHint _shaderHint
Definition DisplaySettings:429
bool getDepthBuffer() const
Definition DisplaySettings:157
float getEyeSeparation() const
Definition DisplaySettings:107
unsigned int getMaxNumberOfGraphicsContexts() const
void setRGB(bool flag)
Definition DisplaySettings:152
ValueMap _valueMap
Definition DisplaySettings:441
bool getMultiSamples() const
Definition DisplaySettings:181
void setUseSceneViewForStereoHint(bool hint)
Definition DisplaySettings:190
unsigned int getMinimumNumAccumAlphaBits() const
Definition DisplaySettings:172
bool getKeystoneHint() const
Definition DisplaySettings:334
void setSplitStereoAutoAdjustAspectRatio(bool flag)
Definition DisplaySettings:133
unsigned int getMaxBufferObjectPoolSize() const
Definition DisplaySettings:214
SwapMethod _swapMethod
Definition DisplaySettings:425
void setVertexBufferHint(VertexBufferHint gi)
Definition DisplaySettings:310
SplitStereoVerticalEyeMapping _splitStereoVerticalEyeMapping
Definition DisplaySettings:388
int getNvOptimusEnablement() const
const Objects & getKeystones() const
Definition DisplaySettings:344
void setOSXMenubarBehavior(OSXMenubarBehavior hint)
Definition DisplaySettings:354
unsigned int _minimumNumberAccumRedBits
Definition DisplaySettings:397
void setDisplaySettings(const DisplaySettings &vs)
bool _serializeDrawDispatch
Definition DisplaySettings:407
FileNames _keystoneFileNames
Definition DisplaySettings:433
void setApplication(const std::string &application)
Definition DisplaySettings:206
void setSplitStereoVerticalEyeMapping(SplitStereoVerticalEyeMapping m)
Definition DisplaySettings:127
StereoMode
Definition DisplaySettings:91
@ VERTICAL_INTERLACE
Definition DisplaySettings:99
@ VERTICAL_SPLIT
Definition DisplaySettings:95
@ QUAD_BUFFER
Definition DisplaySettings:92
@ HORIZONTAL_INTERLACE
Definition DisplaySettings:98
@ ANAGLYPHIC
Definition DisplaySettings:93
@ LEFT_EYE
Definition DisplaySettings:96
@ RIGHT_EYE
Definition DisplaySettings:97
@ HORIZONTAL_SPLIT
Definition DisplaySettings:94
SplitStereoHorizontalEyeMapping getSplitStereoHorizontalEyeMapping() const
Definition DisplaySettings:116
bool _compileContextsHint
Definition DisplaySettings:406
void setShaderHint(ShaderHint hint, bool setShaderValues=true)
bool _depthBuffer
Definition DisplaySettings:394
OpenThreads::Mutex _valueMapMutex
Definition DisplaySettings:440
bool getStereo() const
Definition DisplaySettings:88
float _screenWidth
Definition DisplaySettings:382
virtual osg::Matrixd computeRightEyeProjectionImplementation(const osg::Matrixd &projection) const
float getScreenDistance() const
Definition DisplaySettings:144
void readCommandLine(ArgumentParser &arguments)
VertexBufferHint _vertexBufferHint
Definition DisplaySettings:428
bool getCompileContextsHint() const
Definition DisplaySettings:184
StereoMode _stereoMode
Definition DisplaySettings:380
bool getStencilBuffer() const
Definition DisplaySettings:166
OSXMenubarBehavior
Definition DisplaySettings:347
@ MENUBAR_FORCE_HIDE
Definition DisplaySettings:349
@ MENUBAR_AUTO_HIDE
Definition DisplaySettings:348
virtual osg::Matrixd computeRightEyeViewImplementation(const osg::Matrixd &view, double eyeSeperationScale=1.0) const
unsigned int _numHttpDatabaseThreadsHint
Definition DisplaySettings:411
static ref_ptr< DisplaySettings > & instance()
std::string _glContextVersion
Definition DisplaySettings:421
Objects & getKeystones()
Definition DisplaySettings:343
void merge(const DisplaySettings &vs)
void setValue(const std::string &name, const std::string &value)
unsigned int getNumMultiSamples() const
Definition DisplaySettings:180
SplitStereoVerticalEyeMapping
Definition DisplaySettings:122
@ LEFT_EYE_TOP_VIEWPORT
Definition DisplaySettings:123
SplitStereoHorizontalEyeMapping _splitStereoHorizontalEyeMapping
Definition DisplaySettings:386
SplitStereoVerticalEyeMapping getSplitStereoVerticalEyeMapping() const
Definition DisplaySettings:128
DisplayType _displayType
Definition DisplaySettings:378
unsigned int getNumOfHttpDatabaseThreadsHint() const
Definition DisplaySettings:204
void setStereoMode(StereoMode mode)
Definition DisplaySettings:103
const FileNames & getKeystoneFileNames() const
Definition DisplaySettings:339
void setKeystones(const Objects &objects)
Definition DisplaySettings:342
unsigned int _numDatabaseThreadsHint
Definition DisplaySettings:410
unsigned int _maxNumOfGraphicsContexts
Definition DisplaySettings:402
void setGLContextProfileMask(unsigned int mask)
Definition DisplaySettings:292
unsigned int _minimumNumberAlphaBits
Definition DisplaySettings:395
bool _useSceneViewForStereoHint
Definition DisplaySettings:408
float getScreenHeight() const
Definition DisplaySettings:141
const std::string & getTextShaderTechnique() const
Definition DisplaySettings:330
void setCompileContextsHint(bool useCompileContexts)
Definition DisplaySettings:183
VertexBufferHint
Definition DisplaySettings:304
@ NO_PREFERENCE
Definition DisplaySettings:305
@ VERTEX_BUFFER_OBJECT
Definition DisplaySettings:306
bool getRGB() const
Definition DisplaySettings:153
void setNumMultiSamples(unsigned int samples)
Definition DisplaySettings:179
FileNames & getKeystoneFileNames()
Definition DisplaySettings:338
ImplicitBufferAttachmentMask _implicitBufferAttachmentResolveMask
Definition DisplaySettings:419
bool _RGB
Definition DisplaySettings:393
bool getAlphaBuffer() const
Definition DisplaySettings:162
OSXMenubarBehavior getOSXMenubarBehavior() const
Definition DisplaySettings:353
virtual ~DisplaySettings()
DisplaySettings()
Definition DisplaySettings:41
SwapMethod
Definition DisplaySettings:257
@ SWAP_COPY
Definition DisplaySettings:260
@ SWAP_EXCHANGE
Definition DisplaySettings:259
@ SWAP_DEFAULT
Definition DisplaySettings:258
int getSplitStereoVerticalSeparation() const
Definition DisplaySettings:131
ImplicitBufferAttachmentMask _implicitBufferAttachmentRenderMask
Definition DisplaySettings:418
void setScreenWidth(float width)
Definition DisplaySettings:137
int getSplitStereoHorizontalSeparation() const
Definition DisplaySettings:119
bool getSerializeDrawDispatch() const
Definition DisplaySettings:187
unsigned int getNumOfDatabaseThreadsHint() const
Definition DisplaySettings:198
DisplaySettings(const DisplaySettings &vs)
bool _keystoneHint
Definition DisplaySettings:432
void setStereo(bool on)
Definition DisplaySettings:87
Objects _keystones
Definition DisplaySettings:434
float _eyeSeparation
Definition DisplaySettings:381
unsigned int getMinimumNumAlphaBits() const
Definition DisplaySettings:161
bool _splitStereoAutoAdjustAspectRatio
Definition DisplaySettings:390
void setMaxNumberOfGraphicsContexts(unsigned int num)
void setMinimumNumAccumBits(unsigned int red, unsigned int green, unsigned int blue, unsigned int alpha)
unsigned int _glContextFlags
Definition DisplaySettings:422
ImplicitBufferAttachmentMask getImplicitBufferAttachmentRenderMask() const
Definition DisplaySettings:251
void setEyeSeparation(float eyeSeparation)
Definition DisplaySettings:106
VertexBufferHint getVertexBufferHint() const
Definition DisplaySettings:311
void setTextShaderTechnique(const std::string &str)
Definition DisplaySettings:329
int _splitStereoHorizontalSeparation
Definition DisplaySettings:387
DisplaySettings(ArgumentParser &arguments)
Definition DisplaySettings:48
void setGLContextFlags(unsigned int flags)
Definition DisplaySettings:286
OSXMenubarBehavior _OSXMenubarBehavior
Definition DisplaySettings:436
unsigned int getSyncSwapBuffers() const
Definition DisplaySettings:275
unsigned int getGLContextFlags() const
Definition DisplaySettings:289
ShaderHint getShaderHint() const
Definition DisplaySettings:326
unsigned int _glContextProfileMask
Definition DisplaySettings:423
void setNvOptimusEnablement(int value)
void setKeystoneHint(bool enabled)
Definition DisplaySettings:333
void setSplitStereoHorizontalSeparation(int s)
Definition DisplaySettings:118
void setSplitStereoHorizontalEyeMapping(SplitStereoHorizontalEyeMapping m)
Definition DisplaySettings:115
author: Julien Valentin 2017 (mp3butcher@hotmail.com)
Definition AlphaFunc:19
#define OSG_EXPORT
Definition osg/Export:39