Added "RenderFramework *" in GraphModule and IRenderTarget

This commit is contained in:
2025-02-05 22:44:58 +08:00
parent 7ec1c095cc
commit e5a46f3ee8
23 changed files with 92 additions and 117 deletions

View File

@@ -51,65 +51,4 @@ public:
bool Write (const void *ptr) {return buf.memory->Write(ptr);}
};//class DeviceBuffer
template<typename T> struct DeviceBufferData
{
T *data; ///<CPU端数据
// 数据如何被设置为不可以在CPU端访问那么不会在CPU端保存备份。
// 这种情况的话将不会允许CPU端随机读写只能写入
VkDeviceSize size;
DeviceBuffer *dev_buffer;
};
template<typename T> class DeviceBufferRandomAccess
{
DeviceBufferData<T> *dbd;
public:
operator T *(){return dbd->data;}
public:
DeviceBufferRandomAccess(DeviceBufferData<T> *obj)
{
dbd=obj;
}
virtual ~DeviceBufferAccess()
{
if(!dbd)return;
delete dbd->dev_buffer;
delete dbd;
}
bool Write(const T *ptr)
{
return dbd->dev_buffer->Write(ptr);
}
};
template<typename T> class DeviceBufferObject
{
DeviceBufferData<T> *dbd;
public:
DeviceBufferObject(DeviceBufferData<T> *obj)
{
dbd=obj;
}
virtual ~DeviceBufferObject()
{
if(!dbd)return;
delete dbd->dev_buffer;
delete dbd;
}
};//template<typename T> class DeviceBufferObject
VK_NAMESPACE_END