コード例 #1
0
	//! called during the initialization of the entity
	void ParticleGenerator::Init()
	{
		super::Init();

		m_Pool = snew MemoryPool(m_PoolSize);

		VertexBuffer* pVertexBuffer = GraphicsDriver::Instance()->CreateVertexBuffer();		
		pVertexBuffer->SetVertexFlag(Vertex3D::VF_Pos);
		pVertexBuffer->SetVertexFlag(Vertex3D::VF_Color);
		pVertexBuffer->SetName(GetClassName());
		pVertexBuffer->SetDynamic(true);
		pVertexBuffer->SetApplyWorldTransforms(m_bApplyWorldTransform);

		if(GraphicExtensionHandler::Instance()->HasExtension(GraphicExtensionHandler::E_PointSprite))
		{
			pVertexBuffer->SetPrimitiveType(GraphicsDriver::PT_Point);
			pVertexBuffer->SetVertices(snew Vertex3D[m_MaxParticles], m_MaxParticles);
			pVertexBuffer->SetRenderStateSetter(snew PointSpriteStateSetter(m_fParticleSize));
		}
		else
		{
			pVertexBuffer->SetPrimitiveType(GraphicsDriver::PT_Triangle);
			pVertexBuffer->SetVertices(snew Vertex3D[m_MaxParticles*6], m_MaxParticles*6);
			pVertexBuffer->SetVertexFlag(Vertex3D::VF_UV);
		}

		GetComponent<GraphicComponent>()->SetVertexBuffer(pVertexBuffer);
	}
コード例 #2
0
ファイル: alloc.cpp プロジェクト: narolez571/firebird
MemoryPool* MemoryPool::createPool(MemoryPool* parentPool, MemoryStats& stats)
{
    if (!parentPool)
    {
        parentPool = getDefaultMemoryPool();
    }
    return FB_NEW(*parentPool) MemoryPool(*parentPool, stats);
}
コード例 #3
0
ファイル: transformation.cpp プロジェクト: niubl/ironbee
static ib_status_t ibpp_transformation_translator(
    ib_mpool_t* mp,
    const ib_field_t* fin,
    const ib_field_t** fout,
    void *cbdata
)
{
    try {
        ConstTransformation::transformation_t transformation =
            data_to_value<ConstTransformation::transformation_t>(cbdata);

        ConstField result = transformation(MemoryPool(mp), ConstField(fin));

        *fout = result.ib();
    }
    catch (...) {
        return convert_exception();
    }

    return IB_OK;
}
コード例 #4
0
ファイル: engine.cpp プロジェクト: BillTheBest/ironbee
MemoryPool Engine::temporary_memory_pool() const
{
    return MemoryPool(ib_engine_pool_temp_get(ib()));
}
コード例 #5
0
ファイル: engine.cpp プロジェクト: BillTheBest/ironbee
MemoryPool Engine::configuration_memory_pool() const
{
    return MemoryPool(ib_engine_pool_config_get(ib()));
}
コード例 #6
0
ファイル: engine.cpp プロジェクト: BillTheBest/ironbee
MemoryPool Engine::main_memory_pool() const
{
    return MemoryPool(ib_engine_pool_main_get(ib()));
}
コード例 #7
0
ファイル: connection.cpp プロジェクト: BillTheBest/ironbee
MemoryPool ConstConnection::memory_pool() const
{
    return MemoryPool(ib()->mp);
}
コード例 #8
0
ファイル: memory_pool.cpp プロジェクト: niubl/ironbee
MemoryPool MemoryPool::remove_const(const ConstMemoryPool& cmp)
{
    return MemoryPool(const_cast<ib_mpool_t*>(cmp.ib()));
}
コード例 #9
0
ファイル: field.cpp プロジェクト: strategist922/ironbee
MemoryPool ConstField::memory_pool() const
{
    return MemoryPool(ib()->mp);
}
コード例 #10
0
ファイル: transaction.cpp プロジェクト: niubl/ironbee
MemoryPool ConstTransaction::memory_pool() const
{
    return MemoryPool(ib()->mp);
}