载入中...
搜索中...
未找到
eve::graphics::IImageResourceFactory类 参考abstract

Backend-owned RGBA8 texture upload and release operations. 更多...

#include <IImageResourceFactory.h>

类 eve::graphics::IImageResourceFactory 继承关系图:
eve::asset_graphics::GraphicsImageFactoryAdapter

Public 成员函数

virtual ~IImageResourceFactory ()=default
 Releases IImageResourceFactory resources.
 
virtual Result< Texture * > uploadRgba8 (std::uint32_t width, std::uint32_t height, const std::uint8_t *pixels, bool srgb)=0
 Upload one tightly packed, top-down RGBA8 image.
 
virtual Result< Texture * > uploadRgba8MipChain (uint32_t width, uint32_t height, uint32_t levels, std::span< const uint8_t > pixels)
 Upload complete explicit linear RGBA8 mips without regeneration.
 
virtual Result< Texture * > uploadRgba8Volume (uint32_t width, uint32_t height, uint32_t depth, std::span< const uint8_t > pixels)
 Upload one tightly packed linear RGBA8 volume.
 
virtual Result< void > releaseImage (Texture *texture)=0
 Release a texture previously returned by this factory.
 

详细描述

Backend-owned RGBA8 texture upload and release operations.

在文件 IImageResourceFactory.h 第 15 行定义.

构造及析构函数说明

◆ ~IImageResourceFactory()

virtual eve::graphics::IImageResourceFactory::~IImageResourceFactory ( )
virtualdefault

Releases IImageResourceFactory resources.

成员函数说明

◆ releaseImage()

virtual Result< void > eve::graphics::IImageResourceFactory::releaseImage ( Texture *  texture)
pure virtual

Release a texture previously returned by this factory.

参数
textureBorrowed live factory-owned texture, not retained after the call. @thread Must run on the graphics thread.

在 eve::asset_graphics::GraphicsImageFactoryAdapter 内被实现.

◆ uploadRgba8()

virtual Result< Texture * > eve::graphics::IImageResourceFactory::uploadRgba8 ( std::uint32_t  width,
std::uint32_t  height,
const std::uint8_t *  pixels,
bool  srgb 
)
pure virtual

Upload one tightly packed, top-down RGBA8 image.

返回
Structured failure or a borrowed backend-owned texture. @ownership The backend factory owns the returned texture; release it through this factory. @lifetime Valid until releaseImage, backend shutdown, or graphics-device loss. @thread Must run on the graphics thread; pixels are borrowed only for this call.

在 eve::asset_graphics::GraphicsImageFactoryAdapter 内被实现.

被这些函数引用 eve::asset_graphics::EvpackImageLoader::load().

◆ uploadRgba8MipChain()

virtual Result< Texture * > eve::graphics::IImageResourceFactory::uploadRgba8MipChain ( uint32_t  width,
uint32_t  height,
uint32_t  levels,
std::span< const uint8_t >  pixels 
)
inlinevirtual

Upload complete explicit linear RGBA8 mips without regeneration.

参数
widthPositive base width.
heightPositive base height.
levelsFull halving chain including 1x1.
pixelsBorrowed top-down RGBA8 levels in increasing LOD order; not retained.
返回
Failure without publication or a factory-owned texture, released by releaseImage. @lifetime Returned texture lives until release, shutdown or device loss. @thread Graphics thread, synchronous, non-reentrant, no callbacks. Default is Unsupported.

Failure.

被 eve::asset_graphics::GraphicsImageFactoryAdapter 重载.

在文件 IImageResourceFactory.h 第 41 行定义.

引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), height, pixels, eve::Unsupported , 以及 width.

被这些函数引用 eve::asset_graphics::EvpackImageLoader::load().

◆ uploadRgba8Volume()

virtual Result< Texture * > eve::graphics::IImageResourceFactory::uploadRgba8Volume ( uint32_t  width,
uint32_t  height,
uint32_t  depth,
std::span< const uint8_t >  pixels 
)
inlinevirtual

Upload one tightly packed linear RGBA8 volume.

参数
widthPositive X extent.
heightPositive Y extent.
depthPositive Z extent.
pixelsBorrowed X-fastest RGBA8 voxels; not retained.
返回
Failure without publication or a factory-owned texture, released by releaseImage. @lifetime Returned texture lives until release, shutdown or device loss. @thread Graphics thread, synchronous, non-reentrant, no callbacks. Default is Unsupported.

Failure.

被 eve::asset_graphics::GraphicsImageFactoryAdapter 重载.

在文件 IImageResourceFactory.h 第 66 行定义.

引用了 depth, eve::Diagnostic::error(), eve::Result< T >::failure(), height, pixels, eve::Unsupported , 以及 width.

被这些函数引用 eve::asset_graphics::EvpackVolumeTextureLoader::load().


该类的文档由以下文件生成: