NzDeferredDOFPass::NzDeferredDOFPass() { m_dofShader = BuildDepthOfFieldShader(); m_dofShader->SendInteger(m_dofShader->GetUniformLocation("ColorTexture"), 0); m_dofShader->SendInteger(m_dofShader->GetUniformLocation("BlurTexture"), 1); m_dofShader->SendInteger(m_dofShader->GetUniformLocation("GBuffer1"), 2); m_gaussianBlurShader = NzShaderLibrary::Get("DeferredGaussianBlur"); m_gaussianBlurShaderFilterLocation = m_gaussianBlurShader->GetUniformLocation("Filter"); for (unsigned int i = 0; i < 2; ++i) { m_dofTextures[i] = new NzTexture; m_dofTextures[i]->SetPersistent(false); } m_bilinearSampler.SetAnisotropyLevel(1); m_bilinearSampler.SetFilterMode(nzSamplerFilter_Bilinear); m_bilinearSampler.SetWrapMode(nzSamplerWrap_Clamp); m_pointSampler.SetAnisotropyLevel(1); m_pointSampler.SetFilterMode(nzSamplerFilter_Nearest); m_pointSampler.SetWrapMode(nzSamplerWrap_Clamp); m_states.parameters[nzRendererParameter_DepthBuffer] = false; }
DeferredDOFPass::DeferredDOFPass() { m_dofShader = BuildDepthOfFieldShader(); m_dofShader->SendInteger(m_dofShader->GetUniformLocation("ColorTexture"), 0); m_dofShader->SendInteger(m_dofShader->GetUniformLocation("BlurTexture"), 1); m_dofShader->SendInteger(m_dofShader->GetUniformLocation("GBuffer1"), 2); m_gaussianBlurShader = ShaderLibrary::Get("DeferredGaussianBlur"); m_gaussianBlurShaderFilterLocation = m_gaussianBlurShader->GetUniformLocation("Filter"); for (unsigned int i = 0; i < 2; ++i) m_dofTextures[i] = Texture::New(); m_bilinearSampler.SetAnisotropyLevel(1); m_bilinearSampler.SetFilterMode(SamplerFilter_Bilinear); m_bilinearSampler.SetWrapMode(SamplerWrap_Clamp); m_pointSampler.SetAnisotropyLevel(1); m_pointSampler.SetFilterMode(SamplerFilter_Nearest); m_pointSampler.SetWrapMode(SamplerWrap_Clamp); m_states.depthBuffer = false; }