void DeferredShadingMSAA::configurationCallback(NvGLConfiguration& config) { config.depthBits = 0; config.stencilBits = 8; config.msaaSamples = 0; config.apiVer = NvGLAPIVersionGL4(); }
void DeferredShadingMSAA::initRendering(void) { NvAssetLoaderAddSearchPath("gl4-kepler/DeferredShadingMSAA"); NvAssetLoaderAddSearchPath("gl4-kepler/DeferredShadingMSAA/models"); if(!requireMinAPIVersion(NvGLAPIVersionGL4(), true)) return; // Require at least one of these multisample extensions if (!requireExtension("GL_NV_framebuffer_multisample", false)) { if (!requireExtension("GL_ARB_multisample", true)) return; } glBindFramebuffer(GL_FRAMEBUFFER, getMainFBO()); BuildShaders(); // As a demo, we'll use both methods of loading meshes, and time each of them, // to illustrate the differences NvStopWatch* pStopwatch = createStopWatch(); pStopwatch->start(); m_models[SPONZA_MODEL] = LoadModel("models/sponza.obj"); pStopwatch->stop(); float time = pStopwatch->getTime(); LOGI("Standard Model Loading Complete: %f seconds", time); pStopwatch->start(); m_modelsExt[SPONZA_MODEL] = LoadModelExt("models/sponza.obj"); pStopwatch->stop(); time = pStopwatch->getTime(); LOGI("Extended Model Loading Complete: %f seconds", time); m_modelID = SPONZA_MODEL; glDisable(GL_CULL_FACE); glGenQueries(1, &m_queryId); #if ENABLE_GPU_TIMERS for (uint32_t i = 0; i < TIMER_COUNT; ++i) { m_timers[i].init(); } #endif }
void MultiDrawIndirect::configurationCallback(NvGLConfiguration& config) { config.depthBits = 24; config.stencilBits = 0; config.apiVer = NvGLAPIVersionGL4(); }
void FXAA::configurationCallback(NvGLConfiguration& config) { config.depthBits = 24; config.stencilBits = 0; config.apiVer = NvGLAPIVersionGL4(); }