/
redgpu
/
ezEngine
Обзор
Документация
Войти
/
redgpu
/
ezEngine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
Code/Engine/RendererFoundation/Device/ReadbackLock.h
46 строк
2 KB
C-Core
Dithered transparency (#1419)
30 окт 2024, 23:11
Не верифицирован
30 окт 2024, 23:11
b324bd9
Код
Авторство
О чём код?
#pragma once #include <RendererFoundation/RendererFoundationDLL.h> class EZ_RENDERERFOUNDATION_DLL ezReadbackBufferLock { public: EZ_DISALLOW_COPY_AND_ASSIGN(ezReadbackBufferLock); ezReadbackBufferLock() = default; ezReadbackBufferLock(ezGALDevice* pDevice, const ezGALReadbackBuffer* pBuffer, ezArrayPtr<const ezUInt8>& out_memory); EZ_ALWAYS_INLINE ezReadbackBufferLock(ezReadbackBufferLock&& rhs) { *this = std::move(rhs); } ~ezReadbackBufferLock(); void operator=(ezReadbackBufferLock&& rhs); EZ_ALWAYS_INLINE bool IsValid() const { return m_pDevice != nullptr; } EZ_ALWAYS_INLINE bool operator!() const { return m_pDevice == nullptr; } EZ_ALWAYS_INLINE operator bool() const { return m_pDevice != nullptr; } private: const ezGALDevice* m_pDevice = nullptr; const ezGALReadbackBuffer* m_pBuffer = nullptr; }; class EZ_RENDERERFOUNDATION_DLL ezReadbackTextureLock { public: EZ_DISALLOW_COPY_AND_ASSIGN(ezReadbackTextureLock); ezReadbackTextureLock() = default; ezReadbackTextureLock(ezGALDevice* pDevice, const ezGALReadbackTexture* pTexture, const ezArrayPtr<const ezGALTextureSubresource>& subResources, ezDynamicArray<ezGALSystemMemoryDescription>& out_memory); EZ_ALWAYS_INLINE ezReadbackTextureLock(ezReadbackTextureLock&& rhs) { *this = std::move(rhs); } ~ezReadbackTextureLock(); void operator=(ezReadbackTextureLock&& rhs); EZ_ALWAYS_INLINE bool IsValid() const { return m_pDevice != nullptr; } EZ_ALWAYS_INLINE bool operator!() const { return m_pDevice == nullptr; } EZ_ALWAYS_INLINE operator bool() const { return m_pDevice != nullptr; } private: const ezGALDevice* m_pDevice = nullptr; const ezGALReadbackTexture* m_pTexture = nullptr; ezArrayPtr<const ezGALTextureSubresource> m_SubResources; };