Browse Source

Platform: multisampling support in GlutApplication.

pull/278/head
Vladimír Vondruš 13 years ago
parent
commit
b0336c240d
  1. 8
      src/Platform/GlutApplication.cpp
  2. 17
      src/Platform/GlutApplication.h

8
src/Platform/GlutApplication.cpp

@ -53,7 +53,13 @@ void GlutApplication::createContext(Configuration* configuration) {
CORRADE_ASSERT(!c, "GlutApplication::createContext(): context already created", );
glutSetOption(GLUT_ACTION_ON_WINDOW_CLOSE, GLUT_ACTION_CONTINUE_EXECUTION);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGBA|GLUT_DEPTH|GLUT_STENCIL);
unsigned int flags = GLUT_DOUBLE|GLUT_RGBA|GLUT_DEPTH|GLUT_STENCIL;
/* Multisampling */
if(configuration->sampleCount()) flags |= GLUT_MULTISAMPLE;
glutInitDisplayMode(flags);
glutInitWindowSize(configuration->size().x(), configuration->size().y());
glutCreateWindow(configuration->title().c_str());
glutReshapeFunc(staticViewportEvent);

17
src/Platform/GlutApplication.h

@ -296,9 +296,26 @@ class GlutApplication::Configuration {
return this;
}
/** @brief Sample count */
inline Int sampleCount() const { return _sampleCount; }
/**
* @brief Set sample count
* @return Pointer to self (for method chaining)
*
* Default is `0`, thus no multisampling. The actual sample count is
* ignored, GLUT either enables it or disables. See also
* @ref Renderer::Feature "Renderer::Feature::Multisampling".
*/
inline Configuration* setSampleCount(Int count) {
_sampleCount = count;
return this;
}
private:
std::string _title;
Vector2i _size;
Int _sampleCount;
};
/**

Loading…
Cancel
Save