本文整理汇总了C++中ogre::Matrix4::makeTrans方法的典型用法代码示例。如果您正苦于以下问题:C++ Matrix4::makeTrans方法的具体用法?C++ Matrix4::makeTrans怎么用?C++ Matrix4::makeTrans使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ogre::Matrix4
的用法示例。
在下文中一共展示了Matrix4::makeTrans方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
//------------------------------------------------------------------------------
void
Background2D::renderQueueEnded( Ogre::uint8 queueGroupId, const Ogre::String& invocation, bool& repeatThisInvocation )
{
if( cv_show_background2d.GetB() == false )
{
return;
}
if( queueGroupId == Ogre::RENDER_QUEUE_MAIN )
{
m_RenderSystem->_setWorldMatrix( Ogre::Matrix4::IDENTITY );
m_RenderSystem->_setProjectionMatrix( Ogre::Matrix4::IDENTITY );
Ogre::Viewport *viewport( CameraManager::getSingleton().getViewport() );
float width = viewport->getActualWidth();
float height = viewport->getActualHeight();
Ogre::Matrix4 view;
view.makeTrans( Ogre::Vector3( m_PositionReal.x * 2 / width, -m_PositionReal.y * 2 / height, 0 ) );
m_RenderSystem->_setViewMatrix( view );
if( m_AlphaRenderOp.vertexData->vertexCount != 0 )
{
m_SceneManager->_setPass( m_AlphaMaterial->getTechnique( 0 )->getPass( 0 ), true, false );
m_RenderSystem->_render( m_AlphaRenderOp );
}
if( m_AddRenderOp.vertexData->vertexCount != 0 )
{
m_SceneManager->_setPass( m_AddMaterial->getTechnique( 0 )->getPass( 0 ), true, false );
m_RenderSystem->_render( m_AddRenderOp );
}
}
}
示例2: SetPosition
//设置位置 (游戏世界坐标)
VOID CEffectObject::SetPosition(const fVector3& vPos)
{
//坐标转换
fVector3 fvGfx;
CRenderSystem::GetMe()->Axis_Trans(CRenderSystem::AX_GAME, vPos, CRenderSystem::AX_GFX, fvGfx);
std::list< std::pair< Fairy::Effect*, Ogre::SceneNode* > >::iterator it;
for(it=m_listEffectImpl.begin(); it!=m_listEffectImpl.end(); it++)
{
it->second->setPosition(Ogre::Vector3(fvGfx.x, fvGfx.y, fvGfx.z));
}
#if 0
Ogre::Matrix4 mxPosition = Ogre::Matrix4::IDENTITY;
mxPosition.makeTrans(fvGfx.x, fvGfx.y, fvGfx.z);
Ogre::MatrixList vMatrix;
vMatrix.push_back(mxPosition);
std::list< Ogre::Effect* >::iterator it;
for(it=m_listEffectImpl.begin(); it!=m_listEffectImpl.end(); it++)
{
(*it)->execute(0, vMatrix);
}
#endif
}
示例3:
// Called by Rocket when it wants to render application-compiled geometry.
void RenderInterfaceOgre3D::RenderCompiledGeometry(Rocket::Core::CompiledGeometryHandle geometry, const Rocket::Core::Vector2f& translation)
{
Ogre::Matrix4 transform;
transform.makeTrans(translation.x, translation.y, 0);
render_system->_setWorldMatrix(transform);
render_system = Ogre::Root::getSingleton().getRenderSystem();
RocketOgre3DCompiledGeometry* ogre3d_geometry = (RocketOgre3DCompiledGeometry*) geometry;
if (ogre3d_geometry->texture != NULL)
{
render_system->_setTexture(0, true, ogre3d_geometry->texture->texture);
// Ogre can change the blending modes when textures are disabled - so in case the last render had no texture,
// we need to re-specify them.
render_system->_setTextureBlendMode(0, colour_blend_mode);
render_system->_setTextureBlendMode(0, alpha_blend_mode);
}
else
render_system->_disableTextureUnit(0);
render_system->_render(ogre3d_geometry->render_operation);
}
示例4: RenderCompiledGeometry
void RocketInterface::RenderCompiledGeometry(Rocket::Core::CompiledGeometryHandle geometryHandle,
const Rocket::Core::Vector2f& translation)
{
RocketOgreGeometry* geometry = reinterpret_cast<RocketOgreGeometry*>(geometryHandle);
// Build world matrix
Ogre::Matrix4 world;
world.makeTrans(translation.x, translation.y, 0);
// Draw UI element
Ogre::Pass* pass;
if (geometry->texture)
{
pass = mUIMaterial->getTechnique("Texture")->getPass(0);
pass->getTextureUnitState(0)->setTexture(geometry->texture->texture);
}
else
{
pass = mUIMaterial->getTechnique("NoTexture")->getPass(0);
}
mSceneMgr->manualRender(&geometry->renderOp, pass, nullptr,
world, Ogre::Matrix4::IDENTITY, mProjection);
}