int Progress::getThirdMethodSplitFileSize() { int size = 0; QFileInfo file(fileName); if(arg.getRgb_Pic()) { size = file.size() * 3; if(arg.getGray_Pic()) { size += file.size() * 3 * IntPow(2,arg.getSplit_Gray()); if(arg.getSplit_Pic()) { size +=file.size() * 3 * IntPow(2,arg.getSplit_Gray()); } }else { if(arg.getSplit_Pic()) { size = size * 2; } } }else { if(arg.getSplit_Pic()) { size = file.size(); } } return size; }
//--------------------------------------------------------------- // Purpose: //--------------------------------------------------------------- void CPostProcessor::bloomComplete( UINT sourceTex, UINT destTex ) { GetGLStateSaver()->Disable(GL_BLEND); m_shaderBloomComplete->Enable(); m_shaderBloomComplete->SetBrightpassSubstract(Vector4f(-0.5f, -0.5f, -0.5f, -0.5f)); glBindTexture(GL_TEXTURE_2D, destTex); glGenerateMipmap(GL_TEXTURE_2D); glBindTexture(GL_TEXTURE_2D, sourceTex); glGenerateMipmap(GL_TEXTURE_2D); int lodStart = render_bloom_lod_start.GetInt(); int lodLevels = render_bloom_lod_levels.GetInt(); int vpW = g_RenderInterf->GetRenderer()->GetScreenWidth() / IntPow(2, lodStart); int vpH = g_RenderInterf->GetRenderer()->GetScreenHeight() / IntPow(2, lodStart); for( int i = lodStart; i < lodStart+lodLevels; i++ ) { glFramebufferTexture2D( GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, destTex, i ); m_shaderBloomComplete->SetLodLevel(i); draw_fullscreen_quad_no_tex(); vpW /= 2; vpH /= 2; glViewport(0, 0, vpW, vpH); } g_RenderInterf->GetRenderer()->RestoreViewport(); }
//--------------------------------------------------------------- // Purpose: //--------------------------------------------------------------- void CPostProcessor::brightpass( UINT sourceTex, UINT destTex, UINT lumTex ) { int lodStart = render_bloom_lod_start.GetInt(); int lodLevels = render_bloom_lod_levels.GetInt(); int vpW = g_RenderInterf->GetRenderer()->GetScreenWidth() / IntPow(2, lodStart); int vpH = g_RenderInterf->GetRenderer()->GetScreenHeight() / IntPow(2, lodStart); //glBindTexture(GL_TEXTURE_2D, destTex); //glGenerateMipmap(GL_TEXTURE_2D); g_RenderInterf->GetRenderer()->BindTexture( lumTex, 1 ); g_RenderInterf->GetRenderer()->BindTexture( sourceTex, 0 ); glGenerateMipmap(GL_TEXTURE_2D); m_shaderBrightpass->Enable(); for( int i = lodStart; i < lodStart+lodLevels; i++ ) { glFramebufferTexture2D( GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, destTex, i ); m_shaderBrightpass->SetLodLevel(i); draw_fullscreen_quad_no_tex(); vpW /= 2; vpH /= 2; glViewport(0, 0, vpW, vpH); } }
//--------------------------------------------------------------- // Purpose: //--------------------------------------------------------------- void CPostProcessor::blur( bool hori, UINT sourceTex, UINT destTex, int lod ) { int vpW = g_RenderInterf->GetRenderer()->GetScreenWidth() / IntPow(2, lod); int vpH = g_RenderInterf->GetRenderer()->GetScreenHeight() / IntPow(2, lod); m_shaderBlur->Enable(); m_shaderBlur->SetLodLevel(lod); m_shaderBlur->SetBlurDirection(hori); glViewport(0,0,vpW,vpH); glFramebufferTexture2D( GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, destTex, lod ); glBindTexture(GL_TEXTURE_2D, sourceTex); draw_fullscreen_quad(); }
int Progress::getFirstMethodSplitFileSize() { int size = 0; QFileInfo file(fileName); if(arg.getSplit_Pic()) { size = file.size(); } if(arg.getRgb_Pic()) { size += file.size() * 3; } if(arg.getGray_Pic()) { size +=file.size() * 3 * IntPow(2,arg.getSplit_Gray()); } return size; }