HardwareUniformBufferSharedPtr DefaultHardwareBufferManagerBase::createUniformBuffer(size_t sizeBytes, HardwareBuffer::Usage usage, bool useShadowBuffer, const String& name) { DefaultHardwareUniformBuffer* ub = OGRE_NEW DefaultHardwareUniformBuffer(this, sizeBytes, usage, useShadowBuffer); return HardwareUniformBufferSharedPtr(ub); }
HardwareUniformBuffer::HardwareUniformBuffer(HardwareBufferManagerBase* mgr, size_t sizeBytes, HardwareBuffer::Usage usage, bool useShadowBuffer, const String& name) : HardwareBuffer(usage, false, useShadowBuffer) , mMgr(mgr) , mName(name) { // Calculate the size of the vertices mSizeInBytes = sizeBytes; // Create a shadow buffer if required if (mUseShadowBuffer) { mShadowBuffer = OGRE_NEW DefaultHardwareUniformBuffer(mMgr, sizeBytes, HardwareBuffer::HBU_DYNAMIC, false); } }