|
| | Graphics () |
| | Graphics.
|
| |
| | ~Graphics () override |
| | Graphics.
|
| |
| std::string | getBackendName () const override |
| | Returns the backend name.
|
| |
| bool | supportsGBufferPost () const override |
| | Supports g buffer post.
|
| |
| bool | supportsDeferredLighting () const override |
| | Supports deferred lighting.
|
| |
| void | drawDeferredLighting () override |
| | Draws deferred lighting.
|
| |
| bool | supportsGpuDriven3D () const override |
| | Supports gpu driven 3 d.
|
| |
| bool | gpuDrivenEnabled () const override |
| | Gpu driven enabled.
|
| |
| void | gpuDrivenSetEnabled (bool enabled) override |
| | Gpu driven set enabled.
|
| |
| uint32_t | gpuDrivenMeshRecord (Mesh *mesh) override |
| | Gpu driven mesh record.
|
| |
| uint32_t | gpuDrivenMaterialRecord (Material *material) override |
| | Gpu driven material record.
|
| |
| bool | gpuDrivenMaterialUsable (Material *material) override |
| | Gpu driven material usable.
|
| |
| bool | gpuDrivenSubmitOpaque (const GpuInstance *instances, uint32_t instanceCount) override |
| | Gpu driven submit opaque.
|
| |
| GpuResidentSubmitStatus | gpuDrivenSubmitResident (const GpuResidentInstanceBatch &batch) override |
| | Gpu driven submit resident.
|
| |
| bool | gpuDrivenCullEnabled () const override |
| | Gpu driven cull enabled.
|
| |
| bool | gpuDrivenCullBegin (const GpuInstance *instances, uint32_t instanceCount) override |
| | Gpu driven cull begin.
|
| |
| void | gpuDrivenCullEmit (const glm::mat4 &viewProj, const glm::vec3 &eye, float fovYDeg, float nearZ, float farZ) override |
| | Gpu driven cull emit.
|
| |
| void | gpuDrivenDrawOpaque () override |
| | Gpu driven draw opaque.
|
| |
| bool | gpuDrivenResolveWanted () const override |
| | Gpu driven resolve wanted.
|
| |
| void | gpuDrivenRecordVisPass () override |
| | Gpu driven record vis pass.
|
| |
| void | gpuDrivenResolve () override |
| | Gpu driven resolve.
|
| |
| uint32_t | gpuDrivenVgUpload (const GpuVgAssetUpload &asset) override |
| | Gpu driven vg upload.
|
| |
| uint32_t | gpuDrivenVgAssetId (Mesh *mesh) const override |
| | Gpu driven vg asset id.
|
| |
| bool | gpuDrivenVgAttachToMesh (Mesh *mesh, uint32_t vgAssetId) override |
| | Gpu driven vg attach to mesh.
|
| |
| bool | gpuDrivenVgSetInstance (uint32_t vgAssetId, const glm::mat4 &model, uint32_t materialId) override |
| | Gpu driven vg set instance.
|
| |
| void | gpuDrivenVgComputeSection (const glm::mat4 &viewProj, const glm::vec3 &eye, float fovYDeg, float nearZ, float farZ) override |
| | Gpu driven vg compute section.
|
| |
| uint32_t | debugGpuDrivenVisibleCount () const |
| | Return the last CPU compatibility-cull result for backend parity tests.
|
| |
| uint32_t | debugGpuDrivenDispatchCount () const |
| | Return instances dispatched by the last WebGPU compute cull.
|
| |
| uint32_t | debugGpuDrivenIndirectDrawCount () const |
| | Return indexed-indirect commands recorded by the last scene pass.
|
| |
| uint32_t | debugGpuDrivenGpuVisibleCount () |
| | Read back the last GPU-written indirect instance total (native tests).
|
| |
| uint32_t | debugGpuDrivenHzbMipCount () const |
| | Return the active hierarchical-depth mip count for conformance tests.
|
| |
| uint32_t | debugGpuDrivenVgDispatchCount () const |
| | Return VG clusters dispatched by the last WebGPU compute section.
|
| |
| uint32_t | debugGpuDrivenVgIndirectDrawCount () const |
| | Return per-cluster indirect commands recorded by the VG visibility pass.
|
| |
| uint32_t | debugGpuDrivenVgGpuVisibleCount () |
| | Read back the last VG indirect instance total (native tests).
|
| |
| Result< void > | gpuDrivenReleaseMaterialRecord (Material *material) override |
| | Gpu driven release material record.
|
| |
| Result< void > | debugValidatePbrVariantBaseSources () |
| | Compile the generated full PBR WGSL stages under a validation scope.
|
| |
| Result< void > | debugValidatePbrVariantSources (const PbrVariantSources &sources) |
| | Compile caller-provided PBR WGSL stages under a validation scope.
|
| |
| Result< void > | debugValidatePbrVariantPipeline (const PbrVariantSources &sources) |
| | Compile and link a specialized PBR pair through a real Dawn render pipeline.
|
| |
| void | initHeadless (int width, int height) override |
| | Initialize the renderer without a window or swapchain (headless mode). Creates a GPU device and offscreen render targets; present() becomes a no-op. Rendering goes through Canvas + readback (newImageData / readPixels).
|
| |
| void | initWithWindow (void *nativeWindow) override |
| | Initializes with window.
|
| |
| void | present () override |
| | Present.
|
| |
| void | pushValidationScope () override |
| | Pushes validation scope.
|
| |
| void | popValidationScope () override |
| | Pops validation scope.
|
| |
| void | setMsaaSamples (int samples) override |
| | Sets the msaa samples.
|
| |
| void | requestSurfaceRecreate () override |
| | Request surface recreate.
|
| |
| void | setVSync (bool enabled) override |
| | Sets the v sync.
|
| |
| int | getMsaaSamples () const override |
| | Returns the msaa samples.
|
| |
| void | setViewportSize (int width, int height, int pixelwidth, int pixelheight) override |
| | Sets the viewport size.
|
| |
| void | drawSolidRect (float x, float y, float w, float h, const Color &color, BlendMode blend=BlendMode::Alpha) override |
| | Draws solid rect.
|
| |
| void | drawPrimitiveCanvas (const PrimitiveCanvas2D &canvas) override |
| | Draws primitive canvas.
|
| |
| void | drawSolidRectRotated (float cx, float cy, float w, float h, float degrees, const Color &color, BlendMode blend=BlendMode::Alpha) override |
| | Draws solid rect rotated.
|
| |
| Texture * | newTexture (int width, int height, const uint8_t *rgba, bool repeatU=false, bool repeatV=false) override |
| | Creates a texture. @ownership Caller deletes unless documented otherwise.
|
| |
| Texture * | newTexture (int width, int height, const uint8_t *rgba, const TextureCreateInfo &info) override |
| | Creates a texture. @ownership Caller deletes unless documented otherwise.
|
| |
| Result< Texture * > | newTextureMipChain (uint32_t width, uint32_t height, uint32_t levels, std::span< const uint8_t > rgba) override |
| | Upload complete explicit linear RGBA8 mips without regenerating pixels.
|
| |
| Result< Texture * > | newTextureArrayRgba16f (uint32_t width, uint32_t height, uint32_t layers, std::span< const uint16_t > rgbaHalf) override |
| | Upload a sampled 2D array of tightly packed linear RGBA16F texels.
|
| |
| Result< Texture * > | newTexture3DRgba8 (uint32_t width, uint32_t height, uint32_t depth, std::span< const uint8_t > rgba) override |
| | Upload one tightly packed linear RGBA8 3D sampled texture.
|
| |
| Texture * | newCubemap (int faceSize, const uint8_t *rgbaFaces) override |
| | Creates a cubemap. @ownership Caller deletes unless documented otherwise.
|
| |
| Texture * | newCubemap (int faceSize, const uint8_t *rgbaFaces, const TextureCreateInfo &info) override |
| | Creates a cubemap. @ownership Caller deletes unless documented otherwise.
|
| |
| Texture * | newHDRCubemap (int faceSize) override |
| | Creates a hdr cubemap. @ownership Caller deletes unless documented otherwise.
|
| |
| bool | copyHDRCanvasToCubemapFace (Canvas *source, Texture *cubemap, int face) override |
| | Copies hdr canvas to cubemap face.
|
| |
| bool | copyHDRCanvasesToCubemap (Canvas *const *sources, int faceCount, Texture *cubemap) override |
| | Copies hdr canvases to cubemap.
|
| |
| bool | filterHDRReflectionCubemap (Texture *cubemap, int sampleCount=64) override |
| | Filter hdr reflection cubemap.
|
| |
| Texture * | newTexture (image::ImageData *data) override |
| | Creates a texture. @ownership Caller deletes unless documented otherwise.
|
| |
| Texture * | newTexture (image::ImageData *data, const TextureCreateInfo &info) override |
| | Creates a texture. @ownership Caller deletes unless documented otherwise.
|
| |
| ResultRef< Texture > | newSharedTexture (image::ImageData *data, const std::string &contentKey) override |
| | Reuse immutable imported pixels. Graphics owns the returned texture until release or shutdown.
|
| |
| void | setTextureSampler (Texture *texture, const TextureSampler &sampler) override |
| | Sets the texture sampler.
|
| |
| float | getMaxAnisotropy () const override |
| | Returns the max anisotropy.
|
| |
| Texture * | newTextureFromFile (const std::string &filename) override |
| | Creates a texture from file. @ownership Caller deletes unless documented otherwise.
|
| |
| bool | reloadTextureFromFile (const std::string &filename) override |
| | Reloads texture from file.
|
| |
| bool | uploadDeferredFileTexture (Texture *texture, image::ImageData *data) override |
| | Uploads deferred file texture.
|
| |
| bool | releaseTexture (Texture *texture) override |
| | Release texture.
|
| |
| bool | updateTexture (Texture *texture, int width, int height, const uint8_t *rgba) override |
| | Updates texture.
|
| |
| eve::Result< void > | updateTextureRegion (Texture *texture, int x, int y, int width, int height, std::span< const std::uint8_t > rgba, std::size_t bytesPerRow=0) override |
| | Updates texture region.
|
| |
| eve::Result< void > | updateTextureRegions (Texture *texture, std::span< const TextureRegionUpload > regions) override |
| | Updates texture regions.
|
| |
| void | drawTexturedRect (Texture *texture, float x, float y, float w, float h, const Color &color) override |
| | Draws textured rect.
|
| |
| void | drawTexturedRectShader (Texture *texture, Shader *shader, float x, float y, float w, float h, const Color &color) override |
| | Draws textured rect shader.
|
| |
| void | drawTexturedRectUV (Texture *texture, float x, float y, float w, float h, float u0, float v0, float u1, float v1, const Color &color) override |
| | Draws textured rect uv.
|
| |
| void | drawTexturedRectShaderUV (Texture *texture, Shader *shader, float x, float y, float w, float h, float u0, float v0, float u1, float v1, const Color &color, bool rotatedUV=false, BlendMode blend=BlendMode::Alpha) override |
| | Draws textured rect shader uv.
|
| |
| void | drawTexturedRectShaderUVRotated (Texture *texture, Shader *shader, float cx, float cy, float w, float h, float degrees, float u0, float v0, float u1, float v1, const Color &color, bool rotatedUV=false, BlendMode blend=BlendMode::Alpha) override |
| | Draws textured rect shader uv rotated.
|
| |
| void | drawTexturedRectShaderDepth (Texture *color, Texture *depth, Shader *shader, float x, float y, float w, float h, const Color &tint) override |
| | Draws textured rect shader depth.
|
| |
| void | drawTexturedRectShaderDepthMotion (Texture *color, Texture *depth, Texture *motion, Shader *shader, float x, float y, float w, float h, const Color &tint) override |
| | Draws textured rect shader depth motion.
|
| |
| void | drawTexturedRectShader4 (Texture *color, Texture *depth, Texture *motion, Texture *extra, Shader *shader, float x, float y, float w, float h, const Color &tint) override |
| | Draws textured rect shader 4.
|
| |
| void | drawTexturedRectShader5 (Texture *color, Texture *depth, Texture *motion, Texture *extra, Texture *specular, Shader *shader, float x, float y, float w, float h, const Color &tint) override |
| | Draws textured rect shader 5.
|
| |
| void | drawTexturedRectLitUV (Texture *albedo, Texture *normal, float x, float y, float w, float h, float u0, float v0, float u1, float v1, const Color &color, BlendMode blend=BlendMode::Alpha) override |
| | Draws textured rect lit uv.
|
| |
| void | drawTexturedRectLitUVRotated (Texture *albedo, Texture *normal, float cx, float cy, float w, float h, float degrees, float u0, float v0, float u1, float v1, const Color &color, BlendMode blend=BlendMode::Alpha) override |
| | Draws textured rect lit uv rotated.
|
| |
| void | setLighting2D (const Lighting2DUBO &ubo) override |
| | Sets the lighting 2 d.
|
| |
| Shader * | newShaderFromSpv (const std::vector< uint32_t > &vertSpv, const std::vector< uint32_t > &fragSpv) override |
| | Creates a shader from spv. @ownership Caller deletes unless documented otherwise.
|
| |
| Shader * | newShaderFromSpvFile (const std::string &vertPath, const std::string &fragPath) override |
| | Creates a shader from spv file. @ownership Caller deletes unless documented otherwise.
|
| |
| Shader * | newShaderFromWgsl (const std::string &vertWgsl, const std::string &fragWgsl) override |
| | Creates a shader from wgsl. @ownership Caller deletes unless documented otherwise.
|
| |
| Result< void > | replaceShaderFromSpv (Shader &shader, const std::vector< uint32_t > &vertSpv, const std::vector< uint32_t > &fragSpv) override |
| | Replace shader from spv.
|
| |
| Result< void > | replaceShaderFromWgsl (Shader &shader, const std::string &vertWgsl, const std::string &fragWgsl) override |
| | Replace shader from wgsl.
|
| |
| Result< void > | replaceShaderFromGlsl (Shader &shader, const std::string &vertGlsl, const std::string &fragGlsl) override |
| | Replace shader from glsl.
|
| |
| Shader * | newShader (const std::string &vertGlsl, const std::string &fragGlsl) override |
| | Creates a shader. @ownership Caller deletes unless documented otherwise.
|
| |
| Shader * | newMeshShaderFromSpv (const std::vector< uint32_t > &vertSpv, const std::vector< uint32_t > &fragSpv) override |
| | Creates a mesh shader from spv. @ownership Caller deletes unless documented otherwise.
|
| |
| Shader * | newMeshShaderFromWgsl (const std::string &vertWgsl, const std::string &fragWgsl) override |
| | Creates a mesh shader from wgsl. @ownership Caller deletes unless documented otherwise.
|
| |
| eve::Result< void > | configureMeshShaderSurface (Shader &shader, BlendMode blend, bool depthWrite, bool doubleSided) override |
| | Configure mesh shader surface.
|
| |
| Shader * | newMeshShader (const std::string &vertGlsl, const std::string &fragGlsl) override |
| | Creates a mesh shader. @ownership Caller deletes unless documented otherwise.
|
| |
| Shader * | newHairShaderFromSpv (const std::vector< uint32_t > &vertSpv, const std::vector< uint32_t > &fragSpv) override |
| | Creates a hair shader from spv. @ownership Caller deletes unless documented otherwise.
|
| |
| Shader * | newHairShaderFromWgsl (const std::string &vertWgsl, const std::string &fragWgsl) override |
| | Creates a hair shader from wgsl. @ownership Caller deletes unless documented otherwise.
|
| |
| bool | releaseShader (Shader *shader) override |
| | Release shader.
|
| |
| Mesh * | newMeshFromAssimp (const ::aiMesh &mesh) override |
| | Creates a mesh from assimp. @ownership Caller deletes unless documented otherwise.
|
| |
| Mesh * | newMeshFromAssimp (const ::aiMesh &mesh, const aiMatrix4x4 &worldTransform) override |
| | Creates a mesh from assimp. @ownership Caller deletes unless documented otherwise.
|
| |
| Mesh * | newMeshFromArrays (const float *posXYZ, const float *nrmXYZ, const float *uvST, int vertexCount, const uint32_t *indices, int indexCount) override |
| | Creates a mesh from arrays. @ownership Caller deletes unless documented otherwise.
|
| |
| Mesh * | newMeshFromArraysColored (const float *posXYZ, const float *nrmXYZ, const float *uvST, const float *colorRGBA, int vertexCount, const uint32_t *indices, int indexCount) override |
| | Create a mesh with a packed linear RGBA vertex-color stream.
|
| |
| std::optional< eve::graphics::MeshBackendDescriptor > | describeMesh (Mesh *mesh) const override |
| | Return layout facts from the owned WebGPU mesh upload.
|
| |
| bool | bakeMeshMorph (Mesh *mesh) override |
| | If mesh morph weights are dirty, bake blended positions and upload to the GPU VBO. Returns true when an upload happened. No-op when no morph data / not dirty / null.
|
| |
| bool | updateMeshVertices (Mesh *mesh, const float *posXYZ, const float *nrmXYZ, const float *uvST, int vertexCount, const uint32_t *indices, int indexCount) override |
| | Updates mesh vertices.
|
| |
| bool | setMeshSkinningData (Mesh *mesh, const uint16_t *joints4, const float *weights4, int vertexCount) override |
| | Sets the mesh skinning data.
|
| |
| Mesh * | newMeshSphere (int slices=32, int stacks=16) override |
| | Creates a mesh sphere. @ownership Caller deletes unless documented otherwise.
|
| |
| Mesh * | newMeshCylinder (int slices=32, int stacks=1, bool caps=true) override |
| | Creates a mesh cylinder. @ownership Caller deletes unless documented otherwise.
|
| |
| bool | releaseMesh (Mesh *mesh) override |
| | Release mesh.
|
| |
| void | begin3DFrame () override |
| | Begins 3 d frame.
|
| |
| void | begin3DFrameToCanvas (Canvas *canvas) override |
| | Begins 3 d frame to canvas.
|
| |
| void | end3DFrameToCanvas () override |
| | Ends 3 d frame to canvas.
|
| |
| void | drawPrimitiveScene (const PrimitiveSceneCanvas3D &canvas) override |
| | Draws primitive scene.
|
| |
| float | getLastOffscreen3DGpuDurationMs () const override |
| | Returns the last offscreen 3 d gpu duration ms.
|
| |
| void | setMesh3DViewProj (const glm::mat4 &viewProj) override |
| | Sets the mesh 3 d view proj.
|
| |
| void | setMesh3DView (const glm::mat4 &view) override |
| | Sets the mesh 3 d view.
|
| |
| void | setMesh3DClip (float nearZ, float farZ) override |
| | Sets the mesh 3 d clip.
|
| |
| Texture * | getSceneColorTexture () override |
| | Returns the scene color texture.
|
| |
| Texture * | getSceneLinearDepthTexture () override |
| | Return the active sampleable scene linear-depth texture when available. @ownership Borrowed from the active render targets; the caller must not delete it. @lifetime Valid until render-target recreation or Graphics destruction.
|
| |
| void | drawMesh (Mesh *mesh, const glm::mat4 &model, Texture *texture, const Color &tint) override |
| | Draws mesh.
|
| |
| void | drawMeshShader (Mesh *mesh, const glm::mat4 &model, Texture *texture, const Color &tint, Shader *shader) override |
| | Draws mesh shader.
|
| |
| void | drawVoxelFaceInstances (const uint32_t *packed, int count, float originX, float originY, float originZ, const std::string &faceDir, Texture *atlas, int tilesPerRow=16, const uint32_t *ao=nullptr) override |
| | Draws voxel face instances.
|
| |
| void | setMesh3DNormalTexture (Texture *normal) override |
| | Sets the mesh 3 d normal texture.
|
| |
| void | setMesh3DPackedNormalMask (bool enabled) override |
| | Sets the mesh 3 d packed normal mask.
|
| |
| void | setMesh3DHeightTexture (Texture *height) override |
| | Sets the mesh 3 d height texture.
|
| |
| void | setMesh3DVirtualTexture (bool enabled, int pageCountX, int pageCountY, int atlasSlotsX, int atlasSlotsY, float borderFraction) override |
| | Sets the mesh 3 d virtual texture.
|
| |
| void | setMesh3DSceneDepth (Texture *depth) override |
| | Sets the mesh 3 d scene depth.
|
| |
| void | setMesh3DSceneColor (Texture *color) override |
| | Sets the mesh 3 d scene color.
|
| |
| Mesh3DSceneColorCaptureStatus | captureMesh3DSceneColor () override |
| | Capture mesh 3 d scene color.
|
| |
| void | setMesh3DMaterial (float metallic, float roughness) override |
| | Sets the mesh 3 d material.
|
| |
| Result< void > | setMesh3DPbrSurface (const PbrSurface *surface) override |
| | Sets the mesh 3 d pbr surface.
|
| |
| void | setMesh3DSurface (SurfaceMode mode, BlendMode blend, bool depthWrite, bool doubleSided, float alphaCutoff, const std::string &alphaTechnique="cutoff") override |
| | Sets the mesh 3 d surface.
|
| |
| void | setMesh3DTexCellBomb (float cellScale, float strength, float rotAmount=1.f) override |
| | Sets the mesh 3 d tex cell bomb.
|
| |
| void | setMesh3DParallax (float scale, float minLayers=8.f, float maxLayers=32.f) override |
| | Sets the mesh 3 d parallax.
|
| |
| void | setMesh3DLodDither (float weight, bool reverse, bool enabled) override |
| | Sets the mesh 3 d lod dither.
|
| |
| void | setMesh3DLighting (const Lighting3DPack &pack) override |
| | Sets the mesh 3 d lighting.
|
| |
| void | setCloudShadows (float strength, float worldCell, float time, float windSpeed, float windAngle, float coverage, float detail) override |
| | Sets the cloud shadows.
|
| |
| void | setMesh3DClusteredLighting (const ClusteredLightingUpload &upload) override |
| | Sets the mesh 3 d clustered lighting.
|
| |
| void | setMesh3DClusteredActive (bool active) override |
| | Sets the mesh 3 d clustered active.
|
| |
| void | setMesh3DSSAO (float intensity) override |
| | Sets the mesh 3 dssao.
|
| |
| void | setMesh3DLight (const glm::vec3 &dir, const glm::vec3 &color) override |
| | Sets the mesh 3 d light.
|
| |
| void | setMesh3DCameraPos (const glm::vec3 &eye) override |
| | Sets the mesh 3 d camera pos.
|
| |
| void | setMesh3DEnv (Texture *cube, float intensity) override |
| | Sets the mesh 3 d env.
|
| |
| void | setMesh3DEnvProbe (const glm::vec3 ¢er, const glm::vec3 &extent) override |
| | Sets the mesh 3 d env probe.
|
| |
| void | setMesh3DReflectionProbes (const ReflectionProbeUpload &upload) override |
| | Sets the mesh 3 d reflection probes.
|
| |
| void | setSceneExposure (float exposure) override |
| | Sets the scene exposure.
|
| |
| float | getSceneExposure () const override |
| | Returns the scene exposure.
|
| |
| void | setSceneColorFilter (const glm::vec3 &color) override |
| | Sets the scene color filter.
|
| |
| glm::vec3 | getSceneColorFilter () const override |
| | Returns the scene color filter.
|
| |
| void | setSceneLiftGammaGain (const glm::vec3 &lift, const glm::vec3 &inverseGamma, const glm::vec3 &gain) override |
| | Sets the scene lift gamma gain.
|
| |
| glm::vec3 | getSceneLift () const override |
| | Returns the scene lift.
|
| |
| glm::vec3 | getSceneInverseGamma () const override |
| | Returns the scene inverse gamma.
|
| |
| glm::vec3 | getSceneGain () const override |
| | Returns the scene gain.
|
| |
| void | setSceneTransitionFx (float vignette, float vignetteSmoothness, float lensDistortion, float lensScale) override |
| | Sets the scene transition fx.
|
| |
| float | getSceneTransitionVignette () const override |
| | Returns the scene transition vignette.
|
| |
| float | getSceneTransitionVignetteSmoothness () const override |
| | Returns the scene transition vignette smoothness.
|
| |
| float | getSceneTransitionLensDistortion () const override |
| | Returns the scene transition lens distortion.
|
| |
| float | getSceneTransitionLensScale () const override |
| | Returns the scene transition lens scale.
|
| |
| void | setSceneAutoExposure (bool enabled, float minEV, float maxEV) override |
| | Sets the scene auto exposure.
|
| |
| bool | getSceneAutoExposure () const override |
| | Returns the scene auto exposure.
|
| |
| float | getSceneAutoExposureMinEV () const override |
| | Returns the scene auto exposure min ev.
|
| |
| float | getSceneAutoExposureMaxEV () const override |
| | Returns the scene auto exposure max ev.
|
| |
| void | setSceneBloom (float intensity, float threshold) override |
| | Sets the scene bloom.
|
| |
| float | getSceneBloomIntensity () const override |
| | Returns the scene bloom intensity.
|
| |
| float | getSceneBloomThreshold () const override |
| | Returns the scene bloom threshold.
|
| |
| void | setSceneDepthOfField (float focusDistance, float maxBlurPx, float focusRange, float nearZ, float farZ) override |
| | Sets the scene depth of field.
|
| |
| float | getSceneDofFocusDistance () const override |
| | Returns the scene dof focus distance.
|
| |
| float | getSceneDofMaxBlur () const override |
| | Returns the scene dof max blur.
|
| |
| float | getSceneDofFocusRange () const override |
| | Returns the scene dof focus range.
|
| |
| float | getSceneDofNearZ () const override |
| | Returns the scene dof near z.
|
| |
| float | getSceneDofFarZ () const override |
| | Returns the scene dof far z.
|
| |
| void | setMesh3DShadows (const ShadowUpload &upload) override |
| | Sets the mesh 3 d shadows.
|
| |
| void | setMesh3DShadowReceive (bool receive) override |
| | Sets the mesh 3 d shadow receive.
|
| |
| void | setMesh3DSkinInfluenceLimit (SkinInfluenceLimit count) override |
| | Sets the mesh 3 d skin influence limit.
|
| |
| void | beginShadowPass (int cascadeIndex) override |
| | Begins shadow pass.
|
| |
| void | drawMeshShadow (Mesh *mesh, const glm::mat4 &lightMVP, bool doubleSided=true) override |
| | Draws mesh shadow.
|
| |
| void | drawMeshShadowAlpha (Mesh *mesh, const glm::mat4 &lightMVP, Texture *albedo=nullptr, bool doubleSided=true, float lodWeight=1.f, bool lodFadeReverse=false, bool lodDither=false) override |
| | Draws mesh shadow alpha.
|
| |
| void | endShadowPass () override |
| | Ends shadow pass.
|
| |
| void | beginGBufferPass (int width, int height) override |
| | Begins g buffer pass.
|
| |
| void | drawMeshGBuffer (Mesh *mesh, const glm::mat4 &mvp, const glm::mat4 &model, float nearZ, float farZ, Texture *albedo=nullptr, float tintR=1.f, float tintG=1.f, float tintB=1.f, float motionX=0.f, float motionY=0.f, float roughness=0.45f, float metallic=0.f) override |
| | Draws mesh g buffer.
|
| |
| void | drawMeshGBufferAlpha (Mesh *mesh, const glm::mat4 &mvp, const glm::mat4 &model, float nearZ, float farZ, Texture *albedo=nullptr, float tintR=1.f, float tintG=1.f, float tintB=1.f, float motionX=0.f, float motionY=0.f, float roughness=0.45f, float metallic=0.f) override |
| | Draws mesh g buffer alpha.
|
| |
| void | endGBufferPass () override |
| | Ends g buffer pass.
|
| |
| image::ImageData * | readGBufferToImageData (const std::string &attachment) override |
| | Reads g buffer to image data.
|
| |
| bool | supportsDecal () const override |
| | Supports decal.
|
| |
| void | beginDecalPass (int width, int height) override |
| | Begins decal pass.
|
| |
| void | setDecalCamera (const glm::mat4 &viewProj, float nearZ, float farZ) override |
| | Sets the decal camera.
|
| |
| void | drawDecal (const glm::mat4 &model, Texture *albedo, Texture *normal, Texture *params, const float uvRect[4], float fade, float normalStrength, float roughnessStrength, float metalStrength, float emissiveStrength, int blendMode=0, int projectionMode=0, float blendSharpness=4.f, float parallaxScale=0.f, float parallaxMinLayers=8.f, float parallaxMaxLayers=24.f, float edgeFadeWidth=0.06f) override |
| | Draws decal.
|
| |
| void | endDecalPass () override |
| | Ends decal pass.
|
| |
| image::ImageData * | readDecalLayerToImageData (const std::string &attachment) override |
| | Reads decal layer to image data.
|
| |
| Canvas * | newCanvas (int width, int height) override |
| | Creates a canvas. @ownership Caller deletes unless documented otherwise.
|
| |
| Canvas * | newHDRCanvas (int width, int height) override |
| | Creates a hdr canvas. @ownership Caller deletes unless documented otherwise.
|
| |
| void | setCanvas (Canvas *canvas) override |
| | Sets the canvas.
|
| |
| bool | isCanvasActive () const override |
| | True when canvas active.
|
| |
| Canvas * | getCanvas () const override |
| | Returns the canvas.
|
| |
| Texture * | getTexture () override |
| | Returns the texture.
|
| |
| image::ImageData * | newImageData () override |
| | Creates a image data. @ownership Caller deletes unless documented otherwise.
|
| |
| bool | beginFrameReadback (const std::string &path) override |
| | Begins frame readback.
|
| |
| int | frameReadbackStatus () const override |
| | Frame readback status.
|
| |
| void | pumpReadback () |
| | Advances a pending frame readback; called every present().
|
| |
| void | draw (eve::graphics::Graphics *gfx, const glm::mat4 &matrix) const override |
| | Draws .
|
| |
| void | draw (Canvas *C, const glm::mat4 &matrix) const override |
| | Draws .
|
| |
| void | clear (std::optional< Color > color, std::optional< int > stencil, std::optional< double > depth) override |
| | Clears .
|
| |
| Color | getPixel (int x, int y) override |
| | Returns the pixel.
|
| |
| void | flush2DToCanvas (OffscreenCanvas *canvas) |
| | Flush accumulated 2D batches into an offscreen canvas target.
|
| |
| Color | getPixelImpl (OffscreenCanvas *canvas, int x, int y) |
| | Blocking CPU readback of an offscreen canvas or scene color target.
|
| |
| image::ImageData * | newImageDataImpl (OffscreenCanvas *canvas) |
| | Creates a image data impl. @ownership Caller deletes unless documented otherwise.
|
| |
| image::ImageData * | newHDRImageDataImpl (OffscreenCanvas *canvas) |
| | Blocking linear RGBA16F readback of an HDR offscreen canvas. @ownership The caller owns the returned image data.
|
| |
| wgpu::Instance & | getInstance () |
| | Returns the instance.
|
| |
| wgpu::Device & | getDevice () |
| | Returns the device.
|
| |
| wgpu::Queue & | getQueue () |
| | Returns the queue.
|
| |
| wgpu::Surface & | getSurface () |
| | Returns the surface.
|
| |
| WGPUTextureFormat | getSurfaceFormat () const |
| | Returns the surface format.
|
| |
| void * | getSdlWindow () const |
| | Returns the sdl window.
|
| |
| bool | isReady () const |
| | True when ready.
|
| |
| | Module_REG (Graphics) |
| |
| | Graphics () |
| | Graphics.
|
| |
| | ~Graphics () override |
| | Graphics.
|
| |
| virtual void | reset () |
| | Resets the current color, background color, line style, and so forth.
|
| |
| virtual void | clearScreen () |
| | Script-friendly wrappers (r,g,b[,a] floats — no Color type in Squirrel).
|
| |
| virtual void | setBackgroundColorRGBA (float r, float g, float b, float a=1.f) |
| | Sets the background color rgba.
|
| |
| virtual void | drawSolidRectRGBA (float x, float y, float w, float h, float r, float g, float b, float a=1.f) |
| | Draws solid rect rgba.
|
| |
| virtual void | drawTexturedRectRGBA (Texture *texture, float x, float y, float w, float h, float r, float g, float b, float a=1.f) |
| | Draws textured rect rgba.
|
| |
| virtual void | drawTexturedRectRotatedRGBA (Texture *texture, float cx, float cy, float w, float h, float degrees, float r, float g, float b, float a=1.f) |
| | 绕矩形中心旋转 degrees 度(顺时针,屏幕 Y 向下)的贴图绘制。
|
| |
| virtual void | drawSolidRect (float x, float y, float w, float h, float r, float g, float b, float a=1.f) |
| | RGBA-float overload matching the script-facing drawSolidRect name.
|
| |
| virtual void | drawTexturedRect (Texture *texture, float x, float y, float w, float h, float r, float g, float b, float a=1.f) |
| | RGBA-float overload matching the script-facing drawTexturedRect name.
|
| |
| void | renderSprites () |
| | Draw all live Sprite2D entities into the current frame without presenting.
|
| |
| Renderable2D * | newSprite2D () |
| | Create a script-facing Sprite2D ECS entity. Call destroy() when done.
|
| |
| Texture * | newTextureFromImageData (image::ImageData *data, bool repeatU=false, bool repeatV=false) |
| | Creates a texture from image data. @ownership Caller deletes unless documented otherwise.
|
| |
| Texture * | newTextureFromImageData (image::ImageData *data, const TextureCreateInfo &info) |
| | Upload RGBA8 ImageData with mipmaps / filter / anisotropy options.
|
| |
| eve::Result< void > | updateTextureFromImageData (Texture *texture, image::ImageData *data) |
| | Upload the current RGBA8 pixels of ImageData into an existing texture in place.
|
| |
| 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) |
| | Script-friendly texture create: filter = "linear"|"nearest", mipmap = "none"|"linear"|"nearest". generateMipmaps builds a full mip chain; maxAnisotropy > 1 enables anisotropic filtering.
|
| |
| virtual void | setTextureSampler (Texture *texture, const std::string &filter, const std::string &mipmap, float maxAnisotropy, float lodBias) |
| | Update sampler state without re-uploading pixels (filter / mip / aniso / LOD bias). Script-facing name is setTextureSampler (see Graphics::expose); this string overload keeps the C++ name identical to the script API.
|
| |
| virtual bool | supportsRuntimeGlslCompilation () const |
| | Whether this backend and build can compile GLSL to SPIR-V at runtime.
|
| |
| std::weak_ptr< const void > | resourceLifetime () const |
| | Observe this provider's resource lifetime without extending it.
|
| |
| Result< eve::Subscription > | onResourcesRetiring (std::function< void()> callback) const |
| | Register cleanup before this provider destroys its GPU device/resources.
|
| |
| virtual bool | supportsRayTracing () const |
| | True when the Vulkan device enabled the KHR ray-tracing path. WebGPU and software devices return false; screen-space reflections remain the portable path.
|
| |
| virtual RayTracingCaps | rayTracingCaps () const |
| | Probed ray-tracing capabilities (empty when unsupported).
|
| |
| virtual uint32_t | gpuDrivenReflectionProbeSlot (Texture *cubemap) |
| | Return/register a bindless cubemap slot for a GPU-driven local probe.
|
| |
| virtual bool | supportsGpuParticles () const |
| | True when this backend supports resident compute + indirect particle draws.
|
| |
| virtual bool | canSubmitGpuParticles () const |
| | True when the current frame topology can accept a GPU particle compute section.
|
| |
| virtual GpuParticleHandle | createGpuParticleEmitter (std::uint32_t capacity) |
| | Allocate backend-owned resident state for one particle emitter.
|
| |
| virtual void | releaseGpuParticleEmitter (GpuParticleHandle handle) |
| | Release a GPU particle emitter. Explicit release may wait for in-flight frames.
|
| |
| virtual void | resetGpuParticleEmitter (GpuParticleHandle handle) |
| | Clear resident state before the next submitted frame.
|
| |
| virtual bool | updateGpuParticleEmitter (GpuParticleHandle handle, const GpuParticleUpdate &update, const GpuParticleSpawn *spawns, std::uint32_t spawnCount) |
| | Upload one simulation step and optional spawn commands. @compatibility Preserves the established GPU-particle boolean submission contract.
|
| |
| virtual bool | drawGpuParticleEmitter (GpuParticleHandle handle, const GpuParticleDraw &draw) |
| | Queue an indirect draw at the current 2D overlay position.
|
| |
| virtual GpuParticleStats | getGpuParticleStats (GpuParticleHandle handle) const |
| | Return the latest fence-complete counters without waiting on the GPU.
|
| |
| virtual bool | gpuDrivenScenePassPending () const |
| | Scene pass opening deferred until after the compute cull section.
|
| |
| virtual void | gpuDrivenOpenScenePass () |
| | Open the scene color pass that begin3DFrame deferred (cull path).
|
| |
| virtual bool | gpuDrivenVgAttachToMesh (Mesh *mesh, std::uint32_t vgAssetId) |
| | Attach an uploaded VG asset to a mesh (routes it to the VG path).
|
| |
| virtual bool | gpuDrivenVgSetInstance (std::uint32_t vgAssetId, const glm::mat4 &model, std::uint32_t materialId) |
| | Register one instance of a VG asset this frame (model + material). The first instance per asset wins; returns false for unknown assets.
|
| |
| virtual bool | isHeadless () const |
| | True when the renderer was initialized via initHeadless().
|
| |
| int | getWidth () const |
| | Returns the width.
|
| |
| int | getHeight () const |
| | Returns the height.
|
| |
| int | getPixelWidth () const |
| | Returns the pixel width.
|
| |
| int | getPixelHeight () const |
| | Returns the pixel height.
|
| |
| double | getCurrentDPIScale () const |
| | Returns the current dpi scale.
|
| |
| double | getScreenDPIScale () const |
| | Returns the screen dpi scale.
|
| |
| std::shared_ptr< PrimitiveScene > | getPrimitiveScene () const noexcept |
| | Returns the authoritative persistent spatial-primitive scene.
|
| |
| virtual eve::Result< void > | updateTextureFromResidentRgba8 (Texture *texture, const GpuResidentBufferView &source, int width, int height) |
| | Copy a same-device resident RGBA8 buffer into an existing texture.
|
| |
| Texture * | newTextureFromFileRepeated (const std::string &filename, bool repeatU, bool repeatV) |
| | Creates a texture from file repeated. @ownership Caller deletes unless documented otherwise.
|
| |
| void | ensureFileTexturesReady () |
| | Finish CPU decode and GPU upload for outstanding newTextureFromFile results. @thread Game/render thread that owns the device.
|
| |
| virtual SceneColorDistortionStatus | drawSceneColorDistortionUVRotated (Texture *displacement, float cx, float cy, float w, float h, float degrees, float u0, float v0, float u1, float v1, float strengthPixels, float opacity, bool rotatedUV=false) |
| | Draws scene color distortion uv rotated.
|
| |
| Quad * | newQuad (int x, int y, int w, int h) |
| | Pixel-space atlas rect. Caller owns Quad* (not tracked by Graphics).
|
| |
| Mesh * | newMeshCube (float size=1.f) |
| | Procedural cube (edge length size, centered at origin, outward CCW for RH Y-up), with per-face normals and a full 0..1 UV per face. Owned by Graphics.
|
| |
| virtual void | render3D () |
| | Run RenderSystem3D (begin3DFrame + draw visible Renderable3D).
|
| |
| virtual void | renderScene3DToCanvas (Canvas *canvas, Camera3D *camera) |
| | Preview-quality 3D pass into an offscreen Canvas (editor viewport): renders visible Renderable3D with camera into canvas, whose texture can then be shown inside a UI Viewport widget. See RenderSystem3D::renderToCanvas.
|
| |
| virtual void | setDirectionalLight (float dx, float dy, float dz, float r=1.f, float g=1.f, float b=1.f) |
| | Sets the directional light.
|
| |
| virtual void | drawScene3DRGBA (float x, float y, float w, float h, float r=1.f, float g=1.f, float b=1.f, float a=1.f) |
| | Composite this frame's 3D scene color into a rect (screen or active Canvas). Call after render3D(); order vs drawSolidRect / drawTexturedRect is preserved. If never called, present() still blits the 3D scene fullscreen under 2D. RGB is blitted opaque (scene A is linear depth, not transparency).
|
| |
| void | drawScene3D (float x, float y, float w, float h) |
| | Script-friendly 4-arg form (simplesquirrel does not apply C++ defaults).
|
| |
| virtual void | drawCanvasRGBA (Canvas *canvas, float x, float y, float w, float h, float r=1.f, float g=1.f, float b=1.f, float a=1.f) |
| | Draw a Canvas color buffer as a textured rect (same batch order as other 2D).
|
| |
| void | drawCanvas (Canvas *canvas, float x, float y, float w, float h) |
| | Draws a Canvas with opaque white tint (script-friendly defaults).
|
| |
| Material * | newMaterial () |
| | Create a Material asset (shading model + textures + PBR knobs). Caller owns Material*; not tracked by Graphics.
|
| |
| RenderControl * | getRenderControl () |
| | Shared compilable 3D render control (features → pass list + GBuffer). Owned by Graphics; valid for the module lifetime.
|
| |
| virtual image::ImageData * | renderEntityIdMask (const std::vector< EntityIdDraw > &draws, const glm::mat4 &viewProj, int w, int h) |
| | Renders entity id mask.
|
| |
| virtual Result< void > | drawMeshShaderInstances (Mesh &mesh, Shader &shader, const glm::mat4 &model, const Color &tint, std::uint32_t first, std::uint32_t count) |
| | Draw a checked range from a resource shader's immutable instance matrix buffer. @ownership Mesh and Shader remain Graphics-owned; references are borrowed only for this call. @lifetime GPU copies remain alive through submission under Graphics resource ownership. @thread Render thread, inside an open 3D pass; no script callbacks or reentrancy.
|
| |
| virtual Result< void > | setSceneToneMapping (SceneToneMapping mode) |
| | Set final scene display mapping on the graphics/render thread.
|
| |
| virtual SceneToneMapping | getSceneToneMapping () const |
| | Return the current final display mapping; graphics/render thread only.
|
| |
| virtual Result< void > | setDisplayOutputMode (DisplayOutputMode mode) |
| | Request a present color space on the graphics/render thread.
|
| |
| virtual DisplayOutputMode | getDisplayOutputMode () const |
| | Return the requested present preference.
|
| |
| virtual Result< void > | setDisplayHdrCalibration (float paperWhiteNits, float peakNits) |
| | Set paper-white and peak luminance used by HDR present encoding.
|
| |
| virtual float | getDisplayPaperWhiteNits () const |
| | Paper-white luminance in nits for HDR present encoding.
|
| |
| virtual float | getDisplayPeakNits () const |
| | Peak luminance in nits for HDR present encoding.
|
| |
| virtual DisplayColorSpace | getActiveDisplayColorSpace () const |
| | Color space of the live swapchain after the last rebuild.
|
| |
| virtual bool | isDisplayHdrActive () const |
| | True when the live swapchain is scRGB or HDR10.
|
| |
| virtual Result< DisplayOutputSupport > | queryDisplayOutputSupport () const |
| | Query which present formats the current surface can offer.
|
| |
| virtual Result< void > | setScenePhotographicVignette (float intensity) |
| | Set cosine-fourth photographic vignette intensity in [0,1].
|
| |
| virtual float | getScenePhotographicVignette () const |
| | Return photographic vignette intensity; render thread only.
|
| |
| bool | consumeFrameHad3D () |
| | True after begin3DFrame until present completes.
|
| |
| bool | had3DThisFrame () const |
| | Had 3 d this frame.
|
| |
| Color | getBackgroundColor () const |
| | Returns the background color.
|
| |
| void | setBackgroundColor (const Color &c) |
| | Sets the background color.
|
| |
| virtual void | setScreenReadbackEnabled (bool enabled) |
| | When true, each present copies the swapchain to a CPU buffer for getPixel/newImageData. Default false — full-frame readback is expensive; enable only for tests / tools.
|
| |
| bool | isScreenReadbackEnabled () const |
| | True when screen readback enabled.
|
| |
| bool | saveFramePng (const std::string &path) |
| | Save the last presented frame to a PNG at path. Enables screen readback if needed. Returns false if no presented frame is available or encoding fails.
|
| |
| bool | isVSync () const |
| | True when v sync.
|
| |
| void | setVSyncCount (int count) override |
| | Sets the v sync count.
|
| |
| int | getVSyncCount () const noexcept override |
| | Returns the v sync count.
|
| |
| void | setActive (bool active) override |
| | Pause/resume presenting (Android background / foreground).
|
| |
| bool | isActive () const |
| | True when active.
|
| |
| virtual void | onNativeWindowDestroyed () |
| | Called by the Window module when the native window backing the render surface is destroyed (window close / recreation). Backends that keep a platform surface tied to the native window must drop it here so the next initWithWindow() rebuilds it against a fresh window — even when SDL hands back the same pointer for the recreated window.
|
| |
| void | clearPresentOverlay () |
| | Drop the present overlay callback (window gone; re-register on UI init).
|
| |
| void | addWindowDestroyedCallback (WindowDestroyedCallback cb, void *userdata) |
| | Adds window destroyed callback.
|
| |
| void | setPresentOverlay (PresentOverlayFn fn, void *userdata) |
| | Sets the present overlay.
|
| |
| PresentOverlayFn | getPresentOverlay () const |
| | Returns the present overlay.
|
| |
| void * | getPresentOverlayUser () const |
| | Returns the present overlay user.
|
| |
| Font * | newFont (font::FontData *data, std::string charset=Font::defaultCharset()) |
| | Build a GPU font (glyph atlas texture) from decoded font data. Rasterizes charset (UTF-8, default: printable ASCII) up front; Codepoints outside it still advance in drawText() but aren't drawn. Caller owns Font* (not tracked by Graphics — unlike newTexture / newMesh / newShader handles, which Graphics owns).
|
| |
| virtual void | setFont (Font *font) |
| | Optional shared font used by legacy consumers; nullptr = none set.
|
| |
| Font * | getFont () const |
| | Returns the font.
|
| |
| virtual void | print (const std::string &text, float x, float y, const Color &color=Color(1.f, 1.f, 1.f, 1.f), float scale=1.f) |
| | Draw UTF-8 text with the font selected by setFont().
|
| |
| virtual void | drawText (Font *font, const std::string &text, float x, float y, const Color &color=Color(1.f, 1.f, 1.f, 1.f), float scale=1.f) |
| | Draw UTF-8 text with an explicitly supplied GPU font.
|
| |
| void | drawTextRGBA (Font *font, const std::string &text, float x, float y, float r, float g, float b, float a, float scale=1.f) |
| | Script-friendly UTF-8 text drawing overload using RGBA components.
|
| |
| void | printRGBA (const std::string &text, float x, float y, float r, float g, float b, float a, float scale=1.f) |
| | Script-friendly stateful print overload using RGBA components.
|
| |
| virtual void | setShader (Shader *shader) |
| | Sets the shader.
|
| |
| virtual void | setShader () |
| | Sets the shader.
|
| |
| Shader * | getShader () const |
| | Returns the shader.
|
| |
| Shader * | newShaderFromSpvFile (const std::string &fragPath) |
| | Creates a shader from spv file. @ownership Caller deletes unless documented otherwise.
|
| |
| Shader * | newShader (const std::string &fragGlsl) |
| | Creates a shader. @ownership Caller deletes unless documented otherwise.
|
| |
| virtual Result< void > | replaceMeshShaderResources (Shader &shader, const std::vector< uint32_t > &vertSpv, const std::vector< uint32_t > &fragSpv, const ShaderResourceInputs &resources) |
| | Replace a mesh program and its immutable set-1 resources atomically.
|
| |
| virtual eve::Result< void > | configureMeshShaderRaster (Shader &shader, const MeshShaderRasterState &state) |
| | Transactionally configure an owned ordinary mesh shader's raster state.
|
| |
| Shader * | newMeshShaderVF (const std::string &vertGlsl, const std::string &fragGlsl) |
| | Creates a Mesh3D shader from separate vertex and fragment GLSL sources.
|
| |
| Shader * | newMeshShader (const std::string &fragGlsl) |
| | Creates a mesh shader. @ownership Caller deletes unless documented otherwise.
|
| |
| Shader * | newHairShader () |
| | Built-in hair shader with default anisotropic parameters.
|
| |
| Mesh * | newHairCardMesh (float width=0.12f, float height=0.45f) |
| | Procedural upright hair/fur card mesh (root at origin, height +Y, face +Z). @ownership Owned by Graphics.
|
| |
| Material * | newHairCardMaterial (Texture *albedo=nullptr) |
| | Material preconfigured for hair cards (transparent, double-sided, hair shader). @ownership Caller owns the Material*; shader is owned by Graphics.
|
| |
| Shader * | newGrassShader () |
| | t3ssel8r-style grass billboard shader (alpha test + shadow two-tone). Owned by Graphics. See grass:: / GrassField.
|
| |
| Shader * | newTreeWindShader () |
| | Create a backend-native tree wind shader using the default Mesh3D PBR fragment stage.
|
| |
| GrassField * | newGrassField () |
| | Dense + sparse stylized grass field. Caller owns GrassField*; its Mesh / Shader / Texture are owned by Graphics.
|
| |
| hair::GroomInstance * | newGroomInstance () |
| | High-quality groom/hair instance (UE GroomComponent analogue). See graphics/hair/ and docs/dev/毛发Groom子系统设计.md. @ownership Caller owns the returned GroomInstance*; its Mesh / Shader / Texture remain owned by Graphics. @lifetime Returned instance is valid until the caller deletes it; Graphics must outlive draws that use its GPU resources.
|
| |
| Waterfall * | newWaterfall () |
| | Flowing waterfall (falling water sheet) with sky reflection, downward velocity streaks and animated foam at the top lip and bottom splash pool. Caller owns Waterfall*; its Mesh / Shader are owned by Graphics.
|
| |
| Water * | newWater () |
| | Dynamic water surface (sky reflection + animated edge waves + middle drop ripples). Caller owns Water*; its Mesh / Shader are owned by Graphics.
|
| |
| Result< void > | configureFoliageWind (Material *material, float directionX, float directionZ, float strength, float bending, float bendingSpeed, float branch, float branchSpeed, float flutter, float flutterSpeed, float fadeDistance, float bendFactor) |
| | Apply a source-derived foliage wind profile using graphics-owned shared field textures. The first successful call uploads one 1x1x9 neutral motion array and one deterministic 4x4 noise texture; subsequent calls reuse them. Existing PBR textures and translucency remain unchanged.
|
| |
| ReflectionProbeCapture * | newReflectionProbeCapture () |
| | Create an incremental six-face HDR reflection-probe capture. @ownership The caller owns the returned capture object.
|
| |
| ReflectionProbeRegistry * | newReflectionProbeRegistry () |
| | Create a scene-level automatic reflection-probe selector. @ownership The caller owns the returned registry.
|
| |
| void | setCanvas () |
| | Sets the canvas.
|
| |
| Volumetric * | newVolumetric () |
| | Volumetric light + fog (screenspace / raymarch / fog). Caller owns Volumetric*; its Shaders are owned by Graphics.
|
| |
| DepthOfField * | newDepthOfField () |
| | Create a caller-owned depth-aware depth-of-field compositor.
|
| |
| AmbientOcclusion * | newAmbientOcclusion () |
| | Screen-space ambient occlusion (ssao / hbao / gtao). Caller owns AmbientOcclusion*; its Shaders are owned by Graphics.
|
| |
| Outline * | newOutline () |
| | Screen-space model outline (t3ssel8r-style) from GBuffer depth + normal. Caller owns Outline*; its Shader is owned by Graphics.
|
| |
| AlphaMask * | newAlphaMask () |
| | Create a script-owned reusable two-texture alpha-mask compositor.
|
| |
| MapFog * | newMapFog () |
| | Create a script-owned SLG / large-map war-fog overlay (dual cloud + mask). @lifetime Caller owns the MapFog*; its Shader is owned by Graphics.
|
| |
| GlobalIllumination * | newGlobalIllumination () |
| | Screen-space single-bounce GI. Caller owns GlobalIllumination*; its Shaders are owned by Graphics.
|
| |
| ScreenSpaceReflection * | newScreenSpaceReflection () |
| | Screen-space reflections (ray-marched over scene color + hw depth). Caller owns ScreenSpaceReflection*; its Shader is owned by Graphics.
|
| |
| AmbientOcclusion * | pipelineAmbientOcclusion () |
| | Pipeline-owned AO / GI / AA used by RenderSystem3D when features "ao" / "gi" / "aa" are enabled. Created on first use; Graphics owns them.
|
| |
| GlobalIllumination * | pipelineGlobalIllumination () |
| | Pipeline global illumination.
|
| |
| ScreenSpaceReflection * | pipelineScreenSpaceReflection () |
| | Pipeline screen space reflection.
|
| |
| AntiAliasing * | pipelineAntiAliasing () |
| | Pipeline anti aliasing.
|
| |
| Bloom * | pipelineBloom () |
| | Pipeline-owned linear-HDR bloom pyramid, created on first use. @lifetime Returned effect remains valid until Graphics shutdown.
|
| |
| DepthOfField * | pipelineDepthOfField () |
| | Pipeline-owned Gaussian depth-of-field, created on first use. @lifetime Returned effect remains valid until Graphics shutdown.
|
| |
| Exposure * | pipelineExposure () |
| | Pipeline-owned GPU exposure metering and eye adaptation. @lifetime Returned effect remains valid until Graphics shutdown.
|
| |
| DepthPyramid * | pipelineDepthPyramid () |
| | Pipeline-owned shared min/max depth hierarchy for screen-space effects. @lifetime Returned effect remains valid until Graphics shutdown.
|
| |
| Texture * | prepareFinalSceneTexture (Texture *scene, Texture *motion=nullptr) |
| | Build the shared linear-HDR AA, DOF, bloom, and exposure result for final ACES. @lifetime Returned texture is Graphics-owned and valid for the current target allocation.
|
| |
| Canvas * | pipelineReflectionComposite (int width, int height) |
| | Return a reusable HDR target for composing screen-space lighting. @lifetime Returned canvas is Graphics-owned and valid for the current target allocation.
|
| |
| void | setFinalSceneTexture (Texture *texture) |
| | Override the HDR source consumed by the next backend scene resolve.
|
| |
| Texture * | takeFinalSceneTexture () |
| | Consume and clear the per-frame HDR scene resolve override. @lifetime Returned texture is borrowed and retains its original owner's lifetime.
|
| |
| Outline * | pipelineOutline () |
| | Pipeline-owned Outline used by RenderSystem3D when the "outline" feature is on.
|
| |
| AntiAliasing * | newAntiAliasing () |
| | Classic image-space AA (FXAA / SMAA / SSAA / NFAA). Caller owns AntiAliasing*; its Shaders are owned by Graphics.
|
| |
| virtual void | draw (Drawable *drawable, const glm::mat4 &m) |
| | Draws .
|
| |
| virtual void | drawOcclusion (Drawable *drawable, const glm::mat4 &m) |
| | Volumetric occlusion helpers (shadow-pass analogue for light shafts). drawOcclusion skips drawables with castOcclusion=false.
|
| |
| virtual void | drawOcclusionSolid (float x, float y, float w, float h) |
| | Draws occlusion solid.
|
| |
| virtual void | drawOcclusionTexture (Texture *texture, float x, float y, float w, float h) |
| | Draws occlusion texture.
|
| |
| void | points (const std::vector< glm::vec2 > &positions, const std::vector< Color > &colors) |
| | Draws a series of points at the specified positions.
|
| |
| void | polyline (const glm::mat4 *vertices, size_t count) |
| | Draws a series of lines connecting the given vertices.
|
| |
| void | rectangle (std::string mode, float x, float y, float w, float h) |
| | Draws a rectangle.
|
| |
| void | rectangle (std::string mode, float x, float y, float w, float h, float rx, float ry, int points) |
| | Variant of rectangle that draws a rounded rectangle.
|
| |
| void | rectangle (std::string mode, float x, float y, float w, float h, float rx, float ry) |
| | Rectangle.
|
| |
| void | circle (std::string mode, float x, float y, float radius, int points) |
| | Draws a circle using the specified arguments.
|
| |
| void | circle (std::string mode, float x, float y, float radius) |
| | Circle.
|
| |
| void | ellipse (std::string mode, float x, float y, float a, float b, int points) |
| | Draws an ellipse using the specified arguments.
|
| |
| void | ellipse (std::string mode, float x, float y, float a, float b) |
| | Ellipse.
|
| |
| void | arc (std::string mode, std::string arcmode, float x, float y, float radius, float angle1, float angle2, int points) |
| | Draws an arc using the specified arguments.
|
| |
| void | arc (std::string mode, std::string arcmode, float x, float y, float radius, float angle1, float angle2) |
| | Arc.
|
| |
| void | polygon (std::string mode, const std::vector< glm::vec2 > &vertices, bool skipLastFilledVertex=true) |
| | Draws a polygon with an arbitrary number of vertices.
|
| |
| void | push (bool all) |
| | Pushes .
|
| |
| void | pop () |
| | Pops .
|
| |
| const glm::mat4 & | getTransform () const |
| | Returns the transform.
|
| |
| const glm::mat4 & | getProjection () const |
| | Returns the projection.
|
| |
| void | rotate (float r) |
| | Rotate.
|
| |
| void | scale (float x, float y=1.0f) |
| | Scale.
|
| |
| void | translate (float x, float y) |
| | Translate.
|
| |
| void | origin () |
| | Origin.
|
| |
| glm::vec2 | transformPoint (glm::vec2 point) |
| | Transform point.
|
| |
| glm::vec2 | inverseTransformPoint (glm::vec2 point) |
| | Inverse transform point.
|
| |
| virtual | ~Module () |
| | Module.
|
| |
| virtual std::string | getName () const =0 |
| | Returns the name.
|
| |
| | Canvas () |
| | Constructs a Canvas.
|
| |
| | ~Canvas () override |
| | Releases Canvas resources.
|
| |
| virtual image::ImageData * | newHDRImageData () |
| | Copy an HDR Canvas as linear RGBA16F without tone mapping.
|
| |
| virtual | ~Drawable () |
| | Releases Drawable resources.
|
| |
| bool | getCastOcclusion () const |
| | When false, skipped by Graphics::drawOcclusion / volumetric occluder passes.
|
| |
| void | setCastOcclusion (bool cast) |
| | Sets the cast occlusion.
|
| |
| virtual void | drawOcclusion (Graphics *gfx, const glm::mat4 &matrix) const |
| | Draw as an opaque black silhouette for volumetric occlusion maps (screen-space god rays / light shafts). Default is a no-op; Texture / Mesh override with 2D black rects (alpha preserved for textures).
|
| |
| virtual | ~IWindowSurfaceHost ()=default |
| | I window surface host.
|
| |
| virtual | ~IGraphics2D ()=default |
| | Releases IGraphics2D resources.
|
| |
| virtual | ~IGraphics3D ()=default |
| | Releases IGraphics3D resources.
|
| |
| virtual | ~ICanvasFactory ()=default |
| | Releases ICanvasFactory resources.
|
| |
| virtual | ~ICanvasTarget ()=default |
| | Releases ICanvasTarget resources.
|
| |
| virtual | ~IResourceFactory ()=default |
| | Releases IResourceFactory resources.
|
| |
| virtual | ~ISolidRectRenderer ()=default |
| | Releases ISolidRectRenderer resources.
|
| |
| virtual | ~IPostFX ()=default |
| | Releases IPostFX resources.
|
| |
| virtual | ~IFramePresentation ()=default |
| | Releases IFramePresentation resources.
|
| |