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

Texture / mesh / shader / canvas creation and release. 更多...

#include <IResourceFactory.h>

类 eve::graphics::IResourceFactory 继承关系图:
eve::graphics::Graphics eve::graphics::vulkan::Graphics eve::graphics::webgpu::Graphics

Public 成员函数

virtual ~IResourceFactory ()=default
 
virtual TexturenewTexture (int width, int height, const uint8_t *rgba, bool repeatU=false, bool repeatV=false)=0
 
virtual TexturenewTexture (int width, int height, const uint8_t *rgba, const TextureCreateInfo &info)=0
 
virtual TexturenewCubemap (int faceSize, const uint8_t *rgbaFaces)=0
 
virtual TexturenewCubemap (int faceSize, const uint8_t *rgbaFaces, const TextureCreateInfo &info)=0
 
virtual TexturenewTexture (image::ImageData *data)=0
 
virtual TexturenewTexture (image::ImageData *data, const TextureCreateInfo &info)=0
 
virtual TexturenewTextureFromImageData (image::ImageData *data, bool repeatU=false, bool repeatV=false)=0
 
virtual TexturenewTextureFromImageData (image::ImageData *data, const TextureCreateInfo &info)=0
 
virtual TexturenewTextureWithSampler (image::ImageData *data, bool repeatU, bool repeatV, bool generateMipmaps, float maxAnisotropy, const std::string &filter, const std::string &mipmap, float lodBias=0.f)=0
 
virtual void setTextureSamplerParams (Texture *texture, const std::string &filter, const std::string &mipmap, float maxAnisotropy, float lodBias)=0
 
virtual void setTextureSampler (Texture *texture, const TextureSampler &sampler)=0
 
virtual TexturenewTextureFromFile (const std::string &filename)=0
 
virtual TexturenewTextureFromFileRepeated (const std::string &filename, bool repeatU, bool repeatV)=0
 
virtual bool reloadTextureFromFile (const std::string &filename)=0
 
virtual float getMaxAnisotropy () const =0
 
virtual bool releaseTexture (Texture *texture)=0
 
virtual MeshnewMeshFromAssimp (const ::aiMesh &mesh)=0
 
virtual MeshnewMeshFromAssimp (const ::aiMesh &mesh, const aiMatrix4x4 &worldTransform)=0
 
virtual MeshnewMeshFromArrays (const float *posXYZ, const float *nrmXYZ, const float *uvST, int vertexCount, const uint32_t *indices, int indexCount)=0
 
virtual bool updateMeshVertices (Mesh *mesh, const float *posXYZ, const float *nrmXYZ, const float *uvST, int vertexCount, const uint32_t *indices, int indexCount)=0
 
virtual bool bakeMeshMorph (Mesh *mesh)=0
 
virtual MeshnewMeshSphere (int slices, int stacks)=0
 
virtual MeshnewMeshCylinder (int slices, int stacks, bool caps)=0
 
virtual MeshnewMeshCube (float size)=0
 
virtual bool releaseMesh (Mesh *mesh)=0
 
virtual ShadernewShaderFromSpv (const std::vector< uint32_t > &vertSpv, const std::vector< uint32_t > &fragSpv)=0
 
virtual ShadernewShaderFromSpvFile (const std::string &vertPath, const std::string &fragPath)=0
 
virtual ShadernewShader (const std::string &vertGlsl, const std::string &fragGlsl)=0
 
virtual ShadernewMeshShaderFromSpv (const std::vector< uint32_t > &vertSpv, const std::vector< uint32_t > &fragSpv)=0
 
virtual ShadernewMeshShaderFromWgsl (const std::string &vertWgsl, const std::string &fragWgsl)=0
 
virtual ShadernewMeshShader (const std::string &vertGlsl, const std::string &fragGlsl)=0
 
virtual ShadernewHairShaderFromSpv (const std::vector< uint32_t > &vertSpv, const std::vector< uint32_t > &fragSpv)=0
 
virtual bool releaseShader (Shader *shader)=0
 
virtual CanvasnewCanvas (int width, int height)=0
 
virtual FontnewFont (font::FontData *data, std::string charset)=0
 

详细描述

Texture / mesh / shader / canvas creation and release.

在文件 IResourceFactory.h35 行定义.

构造及析构函数说明

◆ ~IResourceFactory()

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

成员函数说明

◆ bakeMeshMorph()

virtual bool eve::graphics::IResourceFactory::bakeMeshMorph ( Mesh mesh)
pure virtual

◆ getMaxAnisotropy()

virtual float eve::graphics::IResourceFactory::getMaxAnisotropy ( ) const
pure virtual

◆ newCanvas()

virtual Canvas * eve::graphics::IResourceFactory::newCanvas ( int  width,
int  height 
)
pure virtual

◆ newCubemap() [1/2]

virtual Texture * eve::graphics::IResourceFactory::newCubemap ( int  faceSize,
const uint8_t *  rgbaFaces 
)
pure virtual

◆ newCubemap() [2/2]

virtual Texture * eve::graphics::IResourceFactory::newCubemap ( int  faceSize,
const uint8_t *  rgbaFaces,
const TextureCreateInfo info 
)
pure virtual

◆ newFont()

virtual Font * eve::graphics::IResourceFactory::newFont ( font::FontData data,
std::string  charset 
)
pure virtual

eve::graphics::Graphics 内被实现.

◆ newHairShaderFromSpv()

virtual Shader * eve::graphics::IResourceFactory::newHairShaderFromSpv ( const std::vector< uint32_t > &  vertSpv,
const std::vector< uint32_t > &  fragSpv 
)
pure virtual

◆ newMeshCube()

virtual Mesh * eve::graphics::IResourceFactory::newMeshCube ( float  size)
pure virtual

eve::graphics::Graphics 内被实现.

◆ newMeshCylinder()

virtual Mesh * eve::graphics::IResourceFactory::newMeshCylinder ( int  slices,
int  stacks,
bool  caps 
)
pure virtual

◆ newMeshFromArrays()

virtual Mesh * eve::graphics::IResourceFactory::newMeshFromArrays ( const float *  posXYZ,
const float *  nrmXYZ,
const float *  uvST,
int  vertexCount,
const uint32_t *  indices,
int  indexCount 
)
pure virtual

◆ newMeshFromAssimp() [1/2]

virtual Mesh * eve::graphics::IResourceFactory::newMeshFromAssimp ( const ::aiMesh &  mesh)
pure virtual

◆ newMeshFromAssimp() [2/2]

virtual Mesh * eve::graphics::IResourceFactory::newMeshFromAssimp ( const ::aiMesh &  mesh,
const aiMatrix4x4 &  worldTransform 
)
pure virtual

◆ newMeshShader()

virtual Shader * eve::graphics::IResourceFactory::newMeshShader ( const std::string &  vertGlsl,
const std::string &  fragGlsl 
)
pure virtual

◆ newMeshShaderFromSpv()

virtual Shader * eve::graphics::IResourceFactory::newMeshShaderFromSpv ( const std::vector< uint32_t > &  vertSpv,
const std::vector< uint32_t > &  fragSpv 
)
pure virtual

◆ newMeshShaderFromWgsl()

virtual Shader * eve::graphics::IResourceFactory::newMeshShaderFromWgsl ( const std::string &  vertWgsl,
const std::string &  fragWgsl 
)
pure virtual

◆ newMeshSphere()

virtual Mesh * eve::graphics::IResourceFactory::newMeshSphere ( int  slices,
int  stacks 
)
pure virtual

◆ newShader()

virtual Shader * eve::graphics::IResourceFactory::newShader ( const std::string &  vertGlsl,
const std::string &  fragGlsl 
)
pure virtual

◆ newShaderFromSpv()

virtual Shader * eve::graphics::IResourceFactory::newShaderFromSpv ( const std::vector< uint32_t > &  vertSpv,
const std::vector< uint32_t > &  fragSpv 
)
pure virtual

◆ newShaderFromSpvFile()

virtual Shader * eve::graphics::IResourceFactory::newShaderFromSpvFile ( const std::string &  vertPath,
const std::string &  fragPath 
)
pure virtual

◆ newTexture() [1/4]

virtual Texture * eve::graphics::IResourceFactory::newTexture ( image::ImageData data)
pure virtual

◆ newTexture() [2/4]

virtual Texture * eve::graphics::IResourceFactory::newTexture ( image::ImageData data,
const TextureCreateInfo info 
)
pure virtual

◆ newTexture() [3/4]

virtual Texture * eve::graphics::IResourceFactory::newTexture ( int  width,
int  height,
const uint8_t *  rgba,
bool  repeatU = false,
bool  repeatV = false 
)
pure virtual

◆ newTexture() [4/4]

virtual Texture * eve::graphics::IResourceFactory::newTexture ( int  width,
int  height,
const uint8_t *  rgba,
const TextureCreateInfo info 
)
pure virtual

◆ newTextureFromFile()

virtual Texture * eve::graphics::IResourceFactory::newTextureFromFile ( const std::string &  filename)
pure virtual

◆ newTextureFromFileRepeated()

virtual Texture * eve::graphics::IResourceFactory::newTextureFromFileRepeated ( const std::string &  filename,
bool  repeatU,
bool  repeatV 
)
pure virtual

eve::graphics::Graphics 内被实现.

◆ newTextureFromImageData() [1/2]

virtual Texture * eve::graphics::IResourceFactory::newTextureFromImageData ( image::ImageData data,
bool  repeatU = false,
bool  repeatV = false 
)
pure virtual

eve::graphics::Graphics 内被实现.

◆ newTextureFromImageData() [2/2]

virtual Texture * eve::graphics::IResourceFactory::newTextureFromImageData ( image::ImageData data,
const TextureCreateInfo info 
)
pure virtual

eve::graphics::Graphics 内被实现.

◆ newTextureWithSampler()

virtual Texture * eve::graphics::IResourceFactory::newTextureWithSampler ( image::ImageData data,
bool  repeatU,
bool  repeatV,
bool  generateMipmaps,
float  maxAnisotropy,
const std::string &  filter,
const std::string &  mipmap,
float  lodBias = 0.f 
)
pure virtual

eve::graphics::Graphics 内被实现.

◆ releaseMesh()

virtual bool eve::graphics::IResourceFactory::releaseMesh ( Mesh mesh)
pure virtual

◆ releaseShader()

virtual bool eve::graphics::IResourceFactory::releaseShader ( Shader shader)
pure virtual

◆ releaseTexture()

virtual bool eve::graphics::IResourceFactory::releaseTexture ( Texture texture)
pure virtual

◆ reloadTextureFromFile()

virtual bool eve::graphics::IResourceFactory::reloadTextureFromFile ( const std::string &  filename)
pure virtual

◆ setTextureSampler()

virtual void eve::graphics::IResourceFactory::setTextureSampler ( Texture texture,
const TextureSampler sampler 
)
pure virtual

◆ setTextureSamplerParams()

virtual void eve::graphics::IResourceFactory::setTextureSamplerParams ( Texture texture,
const std::string &  filter,
const std::string &  mipmap,
float  maxAnisotropy,
float  lodBias 
)
pure virtual

eve::graphics::Graphics 内被实现.

◆ updateMeshVertices()

virtual bool eve::graphics::IResourceFactory::updateMeshVertices ( Mesh mesh,
const float *  posXYZ,
const float *  nrmXYZ,
const float *  uvST,
int  vertexCount,
const uint32_t *  indices,
int  indexCount 
)
pure virtual

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