载入中...
搜索中...
未找到
IResourceFactory.h
浏览该文件的文档.
58 [[nodiscard]] virtual Result<Texture *> newTextureMipChain(uint32_t width, uint32_t height, uint32_t levels,
77 [[nodiscard]] virtual Result<Texture *> newTextureArrayRgba16f(uint32_t width, uint32_t height, uint32_t layers,
85 DiagnosticCode::Unsupported, "RGBA16F texture arrays are unavailable", {}, {}, "graphics.texture.array"));
100 [[nodiscard]] virtual Result<Texture *> newTexture3DRgba8(uint32_t width, uint32_t height, uint32_t depth,
108 DiagnosticCode::Unsupported, "RGBA8 3D textures are unavailable", {}, {}, "graphics.texture.volume"));
129 [[nodiscard]] virtual ResultRef<Texture> newSharedTexture(image::ImageData *data, const std::string &contentKey) {
175 virtual Mesh *newMeshFromArraysColored(const float *posXYZ, const float *nrmXYZ, const float *uvST,
Vocabulary aliases for nullable and checked borrowed references.
Move-only, checked operation results for the common layer.
static Diagnostic error(DiagnosticCode code, std::string message, std::string path={}, DiagnosticDetails details={}, std::string source={})
Construct an error diagnostic with the standard error severity.
Definition Diagnostic.h:125
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
CPU-side decoded font face (FreeType FT_Face + owned font bytes). Does not upload to GPU — rasterize ...
Definition FontData.h:25
GPU-side font: wraps a decoded font::FontData and rasterizes a fixed set of codepoints into a single ...
Definition Font.h:35
Texture / mesh / shader / canvas creation and release.
Definition IResourceFactory.h:38
virtual Shader * newMeshShader(const std::string &vertGlsl, const std::string &fragGlsl)=0
Creates a mesh shader. @ownership Caller deletes unless documented otherwise.
virtual bool updateMeshVertices(Mesh *mesh, const float *posXYZ, const float *nrmXYZ, const float *uvST, int vertexCount, const uint32_t *indices, int indexCount)=0
Updates mesh vertices.
virtual Shader * newShader(const std::string &vertGlsl, const std::string &fragGlsl)=0
Creates a shader. @ownership Caller deletes unless documented otherwise.
virtual float getMaxAnisotropy() const =0
Returns the max anisotropy.
virtual Texture * newTexture(image::ImageData *data)=0
Creates a texture. @ownership Caller deletes unless documented otherwise.
virtual void setTextureSampler(Texture *texture, const TextureSampler &sampler)=0
Sets the texture sampler.
virtual Canvas * newCanvas(int width, int height)=0
Creates a canvas. @ownership Caller deletes unless documented otherwise.
virtual Result< Texture * > newTexture3DRgba8(uint32_t width, uint32_t height, uint32_t depth, std::span< const uint8_t > rgba)
Upload one tightly packed linear RGBA8 3D sampled texture.
Definition IResourceFactory.h:100
virtual Texture * newTextureFromImageData(image::ImageData *data, const TextureCreateInfo &info)=0
Creates a texture from image data. @ownership Caller deletes unless documented otherwise.
virtual Result< Texture * > newTextureArrayRgba16f(uint32_t width, uint32_t height, uint32_t layers, std::span< const uint16_t > rgbaHalf)
Upload a sampled 2D array of tightly packed linear RGBA16F texels.
Definition IResourceFactory.h:77
virtual Shader * newShaderFromSpvFile(const std::string &vertPath, const std::string &fragPath)=0
Creates a shader from spv file. @ownership Caller deletes unless documented otherwise.
virtual Font * newFont(font::FontData *data, std::string charset)=0
Creates a font. @ownership Caller deletes unless documented otherwise.
virtual ResultRef< Texture > newSharedTexture(image::ImageData *data, const std::string &contentKey)
Reuse or upload immutable RGBA8 pixels under a caller-provided content key.
Definition IResourceFactory.h:129
virtual Shader * newHairShaderFromSpv(const std::vector< uint32_t > &vertSpv, const std::vector< uint32_t > &fragSpv)=0
Creates a hair shader from spv. @ownership Caller deletes unless documented otherwise.
virtual Result< Texture * > newTextureMipChain(uint32_t width, uint32_t height, uint32_t levels, std::span< const uint8_t > rgba)
Upload complete explicit linear RGBA8 mips without regenerating pixels.
Definition IResourceFactory.h:58
virtual Texture * newTexture(int width, int height, const uint8_t *rgba, bool repeatU=false, bool repeatV=false)=0
Creates a texture. @ownership Caller deletes unless documented otherwise.
virtual Texture * newTextureWithSampler(image::ImageData *data, bool repeatU, bool repeatV, bool generateMipmaps, float maxAnisotropy, const std::string &filter, const std::string &mipmap, float lodBias=0.f)=0
Creates a texture with sampler. @ownership Caller deletes unless documented otherwise.
virtual bool reloadTextureFromFile(const std::string &filename)=0
Reloads texture from file.
virtual Texture * newCubemap(int faceSize, const uint8_t *rgbaFaces)=0
Creates a cubemap. @ownership Caller deletes unless documented otherwise.
virtual Mesh * newMeshSphere(int slices, int stacks)=0
Creates a mesh sphere. @ownership Caller deletes unless documented otherwise.
virtual Shader * newShaderFromSpv(const std::vector< uint32_t > &vertSpv, const std::vector< uint32_t > &fragSpv)=0
Creates a shader from spv. @ownership Caller deletes unless documented otherwise.
virtual Mesh * newMeshCylinder(int slices, int stacks, bool caps)=0
Creates a mesh cylinder. @ownership Caller deletes unless documented otherwise.
virtual Mesh * newMeshFromArrays(const float *posXYZ, const float *nrmXYZ, const float *uvST, int vertexCount, const uint32_t *indices, int indexCount)=0
Creates a mesh from arrays. @ownership Caller deletes unless documented otherwise.
virtual Shader * newShaderFromWgsl(const std::string &vertWgsl, const std::string &fragWgsl)=0
Create a 2D custom shader from WGSL source (WebGPU backend). Empty vert → default textured vertex sha...
virtual Shader * newMeshShaderFromWgsl(const std::string &vertWgsl, const std::string &fragWgsl)=0
Create a WebGPU Mesh3D shader; an empty stage selects the matching engine default.
virtual Shader * newMeshShaderFromSpv(const std::vector< uint32_t > &vertSpv, const std::vector< uint32_t > &fragSpv)=0
Create a Mesh3D shader; an empty stage selects the matching engine default.
virtual Texture * newTextureFromFileRepeated(const std::string &filename, bool repeatU, bool repeatV)=0
Creates a texture from file repeated. @ownership Caller deletes unless documented otherwise.
virtual ~IResourceFactory()=default
Releases IResourceFactory resources.
virtual Texture * newTexture(int width, int height, const uint8_t *rgba, const TextureCreateInfo &info)=0
Creates a texture. @ownership Caller deletes unless documented otherwise.
virtual Mesh * newMeshFromArraysColored(const float *posXYZ, const float *nrmXYZ, const float *uvST, const float *colorRGBA, int vertexCount, const uint32_t *indices, int indexCount)=0
Create a mesh with a packed linear RGBA vertex-color stream.
virtual Mesh * newMeshCube(float size)=0
Creates a mesh cube. @ownership Caller deletes unless documented otherwise.
virtual bool releaseTexture(Texture *texture)=0
Release texture.
virtual Texture * newTextureFromFile(const std::string &filename)=0
Creates a texture from file. @ownership Caller deletes unless documented otherwise.
virtual Texture * newTextureFromImageData(image::ImageData *data, bool repeatU=false, bool repeatV=false)=0
Creates a texture from image data. @ownership Caller deletes unless documented otherwise.
virtual Texture * newTexture(image::ImageData *data, const TextureCreateInfo &info)=0
Creates a texture. @ownership Caller deletes unless documented otherwise.
virtual Mesh * newMeshFromAssimp(const ::aiMesh &mesh)=0
Creates a mesh from assimp. @ownership Caller deletes unless documented otherwise.
virtual bool releaseShader(Shader *shader)=0
Release shader.
virtual Texture * newCubemap(int faceSize, const uint8_t *rgbaFaces, const TextureCreateInfo &info)=0
Creates a cubemap. @ownership Caller deletes unless documented otherwise.
virtual bool bakeMeshMorph(Mesh *mesh)=0
Bake mesh morph.
virtual Mesh * newMeshFromAssimp(const ::aiMesh &mesh, const aiMatrix4x4 &worldTransform)=0
Creates a mesh from assimp. @ownership Caller deletes unless documented otherwise.
GPU texture created via Graphics::newTexture. Owns GPU resources through an opaque backend handle.
Definition Texture.h:18
@ ImageData
Definition Font.cpp:18
卡牌游戏 UI 工具模块:工厂 + 脚本绑定入口。 功能参考 ycarowr/UiCard:扇形手牌布局、抽牌/洗牌、悬浮放大、拖拽到落牌区、 敌方手牌(背面/偷看)、费用不足置灰,以及可实时调节的布局...
Definition Animation.h:25
Definition AvatarInstance.h:25
@ Unsupported
Options for Graphics::newTexture / newCubemap. When generateMipmaps is true and sampler....
Definition TextureSampler.h:110
Sampler state for a Texture (filter, wrap, mip LOD, anisotropy). Defaults match historical engine beh...
Definition TextureSampler.h:27