示例#1
0
bool ClientLobbyState::Draw(FlexKit::EngineCore* core, FlexKit::UpdateDispatcher& dispatcher, double dT, FlexKit::FrameGraph& frameGraph)
{
	auto currentRenderTarget = GetCurrentBackBuffer(&core->Window);

	ClearVertexBuffer	(frameGraph, client->base->vertexBuffer);
	ClearVertexBuffer	(frameGraph, client->base->textBuffer);
	ClearBackBuffer		(frameGraph, { 0.0f, 0.0f, 0.0f, 0.0f });

	LobbyScreenDrawDesc Desc;
	Desc.allocator			= core->GetTempMemory();
	Desc.constantBuffer		= client->base->constantBuffer;
	Desc.vertexBuffer		= client->base->vertexBuffer;
	Desc.textBuffer			= client->base->textBuffer;
	Desc.renderTarget		= currentRenderTarget;
	screen.Draw(Desc, dispatcher, frameGraph);

	FlexKit::DrawMouseCursor(
		framework->MouseState.NormalizedScreenCord,
		{ 0.05f, 0.05f },
		client->base->vertexBuffer,
		client->base->constantBuffer,
		currentRenderTarget,
		core->GetTempMemory(),
		&frameGraph);

	return true;
}
示例#2
0
	// 创建定点缓冲区
	void CCustomShape::CreateAreaVertexBuffer()
	{
		
		if(0 == m_planePointArray.size())
		{
			return;
		}

        // 先把上次创建的缓冲区删掉
        ClearVertexBuffer();

        mRenderOp.vertexData = new Ogre::VertexData;

        mRenderOp.vertexData->vertexCount = m_planePointArray.size();
        mRenderOp.vertexData->vertexStart = 0;
      
		Ogre::VertexDeclaration *decl = mRenderOp.vertexData->vertexDeclaration;

		// 声明定点格式
        size_t offset = 0;
      	decl->addElement(0, offset, Ogre::VET_FLOAT3, Ogre::VES_POSITION);
        offset += Ogre::VertexElement::getTypeSize(Ogre::VET_FLOAT3);
        decl->addElement(0, offset, Ogre::VET_COLOUR, Ogre::VES_DIFFUSE);

	     m_vbuf = Ogre::HardwareBufferManager::getSingleton().createVertexBuffer(
            decl->getVertexSize(0),
            mRenderOp.vertexData->vertexCount,
            Ogre::HardwareBuffer::HBU_STATIC_WRITE_ONLY);

         mRenderOp.vertexData->vertexBufferBinding->setBinding(0, m_vbuf);
	}
示例#3
0
	CCustomShape::~CCustomShape(void)
	{
		ClearVertexBuffer();
		ClearVertexBuffer1();

		m_pUnreachRegion = NULL;
	}