当前位置: 首页>>代码示例>>C++>>正文


C++ DrawFrameRate函数代码示例

本文整理汇总了C++中DrawFrameRate函数的典型用法代码示例。如果您正苦于以下问题:C++ DrawFrameRate函数的具体用法?C++ DrawFrameRate怎么用?C++ DrawFrameRate使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了DrawFrameRate函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: MeasureTime

//----------------------------------------------------------------------------
void DynamicShader::OnIdle()
{
    MeasureTime();

    if( MoveCamera() )
    {
        m_Culler.ComputeUnculledSet(m_spScene);
    }

    //m_spScene->UpdateGS(SESystem::SE_GetTime());  // inefficient
    m_spController->Update(SESystem::SE_GetTime());

    if( MoveObject() )
    {
        m_spScene->UpdateGS();
        m_Culler.ComputeUnculledSet(m_spScene);
    }

    m_pRenderer->ClearBuffers();
    if( m_pRenderer->BeginScene() )
    {
        m_pRenderer->DrawScene(m_Culler.GetVisibleSet());
        DrawFrameRate(8, GetHeight()-8, SEColorRGBA::SE_RGBA_WHITE);
        m_pRenderer->EndScene();
    }
    m_pRenderer->DisplayBackBuffer();

    UpdateFrameCount();
}
开发者ID:jazzboysc,项目名称:SwingEngine1,代码行数:30,代码来源:DynamicShader.cpp

示例2: MeasureTime

//----------------------------------------------------------------------------
void ReflectionsAndShadows::OnIdle ()
{
    MeasureTime();

    if (MoveCamera())
    {
        mSceneCuller.ComputeVisibleSet(mScene);
        mBipedCuller.ComputeVisibleSet(mBiped);
    }

    if (MoveObject())
    {
        mScene->Update();
        mBiped->Update(mUpdateTime);
        mSceneCuller.ComputeVisibleSet(mScene);
        mBipedCuller.ComputeVisibleSet(mBiped);
    }

    if (mRenderer->PreDraw())
    {
        mRenderer->ClearBuffers();
        mRenderer->Draw(mSceneCuller.GetVisibleSet());
        mRenderer->Draw(mBipedCuller.GetVisibleSet(), mPSEffect);
        mRenderer->Draw(mBipedCuller.GetVisibleSet(), mPREffect);
        DrawFrameRate(8, GetHeight()-8, mTextColor);
        mRenderer->PostDraw();
        mRenderer->DisplayColorBuffer();
    }

    UpdateFrameCount();
}
开发者ID:rasslingcats,项目名称:calico,代码行数:32,代码来源:ReflectionsAndShadows.cpp

示例3: MeasureTime

//----------------------------------------------------------------------------
void BlendedAnimations::OnIdle ()
{
	MeasureTime();

	if (MoveObject())
	{
		mScene->Update(mAnimTime);
	}

	Update();

	if (mRenderer->PreDraw())
	{
		mRenderer->ClearBuffers();
		mRenderer->Draw(mVisibleSet);

		mRenderer->Draw(8, 16, mTextColor,
		                "Press UP-ARROW to transition from idle to walk.");

		mRenderer->Draw(8, 40, mTextColor,
		                "Press SHIFT-UP-ARROW to transition from walk to run.");

		char message[128];
		sprintf(message, "time = %6.4lf", mAnimTime);
		mRenderer->Draw(128, GetHeight()-8, mTextColor, message);

		DrawFrameRate(8, GetHeight()-8, mTextColor);

		mRenderer->PostDraw();
		mRenderer->DisplayColorBuffer();
	}

	UpdateFrameCount();
}
开发者ID:bhlzlx,项目名称:WildMagic,代码行数:35,代码来源:BlendedAnimations.cpp

示例4: MeasureTime

//----------------------------------------------------------------------------
void WrigglingSnake::OnIdle ()
{
    MeasureTime();

    MoveCamera();
    if (MoveObject())
    {
        mScene->Update();
    }

#ifndef SINGLE_STEP
    ModifyCurve();
#endif

    mCuller.ComputeVisibleSet(mScene);

    if (mRenderer->PreDraw())
    {
        mRenderer->ClearBuffers();
        mRenderer->Draw(mCuller.GetVisibleSet());
        DrawFrameRate(8, GetHeight()-8, mTextColor);
        mRenderer->PostDraw();
        mRenderer->DisplayColorBuffer();
    }

    UpdateFrameCount();
}
开发者ID:2asoft,项目名称:GeometricTools,代码行数:28,代码来源:WrigglingSnake.cpp

示例5: MeasureTime

//----------------------------------------------------------------------------
void SphereMaps::OnIdle ()
{
    MeasureTime();

    if (MoveCamera())
    {
        mCuller.ComputeVisibleSet(mScene);
    }

    if (MoveObject())
    {
        mScene->Update();
        CopyNormalToTCoord1(mScene);
        mCuller.ComputeVisibleSet(mScene);
    }

    if (mRenderer->PreDraw())
    {
        mRenderer->ClearBuffers();
        mRenderer->Draw(mCuller.GetVisibleSet());
        DrawFrameRate(8, GetHeight()-8, mTextColor);
        mRenderer->PostDraw();
        mRenderer->DisplayColorBuffer();
    }

    UpdateFrameCount();
}
开发者ID:2asoft,项目名称:GeometricTools,代码行数:28,代码来源:SphereMaps.cpp

示例6: MeasureTime

//----------------------------------------------------------------------------
void PerformanceAMDWindow::OnIdle()
{
    MeasureTime();

    MoveCamera();
    UpdateConstants();

    mEngine->ClearBuffers();

    mPerformance.Profile([this]()
    {
        mEngine->Execute(mGenerateTexture, mNumXGroups, mNumYGroups, 1);
        mEngine->Draw(mTriangles);
    });

    // Compute the average measurements.  GetAverage allows you to access
    // the measurements during application run time.  SaveAverage calls
    // GetAverage and writes the results to a spreadsheet.
    std::vector<std::vector<AMDPerformance::Measurement>> measurements;
    if (mPerformance.GetNumProfileCalls() == 16)
    {
        mPerformance.GetAverage(measurements);
        mPerformance.SaveAverage("ProfileResults.csv");
    }

    DrawFrameRate(8, mYSize - 8, mTextColor);
    mEngine->DisplayColorBuffer(0);

    UpdateFrameCount();
}
开发者ID:rin-23,项目名称:OculusProjects,代码行数:31,代码来源:PerformanceAMDWindow.cpp

示例7: MeasureTime

//----------------------------------------------------------------------------
void StructuredBuffersWindow::OnIdle()
{
    MeasureTime();

    MoveCamera();

    memset(mDrawnPixels->GetData(), 0, mDrawnPixels->GetNumBytes());
    mEngine->CopyCpuToGpu(mDrawnPixels);

    mEngine->ClearBuffers();
    mEngine->Draw(mSquare);

    mEngine->CopyGpuToCpu(mDrawnPixels);
    Vector4<float>* src = mDrawnPixels->Get<Vector4<float>>();
    unsigned int* trg = mDrawnPixelsTexture->Get<unsigned int>();
    for (int i = 0; i < mXSize*mYSize; ++i)
    {
        unsigned int r = static_cast<unsigned char>(255.0f*src[i][0]);
        unsigned int g = static_cast<unsigned char>(255.0f*src[i][1]);
        unsigned int b = static_cast<unsigned char>(255.0f*src[i][2]);
        trg[i] = r | (g << 8) | (b << 16) | (0xFF << 24);
    }
    WICFileIO::SaveToPNG("DrawnPixels.png", mDrawnPixelsTexture);

    DrawFrameRate(8, mYSize - 8, mTextColor);
    mEngine->DisplayColorBuffer(0);

    UpdateFrameCount();
}
开发者ID:rin-23,项目名称:OculusProjects,代码行数:30,代码来源:StructuredBuffersWindow.cpp

示例8: MeasureTime

//----------------------------------------------------------------------------
void GelatinCube::OnIdle ()
{
    MeasureTime();

    bool bNeedSort = MoveCamera();
    if ( MoveObject() )
    {
        m_spkScene->UpdateGS(0.0f);
        bNeedSort = true;
    }
    if ( bNeedSort )
        m_spkBox->SortFaces(ms_spkCamera->GetDirection());

#ifndef SINGLE_STEP
    DoPhysical();
#endif

    ms_spkRenderer->ClearBuffers();
    if ( ms_spkRenderer->BeginScene() )
    {
        ms_spkRenderer->Draw(m_spkScene);
        DrawFrameRate(8,GetHeight()-8,ColorRGB::WHITE);
        ms_spkRenderer->EndScene();
    }
    ms_spkRenderer->DisplayBackBuffer();

    UpdateClicks();
}
开发者ID:Hengplank,项目名称:kucgbowling,代码行数:29,代码来源:GelatinCube.cpp

示例9: MeasureTime

//----------------------------------------------------------------------------
void ClodMeshes::OnIdle ()
{
    MeasureTime();

    if (MoveCamera())
    {
        mCuller.ComputeVisibleSet(mScene);
    }

    if (MoveObject())
    {
        mScene->Update();
        mCuller.ComputeVisibleSet(mScene);
    }

    if (mRenderer->PreDraw())
    {
        mRenderer->ClearBuffers();
        mRenderer->Draw(mCuller.GetVisibleSet());
        DrawFrameRate(8, GetHeight()-8, mTextColor);

#ifdef USE_CLOD_MESH
        char message[256];
        sprintf(message, "triangles0: %4d   triangles1: %4d",
            mClod[0]->GetNumTriangles(), mClod[1]->GetNumTriangles());
        mRenderer->Draw(128, GetHeight()-8, mTextColor, message);
#endif

        mRenderer->PostDraw();
        mRenderer->DisplayColorBuffer();
    }

    UpdateFrameCount();
}
开发者ID:vijaynerella,项目名称:GeometricTools,代码行数:35,代码来源:ClodMeshes.cpp

示例10: MeasureTime

//----------------------------------------------------------------------------
void Lighting2::OnIdle()
{
    // Lights motion.
    static double dCurTime = 0.0f;
    static double dLastTime = 0.0f;
    static float fAngel0 = 0.0f;
    static float fAngel1 = SEMathf::PI;
    static float fRadius0 = 4.0f;
    static float fRadius1 = 4.0f;
    dCurTime = SESystem::SE_GetTime();
    if( dCurTime - dLastTime > 0.0001f )
    {
        dLastTime = dCurTime;
        fAngel0 += 0.04f;
        fAngel1 -= 0.04f;
        SEMatrix3f mat3fRot;

        mat3fRot.FromEulerAnglesXYZ(0.0f, -0.04f, 0.0f);
        m_spLight0Node->Local.SetRotate(m_spLight0Node->Local.GetRotate()
										*mat3fRot);
        float fX = fRadius0*SEMathf::Cos(fAngel0);
        float fZ = fRadius0*SEMathf::Sin(fAngel0);
        m_spLight0Node->Local.SetTranslate(SEVector3f(fX, m_fLight0Height, 
            fZ));
        m_spLight0Node->UpdateGS();

        mat3fRot.FromEulerAnglesXYZ(0.0f, 0.04f, 0.0f);
        m_spLight1Node->Local.SetRotate(m_spLight1Node->Local.GetRotate()
										*mat3fRot);
        fX = fRadius1*SEMathf::Cos(fAngel1);
        fZ = fRadius1*SEMathf::Sin(fAngel1);
        m_spLight1Node->Local.SetTranslate(SEVector3f(fX, m_fLight1Height, 
            fZ));
        m_spLight1Node->UpdateGS();
    }

    MeasureTime();

    if( MoveCamera() )
    {
        m_Culler.ComputeUnculledSet(m_spScene);
    }

    if( MoveObject() )
    {
        m_spScene->UpdateGS();
        m_Culler.ComputeUnculledSet(m_spScene);
    }

    m_pRenderer->ClearBuffers();
    if( m_pRenderer->BeginScene() )
    {
        m_pRenderer->DrawScene(m_Culler.GetVisibleSet());
        DrawFrameRate(8, GetHeight()-8, SEColorRGBA::SE_RGBA_WHITE);
        m_pRenderer->EndScene();
    }
    m_pRenderer->DisplayBackBuffer();

    UpdateFrameCount();
}
开发者ID:jazzboysc,项目名称:SwingEngine1,代码行数:61,代码来源:Lighting2.cpp

示例11: MeasureTime

//----------------------------------------------------------------------------
void EnvironmentMaps::OnIdle ()
{
    MeasureTime();
    MoveCamera();

    if ( MoveObject() )
        m_spkScene->UpdateGS(0.0f);

    ms_spkRenderer->ClearBuffers();
    if ( ms_spkRenderer->BeginScene() )
    {
        if ( m_bInitialized )
        {
            ms_spkRenderer->Draw(m_spkScene);
            DrawFrameRate(8,GetHeight()-8,ColorRGB::WHITE);
        }
        else
        {
            ms_spkRenderer->Draw(8,16,ColorRGB::WHITE,
                "Load of Face.mgc or SphereMap.mif failed.  ");
            ms_spkRenderer->Draw(8,32,ColorRGB::WHITE,
                "Make sure these files are in the same directory as the "
                "executable.");
        }
        ms_spkRenderer->EndScene();
    }
    ms_spkRenderer->DisplayBackBuffer();

    UpdateClicks();
}
开发者ID:Hengplank,项目名称:kucgbowling,代码行数:31,代码来源:EnvironmentMaps.cpp

示例12: MeasureTime

//----------------------------------------------------------------------------
void Skinning::OnIdle ()
{
    MeasureTime();

    UpdateConstants((float)GetTimeInSeconds());

    if (MoveCamera())
    {
        mCuller.ComputeVisibleSet(mScene);
    }

    if (MoveObject())
    {
        mScene->Update();
        mCuller.ComputeVisibleSet(mScene);
    }

    if (mRenderer->PreDraw())
    {
        mRenderer->ClearBuffers();
        mRenderer->Draw(mCuller.GetVisibleSet());
        DrawFrameRate(8, GetHeight()-8, mTextColor);
        mRenderer->PostDraw();
        mRenderer->DisplayColorBuffer();
    }

    UpdateFrameCount();
}
开发者ID:galek,项目名称:GeometricTools,代码行数:29,代码来源:Skinning.cpp

示例13: MeasureTime

//----------------------------------------------------------------------------
void IntersectConvexPolyhedra::OnIdle ()
{
    MeasureTime();

    if (MoveCamera())
    {
        mCuller.ComputeVisibleSet(mScene);
    }

    if (MoveObject())
    {
        mScene->Update();
        mCuller.ComputeVisibleSet(mScene);
    }

    if (mRenderer->PreDraw())
    {
        mRenderer->ClearBuffers();
        mRenderer->Draw(mCuller.GetVisibleSet());
        DrawFrameRate(8, GetHeight()-8, mTextColor);
        mRenderer->PostDraw();
        mRenderer->DisplayColorBuffer();
    }

    UpdateFrameCount();
}
开发者ID:rasslingcats,项目名称:calico,代码行数:27,代码来源:IntersectConvexPolyhedra.cpp

示例14: MeasureTime

//----------------------------------------------------------------------------
void WireMeshWindow::OnIdle()
{
    MeasureTime();
    MoveCamera();

    mEngine->ClearBuffers();
    mEngine->Draw(mMesh);
    DrawFrameRate(8, mYSize-8, mTextColor);
    mEngine->DisplayColorBuffer(0);

    UpdateFrameCount();
}
开发者ID:rin-23,项目名称:OculusProjects,代码行数:13,代码来源:WireMeshWindow.cpp

示例15: DrawFrameRate

//----------------------------------------------------------------------------
void SimplePendulumFriction::GraphicsTick ()
{
	mCuller.ComputeVisibleSet(mScene);

	if (mRenderer->PreDraw())
	{
		mRenderer->ClearBuffers();
		mRenderer->Draw(mCuller.GetVisibleSet());
		DrawFrameRate(8, GetHeight()-8, mTextColor);
		mRenderer->PostDraw();
		mRenderer->DisplayColorBuffer();
	}
}
开发者ID:bhlzlx,项目名称:WildMagic,代码行数:14,代码来源:SimplePendulumFriction.cpp


注:本文中的DrawFrameRate函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。