14 #ifndef OSG_DisplaySettings
15 #define OSG_DisplaySettings 1
17 #include <osg/Referenced>
18 #include <osg/Matrixd>
19 #include <osg/ref_ptr>
28 class ApplicationUsage;
44 readEnvironmentalVariables();
51 readEnvironmentalVariables();
67 void readEnvironmentalVariables();
111 LEFT_EYE_RIGHT_VIEWPORT
123 LEFT_EYE_BOTTOM_VIEWPORT
167 void setMinimumNumAccumBits(
unsigned int red,
unsigned int green,
unsigned int blue,
unsigned int alpha);
172 bool getAccumBuffer()
const {
return (_minimumNumberAccumRedBits+_minimumNumberAccumGreenBits+_minimumNumberAccumBlueBits+_minimumNumberAccumAlphaBits)!=0; }
175 void setMaxNumberOfGraphicsContexts(
unsigned int num);
176 unsigned int getMaxNumberOfGraphicsContexts()
const;
205 void setApplication(
const std::string& application) { _application = application; }
225 IMPLICIT_DEPTH_BUFFER_ATTACHMENT = (1 << 0),
226 IMPLICIT_STENCIL_BUFFER_ATTACHMENT = (1 << 1),
227 IMPLICIT_COLOR_BUFFER_ATTACHMENT = (1 << 2),
228 DEFAULT_IMPLICIT_BUFFER_ATTACHMENT = IMPLICIT_COLOR_BUFFER_ATTACHMENT | IMPLICIT_DEPTH_BUFFER_ATTACHMENT
235 _implicitBufferAttachmentRenderMask = renderMask;
236 _implicitBufferAttachmentResolveMask = resolveMask;
241 _implicitBufferAttachmentRenderMask = implicitBufferAttachmentRenderMask;
246 _implicitBufferAttachmentResolveMask = implicitBufferAttachmentResolveMask;
297 void setNvOptimusEnablement(
int value);
299 int getNvOptimusEnablement()
const;
310 typedef std::vector< osg::ref_ptr<osg::Object> >
Objects;
328 virtual osg::Matrixd computeLeftEyeViewImplementation(
const osg::Matrixd& view,
double eyeSeperationScale=1.0)
const;
334 virtual osg::Matrixd computeRightEyeViewImplementation(
const osg::Matrixd& view,
double eyeSeperationScale=1.0)
const;
unsigned int _minimumNumberAccumRedBits
int getSplitStereoVerticalSeparation() const
void setGLContextVersion(const std::string &version)
unsigned int getMinimumNumAccumBlueBits() const
void setImplicitBufferAttachmentRenderMask(ImplicitBufferAttachmentMask implicitBufferAttachmentRenderMask)
unsigned int getMinimumNumAccumAlphaBits() const
unsigned int _maxBufferObjectPoolSize
ImplicitBufferAttachmentMask _implicitBufferAttachmentResolveMask
unsigned int _numHttpDatabaseThreadsHint
float getScreenHeight() const
OSXMenubarBehavior getOSXMenubarBehavior() const
void setDisplayType(DisplayType type)
void setCompileContextsHint(bool useCompileContexts)
void setMinimumNumAlphaBits(unsigned int bits)
unsigned int _numDatabaseThreadsHint
float getScreenWidth() const
void setSplitStereoVerticalEyeMapping(SplitStereoVerticalEyeMapping m)
unsigned int getGLContextProfileMask() const
std::vector< std::string > FileNames
unsigned int _syncSwapBuffers
StereoMode getStereoMode() const
const FileNames & getKeystoneFileNames() const
bool getUseSceneViewForStereoHint() const
void setDoubleBuffer(bool flag)
unsigned int _minimumNumberAlphaBits
void setMaxTexturePoolSize(unsigned int size)
unsigned int _minimumNumberStencilBits
ImplicitBufferAttachmentMask getImplicitBufferAttachmentRenderMask() const
bool getAccumBuffer() const
void readCommandLine(osg::ArgumentParser &parser)
FileNames & getKeystoneFileNames()
void setSplitStereoVerticalSeparation(int s)
const std::string & getApplication()
void setNumMultiSamples(unsigned int samples)
void setApplication(const std::string &application)
void setGLContextProfileMask(unsigned int mask)
SplitStereoHorizontalEyeMapping _splitStereoHorizontalEyeMapping
void setDepthBuffer(bool flag)
bool _serializeDrawDispatch
void setNumOfDatabaseThreadsHint(unsigned int numThreads)
bool getAlphaBuffer() const
unsigned int getMinimumNumStencilBits() const
bool _useSceneViewForStereoHint
void setMinimumNumStencilBits(unsigned int bits)
void setMaxBufferObjectPoolSize(unsigned int size)
unsigned int _minimumNumberAccumGreenBits
unsigned int getNumOfHttpDatabaseThreadsHint() const
void setScreenHeight(float height)
std::string _glContextVersion
void setImplicitBufferAttachmentResolveMask(ImplicitBufferAttachmentMask implicitBufferAttachmentResolveMask)
int ImplicitBufferAttachmentMask
bool getMultiSamples() const
void setKeystoneHint(bool enabled)
void setSwapMethod(SwapMethod swapMethod)
SwapMethod getSwapMethod(void)
void setStereoMode(StereoMode mode)
GLint GLenum GLsizei width
unsigned int _glContextFlags
void setScreenDistance(float distance)
ImplicitBufferAttachmentMask _implicitBufferAttachmentRenderMask
const std::string getGLContextVersion() const
void setSyncSwapBuffers(unsigned int numFrames=0)
unsigned int getMinimumNumAlphaBits() const
ImplicitBufferAttachmentMask getImplicitBufferAttachmentResolveMask() const
DisplayType getDisplayType() const
unsigned int _minimumNumberAccumBlueBits
DisplaySettings(ArgumentParser &arguments)
SplitStereoVerticalEyeMapping getSplitStereoVerticalEyeMapping() const
unsigned int getNumOfDatabaseThreadsHint() const
bool getDepthBuffer() const
OSXMenubarBehavior _OSXMenubarBehavior
bool getDoubleBuffer() const
unsigned int getGLContextFlags() const
unsigned int _numMultiSamples
bool getStencilBuffer() const
void setSplitStereoHorizontalEyeMapping(SplitStereoHorizontalEyeMapping m)
std::vector< osg::ref_ptr< osg::Object > > Objects
int _splitStereoVerticalSeparation
GLint GLenum GLsizei GLsizei GLsizei GLint GLenum GLenum type
GLint GLenum GLsizei GLsizei height
void setNumOfHttpDatabaseThreadsHint(unsigned int numThreads)
FileNames _keystoneFileNames
bool getCompileContextsHint() const
SplitStereoVerticalEyeMapping
unsigned int _maxTexturePoolSize
int getSplitStereoHorizontalSeparation() const
void setKeystones(const Objects &objects)
unsigned int getMaxBufferObjectPoolSize() const
SplitStereoHorizontalEyeMapping getSplitStereoHorizontalEyeMapping() const
unsigned int getMinimumNumAccumGreenBits() const
unsigned int getNumMultiSamples() const
bool getSplitStereoAutoAdjustAspectRatio() const
unsigned int _minimumNumberAccumAlphaBits
float getScreenDistance() const
bool getKeystoneHint() const
unsigned int _maxNumOfGraphicsContexts
SplitStereoHorizontalEyeMapping
void setSplitStereoAutoAdjustAspectRatio(bool flag)
int _splitStereoHorizontalSeparation
void setSerializeDrawDispatch(bool serializeDrawDispatch)
bool _splitStereoAutoAdjustAspectRatio
unsigned int getMinimumNumAccumRedBits() const
float getEyeSeparation() const
unsigned int getMaxTexturePoolSize() const
const Objects & getKeystones() const
void setSplitStereoHorizontalSeparation(int s)
void setUseSceneViewForStereoHint(bool hint)
void setScreenWidth(float width)
SplitStereoVerticalEyeMapping _splitStereoVerticalEyeMapping
unsigned int getSyncSwapBuffers() const
bool getSerializeDrawDispatch() const
void setKeystoneFileNames(const FileNames &filenames)
void setEyeSeparation(float eyeSeparation)
void setOSXMenubarBehavior(OSXMenubarBehavior hint)
unsigned int _glContextProfileMask
void setGLContextFlags(unsigned int flags)
bool _compileContextsHint
void setImplicitBufferAttachmentMask(ImplicitBufferAttachmentMask renderMask=DisplaySettings::DEFAULT_IMPLICIT_BUFFER_ATTACHMENT, ImplicitBufferAttachmentMask resolveMask=DisplaySettings::DEFAULT_IMPLICIT_BUFFER_ATTACHMENT)