Beispiel #1
0
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;
}
Beispiel #2
0
//---------------------------------------------------------------
// 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();
}
Beispiel #3
0
//---------------------------------------------------------------
// 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);
	}
}
Beispiel #4
0
//---------------------------------------------------------------
// 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();
}
Beispiel #5
0
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;
}