EVENGINE_API_BACKENDS public API. 更多...
#include <Graphics.h>
类 | |
| struct | GpuParticleResource |
| struct | LitBatch |
| LitBatch public API. 更多... | |
| struct | PbrResources |
Public 成员函数 | |
| Graphics () | |
| Starts asynchronous VkInstance creation (overlaps later window init). | |
| ~Graphics () override | |
| Graphics. | |
| void | initGpuTiming () |
| Creates the GPU timestamp query pool; call after device init. | |
| void | writeGpuTimestampBegin () |
| Writes a begin timestamp into the current present command buffer. | |
| void | writeGpuTimestampEnd () |
| Writes an end timestamp into the current present command buffer. | |
| void | readGpuFrameTiming () |
| Reads the query results after the frame's submit has completed. | |
| bool | gpuTimingAvailable () const override |
| Gpu timing available. | |
| float | gpuFrameMs () const override |
| Gpu frame ms. | |
| std::string | getBackendName () const override |
| Returns the backend name. | |
| bool | supportsRuntimeGlslCompilation () const override |
| Supports runtime glsl compilation. | |
| void | initWithWindow (void *nativeWindow) override |
| Initializes with window. | |
| void | initHeadless (int width, int height) override |
| Initializes headless. | |
| bool | isHeadless () const override |
| True when headless. | |
| void | present () override |
| Present. | |
| void | requestSurfaceRecreate () override |
| Request surface recreate. | |
| void | onNativeWindowDestroyed () override |
| On native window destroyed. | |
| void | setScreenReadbackEnabled (bool enabled) override |
| Sets the screen readback enabled. | |
| void | setVSync (bool enabled) override |
| Sets the v sync. | |
| void | setMsaaSamples (int samples) override |
| Sets the msaa samples. | |
| int | getMsaaSamples () const override |
| Returns the msaa samples. | |
| void | setViewportSize (int width, int height, int pixelwidth, int pixelheight) override |
| Sets the viewport size. | |
| const GpuDrivenCaps & | gpuDrivenCaps () const |
| Capabilities probed at device creation; empty when unavailable. | |
| const RayTracingCaps & | rayTracingCapsRef () const |
| Hardware ray-tracing capabilities probed at device creation. | |
| RayTracingCaps | rayTracingCaps () const override |
| Ray tracing caps. | |
| bool | supportsRayTracing () const override |
| Supports ray tracing. | |
| FrameArena & | currentFrameArena () |
| Per-frame arena for the current swapchain frame slot. | |
| uint32_t | materialTableGetOrCreate (eve::graphics::Material *material) |
| Get (or lazily create) the GPU material-table slot for a material. | |
| void | syncMaterialTable () |
| Upload all registered material records to the GPU table. | |
| uint32_t | bindlessSlot2D (const GpuTexture *tex) const |
| Bindless slot 2 d. | |
| uint32_t | bindlessSlotCube (const GpuTexture *tex) const |
| Bindless slot cube. | |
| bool | supportsGpuDriven3D () const override |
| Supports gpu driven 3 d. | |
| bool | supportsDeferredLighting () const override |
| Supports deferred lighting. | |
| void | drawDeferredLighting () override |
| Draws deferred lighting. | |
| 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. | |
| Result< void > | gpuDrivenReleaseMaterialRecord (Material *material) override |
| Gpu driven release material record. | |
| uint32_t | gpuDrivenReflectionProbeSlot (Texture *cubemap) override |
| Gpu driven reflection probe slot. | |
| bool | gpuDrivenSubmitOpaque (const GpuInstance *instances, uint32_t instanceCount) override |
| Gpu driven submit opaque. | |
| GpuResidentSubmitStatus | gpuDrivenSubmitResident (const GpuResidentInstanceBatch &batch) override |
| Gpu driven submit resident. | |
| Texture * | getSceneLinearDepthTexture () override |
| Returns the scene linear depth texture. | |
| bool | supportsGpuParticles () const override |
| Supports gpu particles. | |
| bool | canSubmitGpuParticles () const override |
| Can submit gpu particles. | |
| GpuParticleHandle | createGpuParticleEmitter (std::uint32_t capacity) override |
| Creates gpu particle emitter. | |
| void | releaseGpuParticleEmitter (GpuParticleHandle handle) override |
| Release gpu particle emitter. | |
| void | resetGpuParticleEmitter (GpuParticleHandle handle) override |
| Resets gpu particle emitter. | |
| bool | updateGpuParticleEmitter (GpuParticleHandle handle, const GpuParticleUpdate &update, const GpuParticleSpawn *spawns, std::uint32_t spawnCount) override |
| Updates gpu particle emitter. | |
| bool | drawGpuParticleEmitter (GpuParticleHandle handle, const GpuParticleDraw &draw) override |
| Draws gpu particle emitter. | |
| GpuParticleStats | getGpuParticleStats (GpuParticleHandle handle) const override |
| Returns the gpu particle stats. | |
| uint32_t | debugBindlessIndex (Texture *tex) const |
| Test/debug helpers (valid when the GPU-driven path is live). | |
| uint32_t | debugMeshRecordIndex (Mesh *mesh) const |
| Debug mesh record index. | |
| uint32_t | debugLastGpuDrivenDrawCount () const |
| Indirect draws emitted by the last successful GPU-driven submit. | |
| void | waitForSharedGpuResources () |
| Block until all in-flight GPU work (all frames) has completed. | |
| bool | gpuDrivenCullEnabled () const |
| Stage 2 cull is live for this frame (GPU-written commands). | |
| bool | gpuDrivenScenePassPending () const |
| Scene color pass is deferred until after the compute cull section. | |
| bool | gpuDrivenCullBegin (const GpuInstance *instances, uint32_t instanceCount) |
| Gpu driven cull begin. | |
| void | gpuDrivenCullEmit (const glm::mat4 &viewProj, const glm::vec3 &eye, float fovYDeg, float nearZ, float farZ) |
| Gpu driven cull emit. | |
| void | gpuDrivenOpenScenePass () |
| Gpu driven open scene pass. | |
| void | gpuDrivenDrawOpaque () |
| Gpu driven draw opaque. | |
| bool | gpuDrivenResolveWanted () const override |
| Stage 3: vis+resolve live for this frame (opt-in, 1x scene pass). | |
| 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 | debugGpuDrivenVgVisibleCount () const |
| Debug readback: visible VG clusters from the last cull. | |
| uint32_t | debugGpuDrivenVisibleCount () const |
| Debug readback: visible instances / non-empty buckets from the last cull. | |
| uint32_t | debugGpuDrivenCulledDrawCount () const |
| Debug gpu driven culled draw count. | |
| 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. | |
| void | pushValidationScope () override |
| Pushes validation scope. | |
| void | popValidationScope () override |
| Pops validation scope. | |
| 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 |
| Creates a texture mip chain. @ownership Caller deletes unless documented otherwise. | |
| Result< Texture * > | newTextureArrayRgba16f (uint32_t width, uint32_t height, uint32_t layers, std::span< const uint16_t > rgbaHalf) override |
| Creates a texture array rgba 16 f. @ownership Caller deletes unless documented otherwise. | |
| Result< Texture * > | newTexture3DRgba8 (uint32_t width, uint32_t height, uint32_t depth, std::span< const uint8_t > rgba) override |
| Creates a texture 3 d rgba 8. @ownership Caller deletes unless documented otherwise. | |
| 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 > | updateTextureFromResidentRgba8 (Texture *texture, const GpuResidentBufferView &source, int width, int height) override |
| Updates texture from resident rgba 8. | |
| 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. | |
| bool | replaceTexturePixels (Texture *tex, image::ImageData *data) |
| Replace texture pixels. | |
| bool | replaceTexturePixelsRGBA (Texture *tex, int w, int h, const uint8_t *rgba) |
| Replace texture pixels rgba. | |
| 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. | |
| 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) override |
| Draws scene color distortion uv rotated. | |
| 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 * | 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. | |
| 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 > | replaceMeshShaderResources (Shader &shader, const std::vector< uint32_t > &vertSpv, const std::vector< uint32_t > &fragSpv, const ShaderResourceInputs &resources) override |
| Replace mesh shader resources. | |
| 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 * | 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. | |
| eve::Result< void > | configureMeshShaderSurface (Shader &shader, BlendMode blend, bool depthWrite, bool doubleSided) override |
| Configure mesh shader surface. | |
| eve::Result< void > | configureMeshShaderRaster (Shader &shader, const MeshShaderRasterState &state) override |
| Configure mesh shader raster. | |
| 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 Vulkan 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. | |
| image::ImageData * | renderEntityIdMask (const std::vector< eve::graphics::Graphics::EntityIdDraw > &draws, const glm::mat4 &viewProj, int width, int height) override |
| Renders entity id mask. | |
| image::ImageData * | readGBufferToImageData (const std::string &name) override |
| Reads g buffer to image data. | |
| image::ImageData * | readDecalLayerToImageData (const std::string &attachment) override |
| Reads decal layer to image data. | |
| 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. | |
| Result< void > | drawMeshShaderInstances (Mesh &mesh, Shader &shader, const glm::mat4 &model, const Color &tint, std::uint32_t first, std::uint32_t count) override |
| Draws mesh shader instances. | |
| 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. | |
| Result< void > | setSceneToneMapping (SceneToneMapping mode) override |
| Sets the scene tone mapping. | |
| SceneToneMapping | getSceneToneMapping () const override |
| Returns the scene tone mapping. | |
| Result< void > | setDisplayOutputMode (DisplayOutputMode mode) override |
| Sets the display output mode. | |
| Result< void > | setDisplayHdrCalibration (float paperWhiteNits, float peakNits) override |
| Sets the display hdr calibration. | |
| Result< DisplayOutputSupport > | queryDisplayOutputSupport () const override |
| Queries display output support. | |
| Result< void > | setScenePhotographicVignette (float intensity) override |
| Set the render-thread photographic vignette; inherited validation and ownership contract. | |
| float | getScenePhotographicVignette () const override |
| Read the current render-thread photographic vignette. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| vkb::Device & | getDevice () |
| Returns the device. | |
| vk::CommandPool | getUploadPool () const |
| Returns the upload pool. | |
| bool | canRecordPostSceneGpuWork () const |
| True when the present command buffer is open and the scene-color pass has ended, so post-scene GPU work (e.g. ray tracing) can record into the same frame stream. | |
| vk::CommandBuffer & | postSceneCommandBuffer () |
| Borrow the open present command buffer for post-scene recording. | |
| vk::DescriptorSetLayout | getTexSetLayout () const |
| Returns the tex set layout. | |
| vk::DescriptorPool | getDescriptorPool () const |
| Returns the descriptor pool. | |
| const vkb::BuiltRenderPass & | getOffscreenRenderPass (bool hdr=false) const |
| Returns the offscreen render pass. | |
| const vkb::BuiltRenderPass & | getOffscreen3DRenderPass (bool hdr=false) |
| Returns the offscreen 3 d render pass. | |
| vk::Format | getDepthFormat () const |
| Returns the depth format. | |
| vk::RenderPass | getSwapchainRenderPass () const |
| Returns the swapchain render pass. | |
| vk::RenderPass | getUiMsaaRenderPass () const |
| Returns the ui msaa render pass. | |
| vk::SampleCountFlagBits | getUiMsaaSamples () const |
| Sample count the UI MSAA pass runs with (matches getUiMsaaRenderPass). | |
| void | ensureUiColorResources () |
| Create the UI MSAA render pass (once) and its color targets for ImGui init. | |
| void | drawUiTextureRects (void *commandBuffer, const std::vector< UiTextureDraw > &draws, std::size_t bufferOffset=0) |
| Composite queued engine textures into the currently open UI render pass. | |
| vkb::Instance & | getInstance () |
| Returns the instance. | |
| vkb::Swapchain & | getSwapchain () |
| Returns the swapchain. | |
| void * | getSdlWindow () const |
| Returns the sdl window. | |
| uint32_t | getSwapchainImageCount () const |
| Returns the swapchain image count. | |
Public 成员函数 继承自 eve::graphics::Graphics | |
| 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. | |
| 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 | supportsGBufferPost () const |
| Whether gbuffer-based post-process shaders (AO, GI) can be created on this backend. Backends may use different shader source languages while preserving the same render-control contract. | |
| 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. | |
| 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. | |
| 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. | |
| 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 DisplayOutputMode | getDisplayOutputMode () const |
| Return the requested present preference. | |
| 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. | |
| 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. | |
| 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. | |
| virtual bool | beginFrameReadback (const std::string &path) |
| Queue an asynchronous readback of the current frame to a PNG file. | |
| virtual int | frameReadbackStatus () const |
| Async readback state: 0=idle, 1=pending, 2=done, 3=failed. | |
| 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. | |
| 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. | |
| 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. | |
Public 成员函数 继承自 eve::Module | |
| virtual | ~Module () |
| Module. | |
| virtual std::string | getName () const =0 |
| Returns the name. | |
Public 成员函数 继承自 eve::graphics::Canvas | |
| Canvas () | |
| Constructs a Canvas. | |
| ~Canvas () override | |
| Releases Canvas resources. | |
| virtual image::ImageData * | newHDRImageData () |
| Copy an HDR Canvas as linear RGBA16F without tone mapping. | |
Public 成员函数 继承自 eve::graphics::Drawable | |
| 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). | |
Public 成员函数 继承自 eve::IWindowSurfaceHost | |
| virtual | ~IWindowSurfaceHost ()=default |
| I window surface host. | |
Public 成员函数 继承自 eve::graphics::IGraphics2D | |
| virtual | ~IGraphics2D ()=default |
| Releases IGraphics2D resources. | |
Public 成员函数 继承自 eve::graphics::IGraphics3D | |
| virtual | ~IGraphics3D ()=default |
| Releases IGraphics3D resources. | |
Public 成员函数 继承自 eve::graphics::ICanvasFactory | |
| virtual | ~ICanvasFactory ()=default |
| Releases ICanvasFactory resources. | |
Public 成员函数 继承自 eve::graphics::ICanvasTarget | |
| virtual | ~ICanvasTarget ()=default |
| Releases ICanvasTarget resources. | |
Public 成员函数 继承自 eve::graphics::IResourceFactory | |
| virtual | ~IResourceFactory ()=default |
| Releases IResourceFactory resources. | |
Public 成员函数 继承自 eve::graphics::ISolidRectRenderer | |
| virtual | ~ISolidRectRenderer ()=default |
| Releases ISolidRectRenderer resources. | |
Public 成员函数 继承自 eve::graphics::IPostFX | |
| virtual | ~IPostFX ()=default |
| Releases IPostFX resources. | |
Public 成员函数 继承自 eve::IFramePresentation | |
| virtual | ~IFramePresentation ()=default |
| Releases IFramePresentation resources. | |
Public 成员函数 继承自 eve::service::IGpuTimer | |
| virtual | ~IGpuTimer ()=default |
| Releases IGpuTimer resources. | |
友元 | |
| class | OffscreenCanvas |
额外继承的成员函数 | |
Public 类型 继承自 eve::graphics::Graphics | |
| enum class | SceneColorDistortionStatus { Queued , Unavailable } |
| Refract the resolved 3D scene color through a displacement texture. 更多... | |
| enum class | Mesh3DSceneColorCaptureStatus { ExplicitOverride , Scheduled , Captured , HistoryReuse , Unavailable } |
| Observable result of requesting a same-frame mesh SceneColor snapshot. 更多... | |
| enum class | SceneToneMapping { None , Aces , Filmic } |
| Final display mapping; None preserves linear color, Aces uses the fitted curve, and Filmic uses Rec.709/AP1. 更多... | |
| enum class | DisplayOutputMode { Sdr , Auto , Hdr10 , ScRgb } |
| Requested swapchain present preference. 更多... | |
| enum class | DisplayColorSpace { Sdr , ScRgb , Hdr10 } |
| Color space actually selected for the live swapchain. 更多... | |
| using | WindowDestroyedCallback = void(*)(void *userdata) |
| Register a callback invoked when the native window is destroyed. Used by the UI backend to tear down its ImGui context; callbacks are cleared (and invoked) on onNativeWindowDestroyed(). | |
| using | PresentOverlayFn = bool(*)(void *userdata, void *commandBuffer) |
Optional overlay drawn inside the swapchain render pass (before end). Used by declarative UI (ImGui). commandBuffer is a VkCommandBuffer as void*. Called with commandBuffer == nullptr as a probe: return true only when this frame has overlay draw data, so the backend can skip an empty UI pass. | |
静态 Public 属性 继承自 eve::IWindowSurfaceHost | |
| static constexpr const char * | capabilityName = "IWindowSurfaceHost" |
静态 Public 属性 继承自 eve::IFramePresentation | |
| static constexpr const char * | capabilityName = "eve.frame-presentation" |
静态 Public 属性 继承自 eve::service::IGpuTimer | |
| static constexpr const char * | capabilityName = "IGpuTimer" |
Protected 成员函数 继承自 eve::graphics::Graphics | |
| void | requestFileImageDecode (const std::string &key) |
| Request file image decode. | |
| bool | fileTextureSourceExists (const std::string &filename) const |
| File texture source exists. | |
| void | dropDeferredFileTexture (Texture *texture) |
| Drop deferred file texture. | |
| Shader * | prepareSceneColorResolveShader (Texture *scene) |
| FXAA resolve shader that writes opaque RGB (ignores scene-color depth alpha). | |
| void | retireResourceLifetime () const |
| Retire resource lifetime. | |
Protected 属性 继承自 eve::graphics::Graphics | |
| std::vector< DeferredFileTexture > | deferredFileTextures_ |
| bool | realizingFileTextures_ = false |
| int | width = 0 |
| int | height = 0 |
| int | pixelWidth = 0 |
| int | pixelHeight = 0 |
| Color | backgroundColor {0.1f, 0.1f, 0.12f, 1.0f} |
| bool | frameHad3D = false |
| bool | recordingEngine3D_ = false |
| True while RenderSystem3D is submitting (AO / engine overlays). | |
| bool | screenReadbackEnabled = false |
| bool | vsyncEnabled = true |
| int | presentationVSyncCount_ =1 |
| DisplayOutputMode | displayOutputMode_ = DisplayOutputMode::Sdr |
| DisplayColorSpace | activeDisplayColorSpace_ = DisplayColorSpace::Sdr |
| float | displayPaperWhiteNits_ = 200.f |
| float | displayPeakNits_ = 1000.f |
| bool | graphicsActive = true |
| int | msaaSamples = 4 |
| PresentOverlayFn | presentOverlayFn_ = nullptr |
| void * | presentOverlayUser_ = nullptr |
| std::vector< std::pair< WindowDestroyedCallback, void * > > | windowDestroyedCallbacks_ |
| Shader * | currentShader = nullptr |
| Font * | currentFont = nullptr |
| std::unique_ptr< RenderControl > | renderControl_ |
| std::shared_ptr< PrimitiveScene > | primitiveScene_ |
| std::unique_ptr< AmbientOcclusion > | pipelineAO_ |
| std::unique_ptr< GlobalIllumination > | pipelineGI_ |
| std::unique_ptr< ScreenSpaceReflection > | pipelineSSR_ |
| std::unique_ptr< AntiAliasing > | pipelineAA_ |
| std::unique_ptr< Bloom > | pipelineBloom_ |
| std::unique_ptr< DepthOfField > | pipelineDof_ |
| std::unique_ptr< Exposure > | pipelineExposure_ |
| bool | sceneDepthOfFieldEnabled_ = false |
| float | sceneDepthOfFieldFocusDistance_ = 10.f |
| float | sceneDepthOfFieldFocusRange_ = 5.f |
| float | sceneDepthOfFieldMaximumBlurPixels_ = 8.f |
| float | sceneDepthOfFieldNearPlane_ = 0.1f |
| float | sceneDepthOfFieldFarPlane_ = 100.f |
| std::unique_ptr< DepthPyramid > | pipelineDepthPyramid_ |
| Canvas * | spatialAAResolve_ = nullptr |
| int | spatialAAResolveWidth_ = 0 |
| int | spatialAAResolveHeight_ = 0 |
| Canvas * | reflectionComposite_ = nullptr |
| int | reflectionCompositeWidth_ = 0 |
| int | reflectionCompositeHeight_ = 0 |
| Texture * | finalSceneTexture_ = nullptr |
| Texture * | foliageWindMotionTexture_ = nullptr |
| Texture * | foliageWindNoiseTexture_ = nullptr |
| std::unique_ptr< Outline > | pipelineOutline_ |
详细描述
EVENGINE_API_BACKENDS public API.
在文件 Graphics.h 第 342 行定义.
构造及析构函数说明
◆ Graphics()
|
default |
Starts asynchronous VkInstance creation (overlaps later window init).
◆ ~Graphics()
|
override |
在文件 Graphics.cpp 第 298 行定义.
引用了 b, eve::graphics::Graphics::deferredFileTextures_, eve::graphics::detachGraphicsArtifactProvider(), device, g, m, eve::graphics::Graphics::pipelineAA_, eve::graphics::Graphics::pipelineAO_, eve::graphics::Graphics::pipelineGI_, eve::graphics::Graphics::renderControl_ , 以及 eve::graphics::Graphics::retireResourceLifetime().
成员函数说明
◆ bakeMeshMorph()
|
overridevirtual |
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.
在文件 GraphicsMesh.cpp 第 306 行定义.
引用了 mesh, eve::graphics::vulkan::MeshVertex::pos, pos, source, uv, v , 以及 verts.
◆ begin3DFrame()
|
overridevirtual |
◆ begin3DFrameToCanvas()
|
overridevirtual |
Begins 3 d frame to canvas.
在文件 Graphics3D.cpp 第 249 行定义.
引用了 eve::graphics::Graphics::backgroundColor, eve::graphics::Graphics::ensureFileTexturesReady(), eve::graphics::Graphics::frameHad3D , 以及 getOffscreen3DRenderPass().
◆ beginDecalPass()
|
overridevirtual |
◆ beginGBufferPass()
|
overridevirtual |
◆ beginShadowPass()
|
overridevirtual |
Begins shadow pass.
在文件 Graphics3D.cpp 第 693 行定义.
◆ bindlessSlot2D()
|
inline |
Bindless slot 2 d.
在文件 Graphics.h 第 434 行定义.
引用了 eve::graphics::vulkan::GpuTexture::bindlessIndex2D , 以及 eve::graphics::vulkan::kInvalidBindlessSlot.
◆ bindlessSlotCube()
|
inline |
Bindless slot cube.
在文件 Graphics.h 第 438 行定义.
引用了 eve::graphics::vulkan::GpuTexture::bindlessIndexCube , 以及 eve::graphics::vulkan::kInvalidBindlessSlot.
◆ canRecordPostSceneGpuWork()
|
inline |
True when the present command buffer is open and the scene-color pass has ended, so post-scene GPU work (e.g. ray tracing) can record into the same frame stream.
在文件 Graphics.h 第 1022 行定义.
◆ canSubmitGpuParticles()
|
overridevirtual |
Can submit gpu particles.
在文件 GraphicsParticles.cpp 第 172 行定义.
被这些函数引用 drawGpuParticleEmitter() , 以及 updateGpuParticleEmitter().
◆ captureMesh3DSceneColor()
|
overridevirtual |
Capture mesh 3 d scene color.
在文件 Graphics3D.cpp 第 621 行定义.
引用了 eve::graphics::Graphics::Captured, eve::graphics::Graphics::ExplicitOverride, eve::graphics::Graphics::HistoryReuse, source , 以及 eve::graphics::Graphics::Unavailable.
◆ clear()
|
overridevirtual |
Clears .
在文件 Graphics2D.cpp 第 640 行定义.
引用了 eve::graphics::Graphics::backgroundColor, clearColor, color , 以及 eve::graphics::Graphics::frameHad3D.
◆ configureMeshShaderRaster()
|
overridevirtual |
Configure mesh shader raster.
在文件 GraphicsShaderSurface.cpp 第 11 行定义.
引用了 shader, state, valid , 以及 eve::graphics::validateMeshShaderRasterState().
◆ configureMeshShaderSurface()
|
overridevirtual |
Configure mesh shader surface.
在文件 GraphicsShaderSurface.cpp 第 7 行定义.
引用了 blend, doubleSided , 以及 shader.
◆ copyHDRCanvasesToCubemap()
|
overridevirtual |
Copies hdr canvases to cubemap.
在文件 GraphicsTexture.cpp 第 519 行定义.
引用了 device, eve::graphics::Texture::gpuHandle , 以及 target.
◆ copyHDRCanvasToCubemapFace()
|
overridevirtual |
Copies hdr canvas to cubemap face.
@compatibility Implements the Graphics boolean submission facade.
在文件 GraphicsTexture.cpp 第 452 行定义.
引用了 device, eve::graphics::Texture::gpuHandle, source , 以及 target.
◆ createGpuParticleEmitter()
|
overridevirtual |
Creates gpu particle emitter.
在文件 GraphicsParticles.cpp 第 178 行定义.
引用了 capacity, handle, eve::graphics::kInvalidGpuParticleHandle, resource , 以及 supportsGpuParticles().
◆ currentFrameArena()
| FrameArena & eve::graphics::vulkan::Graphics::currentFrameArena | ( | ) |
Per-frame arena for the current swapchain frame slot.
在文件 GraphicsGpuDriven.cpp 第 167 行定义.
被这些函数引用 begin3DFrame(), gpuDrivenCullBegin(), gpuDrivenCullEmit(), gpuDrivenSubmitOpaque() , 以及 gpuDrivenSubmitResident().
◆ debugBindlessIndex()
| uint32_t eve::graphics::vulkan::Graphics::debugBindlessIndex | ( | Texture * | tex | ) | const |
Test/debug helpers (valid when the GPU-driven path is live).
在文件 GraphicsGpuDriven.cpp 第 1860 行定义.
引用了 eve::graphics::Texture::gpuHandle , 以及 eve::graphics::vulkan::kInvalidBindlessSlot.
◆ debugGpuDrivenCulledDrawCount()
| uint32_t eve::graphics::vulkan::Graphics::debugGpuDrivenCulledDrawCount | ( | ) | const |
Debug gpu driven culled draw count.
在文件 GraphicsGpuDriven.cpp 第 1847 行定义.
引用了 b, count, instanceCount, eve::graphics::vulkan::kMaxGpuDrivenBuckets, n , 以及 u.
◆ debugGpuDrivenVgVisibleCount()
| uint32_t eve::graphics::vulkan::Graphics::debugGpuDrivenVgVisibleCount | ( | ) | const |
Debug readback: visible VG clusters from the last cull.
在文件 GraphicsGpuDriven.cpp 第 739 行定义.
引用了 count.
◆ debugGpuDrivenVisibleCount()
| uint32_t eve::graphics::vulkan::Graphics::debugGpuDrivenVisibleCount | ( | ) | const |
Debug readback: visible instances / non-empty buckets from the last cull.
在文件 GraphicsGpuDriven.cpp 第 1834 行定义.
引用了 count, eve::graphics::vulkan::kMaxGpuDrivenInstances, n , 以及 u.
◆ debugLastGpuDrivenDrawCount()
|
inline |
Indirect draws emitted by the last successful GPU-driven submit.
在文件 Graphics.h 第 503 行定义.
◆ debugMeshRecordIndex()
| uint32_t eve::graphics::vulkan::Graphics::debugMeshRecordIndex | ( | Mesh * | mesh | ) | const |
Debug mesh record index.
在文件 GraphicsGpuDriven.cpp 第 1865 行定义.
◆ describeMesh()
|
overridevirtual |
Return layout facts from the owned Vulkan mesh upload.
在文件 GraphicsMesh.cpp 第 294 行定义.
引用了 mesh, owned , 以及 eve::graphics::MeshBackendDescriptor::vertexCount.
◆ draw() [1/2]
|
overridevirtual |
◆ draw() [2/2]
|
overridevirtual |
◆ drawDecal()
|
overridevirtual |
Draws decal.
在文件 Graphics3D.cpp 第 867 行定义.
◆ drawDeferredLighting()
|
overridevirtual |
Draws deferred lighting.
在文件 GraphicsDeferredLighting.cpp 第 92 行定义.
引用了 eve::graphics::ClusteredLightingUpload::active, eve::graphics::ClusteredLightingUpload::ambient, eve::graphics::vulkan::Mesh3DUBO::ambient, binding, buffer, eve::graphics::buildClusteredLighting(), eve::graphics::vulkan::Mesh3DUBO::cameraPos, eve::graphics::ClusteredLightingUpload::clipInfo, eve::graphics::vulkan::Mesh3DUBO::clipInfo, d, eve::graphics::ClusteredLightingUpload::gridInfo, image, eve::graphics::vulkan::DeferredLightingUBO::invViewProj, layout, eve::graphics::vulkan::Mesh3DUBO::lightColor, eve::graphics::vulkan::Mesh3DUBO::lightDir, eve::graphics::vulkan::Mesh3DUBO::mvp, eve::graphics::Light3DGpu::posRadius, eve::graphics::ClusteredLightingUpload::primaryColor, eve::graphics::ClusteredLightingUpload::primaryDir, sampler, setMesh3DClusteredLighting(), size, type, eve::graphics::ShadowUpload::ubo, eve::graphics::ClusteredLightingUpload::view, view, eve::graphics::vulkan::Mesh3DUBO::view , 以及 w.
◆ drawGpuParticleEmitter()
|
overridevirtual |
Draws gpu particle emitter.
@compatibility Implements the established GPU-particle boolean submission facade.
在文件 GraphicsParticles.cpp 第 229 行定义.
引用了 canSubmitGpuParticles(), draw, handle, index , 以及 eve::graphics::Graphics::recordingEngine3D_.
◆ drawMesh()
|
overridevirtual |
Draws mesh.
在文件 GraphicsMesh.cpp 第 625 行定义.
引用了 eve::graphics::Graphics::drawMeshShader(), mesh, model , 以及 tint.
◆ drawMeshGBuffer()
|
overridevirtual |
◆ drawMeshGBufferAlpha()
|
overridevirtual |
◆ drawMeshShader()
|
overridevirtual |
Draws mesh shader.
在文件 GraphicsMesh.cpp 第 629 行定义.
◆ drawMeshShaderInstances()
|
overridevirtual |
Draws mesh shader instances.
◆ drawMeshShadow()
|
overridevirtual |
◆ drawMeshShadowAlpha()
|
overridevirtual |
Draws mesh shadow alpha.
在文件 Graphics3D.cpp 第 715 行定义.
引用了 albedo, d, doubleSided, lodFadeReverse, lodWeight , 以及 mesh.
◆ drawPrimitiveCanvas()
|
overridevirtual |
Draws primitive canvas.
实现了 eve::graphics::IGraphics2D.
在文件 Graphics2D.cpp 第 663 行定义.
引用了 count, end, eve::graphics::Graphics::getHeight(), eve::graphics::Graphics::getWidth(), eve::graphics::Graphics::recordingEngine3D_, eve::graphics::resolvePrimitiveStrokes2D() , 以及 triangles.
◆ drawPrimitiveScene()
|
overridevirtual |
Draws primitive scene.
实现了 eve::graphics::IGraphics3D.
在文件 GraphicsPrimitives.cpp 第 9 行定义.
引用了 a, b, eve::graphics::ResolvedPrimitiveTriangles::batches3D, buffer, firstVertex, eve::graphics::vulkan::OffscreenCanvas::getHeight(), eve::graphics::vulkan::OffscreenCanvas::getWidth(), gpuDrivenOpenScenePass(), group, groups, eve::graphics::resolvePrimitiveStrokes3D(), sequence, vertexCount, vertices , 以及 eve::graphics::ResolvedPrimitiveTriangles::vertices.
◆ drawSceneColorDistortionUVRotated()
|
overridevirtual |
Draws scene color distortion uv rotated.
在文件 Graphics2D.cpp 第 875 行定义.
引用了 eve::graphics::Batcher::addTexturedRectRotated(), eve::Alpha, cx, cy, degrees, eve::graphics::Graphics::getSceneColorTexture(), h, opacity, eve::graphics::Graphics::Queued, scene, eve::graphics::Graphics::Unavailable , 以及 w.
◆ drawSolidRect()
|
overridevirtual |
Draws solid rect.
在文件 Graphics2D.cpp 第 651 行定义.
◆ drawSolidRectRotated()
|
overridevirtual |
Draws solid rect rotated.
在文件 Graphics2D.cpp 第 694 行定义.
◆ drawTexturedRect()
|
overridevirtual |
Draws textured rect.
在文件 Graphics2D.cpp 第 748 行定义.
引用了 color, eve::graphics::Graphics::drawTexturedRectUV(), h, w, x , 以及 y.
◆ drawTexturedRectLitUV()
|
overridevirtual |
◆ drawTexturedRectLitUVRotated()
|
overridevirtual |
◆ drawTexturedRectShader()
|
overridevirtual |
Draws textured rect shader.
在文件 Graphics2D.cpp 第 752 行定义.
引用了 color, eve::graphics::Graphics::drawTexturedRectShaderUV(), h, shader, w, x , 以及 y.
◆ drawTexturedRectShader4()
|
overridevirtual |
Draws textured rect shader 4.
在文件 Graphics2D.cpp 第 835 行定义.
引用了 color, depth, eve::graphics::Graphics::drawSolidRect(), h, eve::Opaque, shader, tint, w, x , 以及 y.
◆ drawTexturedRectShader5()
|
overridevirtual |
Draws textured rect shader 5.
在文件 Graphics2D.cpp 第 854 行定义.
引用了 color, depth, eve::graphics::Graphics::drawSolidRect(), h, eve::Opaque, shader, tint, w, x , 以及 y.
◆ drawTexturedRectShaderDepth()
|
overridevirtual |
Draws textured rect shader depth.
在文件 Graphics2D.cpp 第 798 行定义.
引用了 eve::Alpha, color, depth, eve::graphics::Graphics::drawSolidRect(), eve::graphics::Graphics::drawTexturedRectShader(), h, shader, tint, w, x , 以及 y.
◆ drawTexturedRectShaderDepthMotion()
|
overridevirtual |
Draws textured rect shader depth motion.
在文件 Graphics2D.cpp 第 817 行定义.
引用了 color, depth, eve::graphics::Graphics::drawSolidRect(), h, eve::Opaque, shader, tint, w, x , 以及 y.
◆ drawTexturedRectShaderUV()
|
overridevirtual |
Draws textured rect shader uv.
在文件 Graphics2D.cpp 第 762 行定义.
引用了 blend, color, eve::graphics::Texture::depth, eve::graphics::Graphics::drawSolidRect(), h, shader, w, x , 以及 y.
◆ drawTexturedRectShaderUVRotated()
|
overridevirtual |
Draws textured rect shader uv rotated.
在文件 Graphics2D.cpp 第 779 行定义.
引用了 blend, color, cx, cy, degrees, eve::graphics::Texture::depth, eve::graphics::Graphics::drawSolidRect(), h, shader , 以及 w.
◆ drawTexturedRectUV()
|
overridevirtual |
Draws textured rect uv.
在文件 Graphics2D.cpp 第 757 行定义.
引用了 color, eve::graphics::Graphics::currentShader, eve::graphics::Graphics::drawTexturedRectShaderUV(), h, w, x , 以及 y.
◆ drawUiTextureRects()
| void eve::graphics::vulkan::Graphics::drawUiTextureRects | ( | void * | commandBuffer, |
| const std::vector< UiTextureDraw > & | draws, | ||
| std::size_t | bufferOffset = 0 |
||
| ) |
Composite queued engine textures into the currently open UI render pass.
- 参数
-
commandBuffer Native Vulkan command buffer owned by the active UI pass. draws Ordered textured rectangles in framebuffer coordinates. bufferOffset First transient vertex-buffer slot; disjoint calls in the same frame must reserve non-overlapping ranges of draws.size() slots. @ownership Inputs are borrowed for this synchronous render-thread call only. @reentrancy Must not be called concurrently; invokes no user callbacks.
在文件 Graphics2D.cpp 第 894 行定义.
引用了 eve::graphics::Batcher::addTexturedRect(), eve::graphics::vulkan::GpuTexture::descriptorSet, device, draw, offset, eve::graphics::vulkan::TexturedVertex::pos, eve::graphics::Batcher::toNDC(), vertices , 以及 eve::graphics::Batcher::vertices().
◆ drawVoxelFaceInstances()
|
overridevirtual |
Draws voxel face instances.
在文件 Graphics3D.cpp 第 509 行定义.
引用了 bytes, count, eve::graphics::Texture::gpuHandle, eve::graphics::vulkan::Mesh3DUBO::mvp , 以及 eve::graphics::vulkan::Mesh3DUBO::tint.
◆ end3DFrameToCanvas()
|
overridevirtual |
Ends 3 d frame to canvas.
在文件 Graphics3D.cpp 第 315 行定义.
◆ endDecalPass()
|
overridevirtual |
◆ endGBufferPass()
|
overridevirtual |
Ends g buffer pass.
在文件 Graphics3D.cpp 第 820 行定义.
◆ endShadowPass()
|
overridevirtual |
◆ ensureUiColorResources()
|
inline |
Create the UI MSAA render pass (once) and its color targets for ImGui init.
Creates ui color resources.
在文件 Graphics.h 第 1049 行定义.
◆ filterHDRReflectionCubemap()
|
overridevirtual |
Filter hdr reflection cubemap.
@compatibility Implements the Graphics boolean submission facade.
在文件 GraphicsTexture.cpp 第 607 行定义.
引用了 bindings, device, eve::graphics::Texture::gpuHandle, index, info, layout, eve::graphics::Graphics::push(), roughness, size, target , 以及 u.
◆ getBackendName()
|
overridevirtual |
◆ getCanvas()
|
overridevirtual |
◆ getDepthFormat()
|
inline |
Returns the depth format.
在文件 Graphics.h 第 1041 行定义.
◆ getDescriptorPool()
|
inline |
Returns the descriptor pool.
在文件 Graphics.h 第 1031 行定义.
被这些函数引用 eve::graphics::vulkan::OffscreenCanvas::OffscreenCanvas().
◆ getDevice()
|
inline |
Returns the device.
在文件 Graphics.h 第 1014 行定义.
引用了 device.
被这些函数引用 eve::gpgpu::computeQueue(), eve::gpgpu::VulkanSequence::destroy(), eve::graphics::vulkan::OffscreenCanvas::ensure3D(), eve::gpgpu::VulkanSequence::ensureCommandBuffer(), eve::ui::ImGuiBackend::init(), eve::graphics::vulkan::OffscreenCanvas::OffscreenCanvas(), eve::gpgpu::VulkanSequence::ready(), eve::gpgpu::vulkanSequencePoll(), eve::gpgpu::vulkanSequenceRecordDispatch(), eve::gpgpu::vulkanSequenceRecordUpload(), eve::gpgpu::vulkanSequenceSubmitAsync(), eve::gpgpu::vulkanSequenceWait() , 以及 eve::graphics::vulkan::OffscreenCanvas::~OffscreenCanvas().
◆ getGpuParticleStats()
|
overridevirtual |
Returns the gpu particle stats.
在文件 GraphicsParticles.cpp 第 239 行定义.
◆ getInstance()
|
inline |
Returns the instance.
在文件 Graphics.h 第 1067 行定义.
◆ getLastOffscreen3DGpuDurationMs()
|
inlineoverridevirtual |
Returns the last offscreen 3 d gpu duration ms.
在文件 Graphics.h 第 762 行定义.
◆ getMaxAnisotropy()
|
overridevirtual |
◆ getMsaaSamples()
|
inlineoverridevirtual |
◆ getOffscreen3DRenderPass()
|
inline |
Returns the offscreen 3 d render pass.
在文件 Graphics.h 第 1037 行定义.
被这些函数引用 begin3DFrameToCanvas() , 以及 eve::graphics::vulkan::OffscreenCanvas::ensure3D().
◆ getOffscreenRenderPass()
|
inline |
Returns the offscreen render pass.
在文件 Graphics.h 第 1033 行定义.
被这些函数引用 eve::graphics::vulkan::OffscreenCanvas::OffscreenCanvas().
◆ getPixel()
|
overridevirtual |
Returns the pixel.
在文件 Graphics2D.cpp 第 290 行定义.
引用了 a, b, cx, cy, g, eve::graphics::Graphics::height, eve::graphics::Graphics::pixelHeight, eve::graphics::Graphics::pixelWidth, r, u, eve::graphics::Graphics::width, x , 以及 y.
◆ getSceneAutoExposure()
|
inlineoverridevirtual |
◆ getSceneAutoExposureMaxEV()
|
inlineoverridevirtual |
◆ getSceneAutoExposureMinEV()
|
inlineoverridevirtual |
◆ getSceneBloomIntensity()
|
inlineoverridevirtual |
◆ getSceneBloomThreshold()
|
inlineoverridevirtual |
◆ getSceneColorFilter()
|
inlineoverridevirtual |
◆ getSceneColorTexture()
|
overridevirtual |
◆ getSceneDofFarZ()
|
inlineoverridevirtual |
◆ getSceneDofFocusDistance()
|
inlineoverridevirtual |
◆ getSceneDofFocusRange()
|
inlineoverridevirtual |
◆ getSceneDofMaxBlur()
|
inlineoverridevirtual |
◆ getSceneDofNearZ()
|
inlineoverridevirtual |
◆ getSceneExposure()
|
inlineoverridevirtual |
◆ getSceneGain()
|
inlineoverridevirtual |
◆ getSceneInverseGamma()
|
inlineoverridevirtual |
◆ getSceneLift()
|
inlineoverridevirtual |
◆ getSceneLinearDepthTexture()
|
overridevirtual |
Returns the scene linear depth texture.
@lifetime Returned texture is borrowed from the active scene targets.
在文件 Graphics.cpp 第 944 行定义.
引用了 eve::graphics::GBuffer::getDepthTexture(), eve::graphics::GBuffer::isValid() , 以及 eve::graphics::Graphics::renderControl_.
◆ getScenePhotographicVignette()
|
inlineoverridevirtual |
Read the current render-thread photographic vignette.
在文件 Graphics.h 第 858 行定义.
◆ getSceneToneMapping()
|
inlineoverridevirtual |
◆ getSceneTransitionLensDistortion()
|
inlineoverridevirtual |
Returns the scene transition lens distortion.
在文件 Graphics.h 第 895 行定义.
◆ getSceneTransitionLensScale()
|
inlineoverridevirtual |
◆ getSceneTransitionVignette()
|
inlineoverridevirtual |
◆ getSceneTransitionVignetteSmoothness()
|
inlineoverridevirtual |
Returns the scene transition vignette smoothness.
在文件 Graphics.h 第 893 行定义.
◆ getSdlWindow()
|
inline |
Returns the sdl window.
在文件 Graphics.h 第 1071 行定义.
◆ getSwapchain()
|
inline |
Returns the swapchain.
在文件 Graphics.h 第 1069 行定义.
◆ getSwapchainImageCount()
|
inline |
Returns the swapchain image count.
在文件 Graphics.h 第 1073 行定义.
◆ getSwapchainRenderPass()
|
inline |
Returns the swapchain render pass.
在文件 Graphics.h 第 1043 行定义.
◆ getTexSetLayout()
|
inline |
Returns the tex set layout.
在文件 Graphics.h 第 1029 行定义.
被这些函数引用 eve::graphics::vulkan::OffscreenCanvas::OffscreenCanvas().
◆ getTexture()
|
overridevirtual |
◆ getUiMsaaRenderPass()
|
inline |
Returns the ui msaa render pass.
在文件 Graphics.h 第 1045 行定义.
◆ getUiMsaaSamples()
|
inline |
Sample count the UI MSAA pass runs with (matches getUiMsaaRenderPass).
在文件 Graphics.h 第 1047 行定义.
◆ getUploadPool()
|
inline |
◆ gpuDrivenCaps()
|
inline |
Capabilities probed at device creation; empty when unavailable.
在文件 Graphics.h 第 415 行定义.
◆ gpuDrivenCullBegin()
|
virtual |
Gpu driven cull begin.
在文件 GraphicsGpuDriven.cpp 第 1218 行定义.
引用了 eve::graphics::IndirectBuilder::add(), b, binding, buffer, eve::graphics::IndirectBuilder::build(), eve::graphics::IndirectBuilder::commands(), currentFrameArena(), firstInstance, gpuDrivenCullEnabled(), info, instanceCount, instances, eve::graphics::vulkan::kMaxGpuDrivenBuckets, eve::graphics::vulkan::kMaxGpuDrivenInstances, eve::graphics::vulkan::FrameArena::Alloc::mapped, offset, eve::graphics::vulkan::FrameArena::Alloc::offset, order, eve::graphics::vulkan::FrameArena::Alloc::size, size, eve::graphics::IndirectBuilder::sortedInstanceOrder() , 以及 w.
◆ gpuDrivenCullEmit()
|
virtual |
◆ gpuDrivenCullEnabled()
|
inlinevirtual |
Stage 2 cull is live for this frame (GPU-written commands).
在文件 Graphics.h 第 507 行定义.
被这些函数引用 gpuDrivenCullBegin().
◆ gpuDrivenDrawOpaque()
|
virtual |
Gpu driven draw opaque.
在文件 GraphicsGpuDriven.cpp 第 1604 行定义.
◆ gpuDrivenEnabled()
|
inlineoverridevirtual |
Gpu driven enabled.
在文件 Graphics.h 第 450 行定义.
被这些函数引用 gpuDrivenSubmitOpaque() , 以及 gpuDrivenSubmitResident().
◆ gpuDrivenMaterialRecord()
|
inlineoverridevirtual |
◆ gpuDrivenMaterialUsable()
|
overridevirtual |
Gpu driven material usable.
在文件 GraphicsGpuDriven.cpp 第 822 行定义.
引用了 eve::graphics::AtlasPageTable, material , 以及 eve::graphics::Transparent.
◆ gpuDrivenMeshRecord()
|
overridevirtual |
Gpu driven mesh record.
在文件 GraphicsGpuDriven.cpp 第 815 行定义.
◆ gpuDrivenOpenScenePass()
|
virtual |
Gpu driven open scene pass.
在文件 GraphicsGpuDriven.cpp 第 1496 行定义.
被这些函数引用 drawPrimitiveScene() , 以及 gpuDrivenSubmitResident().
◆ gpuDrivenRecordVisPass()
|
overridevirtual |
Gpu driven record vis pass.
在文件 GraphicsGpuDriven.cpp 第 1638 行定义.
◆ gpuDrivenReflectionProbeSlot()
|
overridevirtual |
Gpu driven reflection probe slot.
在文件 GraphicsGpuDriven.cpp 第 446 行定义.
引用了 eve::graphics::Texture::gpuHandle , 以及 eve::graphics::kInvalidGpuDrivenSlot.
◆ gpuDrivenReleaseMaterialRecord()
|
overridevirtual |
Gpu driven release material record.
在文件 GraphicsGpuDriven.cpp 第 830 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), found, eve::InvalidArgument, material, eve::Result< T >::success() , 以及 syncMaterialTable().
◆ gpuDrivenResolve()
|
overridevirtual |
Gpu driven resolve.
在文件 GraphicsGpuDriven.cpp 第 1700 行定义.
◆ gpuDrivenResolveWanted()
|
overridevirtual |
Stage 3: vis+resolve live for this frame (opt-in, 1x scene pass).
在文件 GraphicsGpuDriven.cpp 第 52 行定义.
引用了 eve::graphics::vulkan::GpuDrivenCaps::gpuDrivenCullAvailable() , 以及 eve::graphics::Graphics::renderControl_.
◆ gpuDrivenScenePassPending()
|
inlinevirtual |
Scene color pass is deferred until after the compute cull section.
在文件 Graphics.h 第 511 行定义.
被这些函数引用 gpuDrivenSubmitResident().
◆ gpuDrivenSetEnabled()
|
inlineoverridevirtual |
◆ gpuDrivenSubmitOpaque()
|
overridevirtual |
Gpu driven submit opaque.
@compatibility Implements the established GPU-driven boolean submission facade.
在文件 GraphicsGpuDriven.cpp 第 844 行定义.
引用了 eve::graphics::IndirectBuilder::add(), eve::graphics::IndirectBuilder::build(), eve::graphics::IndirectBuilder::commands(), currentFrameArena(), EV_ASSERT, first, eve::graphics::vulkan::GpuDrivenCaps::gpuDrivenAvailable(), gpuDrivenEnabled(), instanceCount, instances, eve::graphics::vulkan::FrameArena::Alloc::mapped, mesh, eve::graphics::vulkan::FrameArena::Alloc::offset, order, eve::graphics::vulkan::FrameArena::Alloc::size , 以及 eve::graphics::IndirectBuilder::sortedInstanceOrder().
◆ gpuDrivenSubmitResident()
|
overridevirtual |
Gpu driven submit resident.
在文件 GraphicsGpuDriven.cpp 第 922 行定义.
引用了 eve::GpuResidentBufferView::backend, eve::graphics::BackendMismatch, bucket, eve::graphics::GpuResidentInstanceBatch::bucketCount, eve::graphics::GpuResidentInstanceBatch::buckets, eve::graphics::GpuResidentInstanceBatch::buffer, eve::graphics::CapacityExceeded, commands, currentFrameArena(), end, eve::graphics::vulkan::GpuDrivenCaps::gpuDrivenAvailable(), gpuDrivenEnabled(), gpuDrivenOpenScenePass(), gpuDrivenScenePassPending(), eve::graphics::GpuResidentInstanceBucket::instanceCount, eve::graphics::GpuResidentInstanceBatch::instanceCount, eve::graphics::InvalidArgument, eve::kGpuResidentStorageOffsetAlignment, eve::graphics::vulkan::kMaxGpuDrivenBuckets, eve::graphics::vulkan::kMaxGpuDrivenInstances, eve::graphics::vulkan::FrameArena::Alloc::mapped, mesh, eve::graphics::GpuResidentInstanceBucket::meshId, eve::GpuResidentBufferView::nativeHandle, eve::graphics::vulkan::FrameArena::Alloc::offset, eve::GpuResidentBufferView::offsetBytes, required, eve::graphics::ResourceUnavailable, eve::GpuResidentBufferView::sizeBytes, eve::GpuResidentBufferView::strideBytes, eve::graphics::Submitted , 以及 eve::Vulkan.
◆ gpuDrivenVgAssetId()
|
overridevirtual |
Gpu driven vg asset id.
在文件 GraphicsGpuDriven.cpp 第 704 行定义.
引用了 eve::graphics::vulkan::kInvalidBindlessSlot, mesh, eve::graphics::vulkan::GpuMesh::record , 以及 eve::graphics::GpuMeshRecord::vgAssetId.
◆ gpuDrivenVgAttachToMesh()
|
override |
Gpu driven vg attach to mesh.
在文件 GraphicsGpuDriven.cpp 第 710 行定义.
引用了 eve::graphics::vulkan::kInvalidBindlessSlot, mesh, eve::graphics::vulkan::GpuMesh::record , 以及 eve::graphics::GpuMeshRecord::vgAssetId.
◆ gpuDrivenVgComputeSection()
|
overridevirtual |
Gpu driven vg compute section.
在文件 GraphicsGpuDriven.cpp 第 1416 行定义.
◆ gpuDrivenVgSetInstance()
|
override |
◆ gpuDrivenVgUpload()
|
overridevirtual |
Gpu driven vg upload.
在文件 GraphicsGpuDriven.cpp 第 629 行定义.
引用了 eve::graphics::GpuVgAssetUpload::clusterCount, eve::graphics::GpuVgAssetUpload::clusters, eve::graphics::vulkan::GpuDrivenCaps::drawIndirectCount, eve::graphics::vulkan::kInvalidBindlessSlot, m, eve::graphics::GpuVgAssetUpload::positions, s, eve::graphics::GpuVgAssetUpload::triangleCount, eve::graphics::GpuVgAssetUpload::triangles , 以及 eve::graphics::GpuVgAssetUpload::vertexCount.
◆ gpuFrameMs()
|
overridevirtual |
◆ gpuTimingAvailable()
|
overridevirtual |
◆ initGpuTiming()
| void eve::graphics::vulkan::Graphics::initGpuTiming | ( | ) |
Creates the GPU timestamp query pool; call after device init.
在文件 Graphics.cpp 第 1135 行定义.
引用了 device.
◆ initHeadless()
|
overridevirtual |
Initializes headless.
在文件 Graphics.cpp 第 668 行定义.
引用了 device, eve::graphics::Graphics::height, newCubemap(), newTexture(), eve::recordLogEvent(), setViewportSize() , 以及 eve::graphics::Graphics::width.
◆ initWithWindow()
|
overridevirtual |
Initializes with window.
在文件 Graphics.cpp 第 735 行定义.
引用了 count, device, newCubemap(), newTexture(), eve::recordLogEvent() , 以及 setViewportSize().
◆ isCanvasActive()
|
overridevirtual |
◆ isHeadless()
|
inlineoverridevirtual |
◆ materialTableGetOrCreate()
| uint32_t eve::graphics::vulkan::Graphics::materialTableGetOrCreate | ( | eve::graphics::Material * | material | ) |
Get (or lazily create) the GPU material-table slot for a material.
在文件 GraphicsGpuDriven.cpp 第 784 行定义.
引用了 idx, eve::graphics::vulkan::kInvalidBindlessSlot, material , 以及 syncMaterialTable().
◆ newCanvas()
|
overridevirtual |
Creates a canvas. @ownership Caller deletes unless documented otherwise.
在文件 Graphics2D.cpp 第 538 行定义.
◆ newCubemap() [1/2]
|
overridevirtual |
Creates a cubemap. @ownership Caller deletes unless documented otherwise.
在文件 GraphicsTexture.cpp 第 310 行定义.
引用了 newCubemap() , 以及 eve::graphics::TextureCreateInfo::withMipmaps().
被这些函数引用 initHeadless(), initWithWindow() , 以及 newCubemap().
◆ newCubemap() [2/2]
|
overridevirtual |
Creates a cubemap. @ownership Caller deletes unless documented otherwise.
在文件 GraphicsTexture.cpp 第 315 行定义.
引用了 bytes, info, eve::graphics::mipmapCountForSize() , 以及 eve::graphics::vulkan::uploadTextureForAllShaderStages().
◆ newHairShaderFromSpv()
|
overridevirtual |
Creates a hair shader from spv. @ownership Caller deletes unless documented otherwise.
在文件 Graphics2D.cpp 第 1187 行定义.
引用了 eve::graphics::Shader::eMesh3D , 以及 vert.
◆ newHairShaderFromWgsl()
|
overridevirtual |
Creates a hair shader from wgsl. @ownership Caller deletes unless documented otherwise.
在文件 Graphics2D.cpp 第 1228 行定义.
◆ newHDRCanvas()
|
overridevirtual |
Creates a hdr canvas. @ownership Caller deletes unless documented otherwise.
@lifetime Returned canvas is Graphics-owned until explicitly released.
在文件 Graphics2D.cpp 第 551 行定义.
◆ newHDRCubemap()
|
overridevirtual |
Creates a hdr cubemap. @ownership Caller deletes unless documented otherwise.
@lifetime Returned texture is Graphics-owned until explicitly released.
在文件 GraphicsTexture.cpp 第 367 行定义.
引用了 index, eve::graphics::TextureSampler::linearMipmap(), eve::graphics::mipmapCountForSize(), size , 以及 u.
◆ newImageData()
|
overridevirtual |
Creates a image data. @ownership Caller deletes unless documented otherwise.
在文件 Graphics2D.cpp 第 281 行定义.
引用了 eve::graphics::Graphics::pixelHeight , 以及 eve::graphics::Graphics::pixelWidth.
◆ newMeshCylinder()
|
overridevirtual |
◆ newMeshFromArrays()
|
overridevirtual |
Creates a mesh from arrays. @ownership Caller deletes unless documented otherwise.
在文件 GraphicsMesh.cpp 第 247 行定义.
引用了 indexCount, indices, eve::graphics::Graphics::newMeshFromArraysColored() , 以及 vertexCount.
◆ newMeshFromArraysColored()
|
overridevirtual |
Create a mesh with a packed linear RGBA vertex-color stream.
- 返回
- Factory-owned mesh, or nullptr when validation or backend allocation fails. @ownership The resource factory owns the returned mesh; release it through releaseMesh. @lifetime Valid until releaseMesh, graphics shutdown, or device loss. @thread Graphics thread; all input arrays are borrowed and consumed synchronously.
在文件 GraphicsMesh.cpp 第 252 行定义.
引用了 eve::graphics::Mesh::computeBounds(), device, handle, idx, indexCount, indices, eve::graphics::vulkan::MeshVertex::pos, v, vertexCount , 以及 verts.
◆ newMeshFromAssimp() [1/2]
|
overridevirtual |
Creates a mesh from assimp. @ownership Caller deletes unless documented otherwise.
在文件 GraphicsMesh.cpp 第 52 行定义.
引用了 b, mesh, eve::graphics::vulkan::MeshVertex::pos, t, tangent, v , 以及 verts.
◆ newMeshFromAssimp() [2/2]
|
overridevirtual |
Creates a mesh from assimp. @ownership Caller deletes unless documented otherwise.
在文件 GraphicsMesh.cpp 第 149 行定义.
引用了 f, idx, mesh, eve::graphics::Graphics::newMeshFromAssimp(), normals , 以及 positions.
◆ newMeshShader()
|
overridevirtual |
Creates a mesh shader. @ownership Caller deletes unless documented otherwise.
在文件 Graphics2D.cpp 第 1272 行定义.
引用了 eve::graphics::eFragment, eve::graphics::eVertex, frag, eve::graphics::Graphics::newMeshShaderFromSpv() , 以及 vert.
被这些函数引用 replaceShaderFromGlsl().
◆ newMeshShaderFromSpv()
|
overridevirtual |
Creates a mesh shader from spv. @ownership Caller deletes unless documented otherwise.
在文件 Graphics2D.cpp 第 1141 行定义.
引用了 eve::graphics::Shader::eMesh3D, frag , 以及 vert.
◆ newMeshShaderFromWgsl()
|
overridevirtual |
Creates a mesh shader from wgsl. @ownership Caller deletes unless documented otherwise.
在文件 Graphics2D.cpp 第 1280 行定义.
◆ newMeshSphere()
|
overridevirtual |
◆ newShader()
|
overridevirtual |
Creates a shader. @ownership Caller deletes unless documented otherwise.
在文件 Graphics2D.cpp 第 1133 行定义.
引用了 eve::graphics::eFragment, eve::graphics::eVertex, frag, eve::graphics::Graphics::newShaderFromSpv() , 以及 vert.
被这些函数引用 replaceShaderFromGlsl().
◆ newShaderFromSpv()
|
overridevirtual |
Creates a shader from spv. @ownership Caller deletes unless documented otherwise.
在文件 Graphics2D.cpp 第 1090 行定义.
引用了 eve::Opaque , 以及 vert.
◆ newShaderFromSpvFile()
|
overridevirtual |
Creates a shader from spv file. @ownership Caller deletes unless documented otherwise.
在文件 Graphics2D.cpp 第 1125 行定义.
引用了 frag, eve::graphics::Graphics::newShaderFromSpv() , 以及 vert.
◆ newShaderFromWgsl()
|
overridevirtual |
Creates a shader from wgsl. @ownership Caller deletes unless documented otherwise.
在文件 Graphics2D.cpp 第 1285 行定义.
◆ newSharedTexture()
|
overridevirtual |
Reuse immutable imported pixels. Graphics owns the returned texture until release or shutdown.
重载 eve::graphics::IResourceFactory .
在文件 GraphicsTexture.cpp 第 767 行定义.
引用了 error, eve::Diagnostic::error(), eve::Failed, eve::Result< T >::failure(), found, eve::InvalidArgument, eve::graphics::Graphics::newTexture() , 以及 eve::Result< T >::success().
◆ newTexture() [1/4]
|
overridevirtual |
Creates a texture. @ownership Caller deletes unless documented otherwise.
在文件 GraphicsTexture.cpp 第 749 行定义.
◆ newTexture() [2/4]
|
overridevirtual |
Creates a texture. @ownership Caller deletes unless documented otherwise.
在文件 GraphicsTexture.cpp 第 758 行定义.
引用了 info , 以及 eve::graphics::Graphics::newTexture().
◆ newTexture() [3/4]
|
overridevirtual |
Creates a texture. @ownership Caller deletes unless documented otherwise.
在文件 GraphicsTexture.cpp 第 85 行定义.
引用了 h, info, newTexture(), eve::graphics::TextureSampler::repeatU, repeatU, repeatV, eve::graphics::TextureCreateInfo::sampler , 以及 w.
被这些函数引用 initHeadless(), initWithWindow() , 以及 newTexture().
◆ newTexture() [4/4]
|
overridevirtual |
Creates a texture. @ownership Caller deletes unless documented otherwise.
在文件 GraphicsTexture.cpp 第 92 行定义.
引用了 bytes, h, info, eve::graphics::mipmapCountForSize(), eve::graphics::vulkan::uploadTextureForAllShaderStages() , 以及 w.
◆ newTexture3DRgba8()
|
overridevirtual |
Creates a texture 3 d rgba 8. @ownership Caller deletes unless documented otherwise.
重载 eve::graphics::IResourceFactory .
在文件 GraphicsTexture.cpp 第 255 行定义.
引用了 bytes, code, depth, error, eve::Diagnostic::error(), eve::Failed, eve::Result< T >::failure(), eve::graphics::Graphics::height, eve::InvalidArgument, limits, eve::graphics::TextureSampler::linear(), message, eve::Result< T >::success(), eve::graphics::vulkan::uploadTextureForAllShaderStages() , 以及 eve::graphics::Graphics::width.
◆ newTextureArrayRgba16f()
|
overridevirtual |
Creates a texture array rgba 16 f. @ownership Caller deletes unless documented otherwise.
重载 eve::graphics::IResourceFactory .
在文件 GraphicsTexture.cpp 第 201 行定义.
引用了 bytes, code, error, eve::Diagnostic::error(), eve::Failed, eve::Result< T >::failure(), eve::graphics::Graphics::height, eve::InvalidArgument, limits, eve::graphics::TextureSampler::linear(), message, eve::Result< T >::success(), eve::graphics::vulkan::uploadTextureForAllShaderStages() , 以及 eve::graphics::Graphics::width.
◆ newTextureFromFile()
|
overridevirtual |
Creates a texture from file. @ownership Caller deletes unless documented otherwise.
在文件 GraphicsTexture.cpp 第 1121 行定义.
引用了 eve::graphics::Graphics::deferredFileTextures_, eve::graphics::Graphics::fileTextureSourceExists(), eve::ResourceManager::getInstance(), key, eve::graphics::Graphics::requestFileImageDecode() , 以及 eve::ResourceManager::waitFor().
◆ newTextureMipChain()
|
overridevirtual |
Creates a texture mip chain. @ownership Caller deletes unless documented otherwise.
重载 eve::graphics::IResourceFactory .
在文件 GraphicsTexture.cpp 第 142 行定义.
引用了 bytes, code, count, error, eve::Diagnostic::error(), eve::Failed, eve::Result< T >::failure(), h, eve::graphics::Graphics::height, eve::InvalidArgument, eve::graphics::TextureSampler::linearMipmap(), maximum, message, eve::Result< T >::success(), eve::graphics::vulkan::uploadTextureForAllShaderStages(), w , 以及 eve::graphics::Graphics::width.
◆ onNativeWindowDestroyed()
|
overridevirtual |
On native window destroyed.
在文件 Graphics.cpp 第 817 行定义.
引用了 eve::graphics::Graphics::clearPresentOverlay(), device , 以及 eve::graphics::Graphics::windowDestroyedCallbacks_.
◆ popValidationScope()
|
inlineoverridevirtual |
◆ postSceneCommandBuffer()
|
inline |
Borrow the open present command buffer for post-scene recording.
- 前置条件
- canRecordPostSceneGpuWork() is true.
在文件 Graphics.h 第 1027 行定义.
◆ present()
|
overridevirtual |
Present.
在文件 Graphics.cpp 第 1112 行定义.
引用了 eve::graphics::Graphics::isActive() , 以及 isCanvasActive().
◆ pushValidationScope()
|
inlineoverridevirtual |
◆ queryDisplayOutputSupport()
|
overridevirtual |
Queries display output support.
在文件 GraphicsDisplayOutput.cpp 第 118 行定义.
引用了 eve::Diagnostic::error(), eve::Failed, eve::Result< T >::failure() , 以及 eve::Result< T >::success().
◆ rayTracingCaps()
|
inlineoverridevirtual |
Ray tracing caps.
在文件 Graphics.h 第 420 行定义.
被这些函数引用 eve::graphics::raytracing::VulkanRayTracing::caps().
◆ rayTracingCapsRef()
|
inline |
Hardware ray-tracing capabilities probed at device creation.
在文件 Graphics.h 第 418 行定义.
◆ readDecalLayerToImageData()
|
overridevirtual |
Reads decal layer to image data.
在文件 Graphics2D.cpp 第 486 行定义.
◆ readGBufferToImageData()
|
overridevirtual |
Reads g buffer to image data.
在文件 Graphics2D.cpp 第 430 行定义.
◆ readGpuFrameTiming()
| void eve::graphics::vulkan::Graphics::readGpuFrameTiming | ( | ) |
Reads the query results after the frame's submit has completed.
在文件 Graphics.cpp 第 1163 行定义.
◆ releaseGpuParticleEmitter()
|
overridevirtual |
Release gpu particle emitter.
在文件 GraphicsParticles.cpp 第 187 行定义.
引用了 device, found, handle , 以及 waitForSharedGpuResources().
◆ releaseMesh()
|
overridevirtual |
◆ releaseShader()
|
overridevirtual |
◆ releaseTexture()
|
overridevirtual |
Release texture.
在文件 GraphicsTexture.cpp 第 803 行定义.
引用了 device, eve::graphics::Graphics::dropDeferredFileTexture(), g, eve::graphics::Texture::gpuHandle , 以及 t.
◆ reloadTextureFromFile()
|
overridevirtual |
Reloads texture from file.
在文件 GraphicsTexture.cpp 第 1155 行定义.
引用了 eve::graphics::Graphics::ensureFileTexturesReady(), eve::script::RuntimePin< T, Tag >::get(), eve::ResourceManager::getInstance(), key, eve::ResourceManager::pin() , 以及 pinned.
◆ renderEntityIdMask()
|
override |
Renders entity id mask.
在文件 Graphics2D.cpp 第 319 行定义.
引用了 d, eve::graphics::Texture::gpuHandle, h, viewProj, w , 以及 x.
◆ replaceMeshShaderResources()
|
overridevirtual |
Replace mesh shader resources.
在文件 GraphicsShaderResources.cpp 第 76 行定义.
引用了 a, eve::graphics::Array2D, b, bindings, buffer, eve::graphics::Cube, descriptor, error, eve::Diagnostic::error(), eve::Failed, eve::Result< T >::failure(), found, image, eve::graphics::Image3D, index, info, input, inputs, instanceCount, eve::InvalidArgument, eve::graphics::Shader::kPushConstantBytes, layout, limits, eve::graphics::Linear, memory, offset, output, eve::graphics::Graphics::push(), range, required, resources, shader, eve::graphics::shaderImageRegions(), eve::graphics::shaderInstanceMatrixCount(), shape, eve::Result< T >::success(), type, eve::Unsupported, eve::graphics::detail::validateResourceShaderStages() , 以及 waitForSharedGpuResources().
◆ replaceShaderFromGlsl()
|
overridevirtual |
Replace shader from glsl.
在文件 GraphicsShaderReload.cpp 第 159 行定义.
引用了 current, eve::graphics::Shader::eMesh3D, error, eve::Diagnostic::error(), eve::Failed, eve::Result< T >::failure(), eve::graphics::Shader::fragmentSpirv(), eve::graphics::Shader::getKind(), eve::InvalidArgument, eve::InvariantViolation, newMeshShader(), newShader(), owned, eve::ParseError, releaseShader(), replaceShaderFromSpv(), shader, eve::StaleHandle, eve::Unsupported , 以及 eve::graphics::Shader::vertexSpirv().
◆ replaceShaderFromSpv()
|
overridevirtual |
Replace shader from spv.
在文件 GraphicsShaderReload.cpp 第 34 行定义.
引用了 current, device, error, eve::Diagnostic::error(), eve::Failed, eve::Result< T >::failure(), eve::graphics::vulkan::GpuShader::hdrOffscreenOpaquePipeline, eve::graphics::vulkan::GpuShader::hdrOffscreenPipeline, eve::InvalidArgument, eve::graphics::vulkan::GpuShader::isHair3D, eve::graphics::vulkan::GpuShader::isMesh3D, eve::graphics::vulkan::GpuShader::mesh3dHdrOffscreenPipeline, eve::graphics::vulkan::GpuShader::mesh3dOffscreenPipeline, eve::graphics::vulkan::GpuShader::mesh3dPipeline, eve::graphics::vulkan::GpuShader::mesh3dXrayPipeline, eve::graphics::vulkan::GpuShader::offscreenOpaquePipeline, eve::graphics::vulkan::GpuShader::offscreenPipeline, eve::Opaque, owned, eve::graphics::vulkan::GpuShader::owner, eve::ParseError, eve::graphics::vulkan::GpuShader::pipelineLayout, shader, eve::StaleHandle, eve::Result< T >::success(), eve::graphics::vulkan::GpuShader::swapchainOpaquePipeline, eve::graphics::vulkan::GpuShader::swapchainPipeline, eve::graphics::vulkan::validateMeshResourceShaderReload(), vert , 以及 waitForSharedGpuResources().
被这些函数引用 replaceShaderFromGlsl().
◆ replaceShaderFromWgsl()
|
overridevirtual |
Replace shader from wgsl.
在文件 GraphicsShaderReload.cpp 第 153 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure() , 以及 eve::Unsupported.
◆ replaceTexturePixels()
| bool eve::graphics::vulkan::Graphics::replaceTexturePixels | ( | Texture * | tex, |
| image::ImageData * | data | ||
| ) |
Replace texture pixels.
在文件 GraphicsTexture.cpp 第 873 行定义.
◆ replaceTexturePixelsRGBA()
| bool eve::graphics::vulkan::Graphics::replaceTexturePixelsRGBA | ( | Texture * | tex, |
| int | w, | ||
| int | h, | ||
| const uint8_t * | rgba | ||
| ) |
Replace texture pixels rgba.
在文件 GraphicsTexture.cpp 第 1055 行定义.
引用了 bytes, device, eve::graphics::Texture::gpuHandle, h, eve::graphics::Texture::height, info, eve::graphics::Texture::mipmapCount, eve::graphics::mipmapCountForSize(), owned, eve::graphics::Texture::pixelHeight, eve::graphics::Texture::pixelWidth, eve::graphics::Texture::sampler, eve::graphics::TextureCreateInfo::sampler, eve::graphics::vulkan::uploadTextureForAllShaderStages(), w , 以及 eve::graphics::Texture::width.
◆ requestSurfaceRecreate()
|
inlineoverridevirtual |
◆ resetGpuParticleEmitter()
|
overridevirtual |
Resets gpu particle emitter.
在文件 GraphicsParticles.cpp 第 202 行定义.
◆ setCanvas()
|
overridevirtual |
◆ setCloudShadows()
|
overridevirtual |
Sets the cloud shadows.
在文件 Graphics3D.cpp 第 1090 行定义.
引用了 eve::graphics::vulkan::Mesh3DUBO::cloud, eve::graphics::vulkan::Mesh3DUBO::cloudWind, detail, strength , 以及 time.
◆ setDecalCamera()
|
overridevirtual |
◆ setDisplayHdrCalibration()
|
overridevirtual |
Sets the display hdr calibration.
在文件 GraphicsDisplayOutput.cpp 第 107 行定义.
引用了 eve::graphics::display::clampCalibration(), eve::graphics::Graphics::displayPaperWhiteNits_, eve::graphics::Graphics::displayPeakNits_, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument , 以及 eve::Result< T >::success().
◆ setDisplayOutputMode()
|
overridevirtual |
Sets the display output mode.
在文件 GraphicsDisplayOutput.cpp 第 95 行定义.
引用了 eve::graphics::Graphics::Auto, eve::graphics::Graphics::displayOutputMode_, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::graphics::Graphics::Hdr10, eve::InvalidArgument, eve::graphics::Graphics::ScRgb, eve::graphics::Graphics::Sdr , 以及 eve::Result< T >::success().
◆ setLighting2D()
|
overridevirtual |
◆ setMesh3DCameraPos()
|
overridevirtual |
Sets the mesh 3 d camera pos.
在文件 Graphics3D.cpp 第 363 行定义.
◆ setMesh3DClip()
|
overridevirtual |
Sets the mesh 3 d clip.
在文件 Graphics3D.cpp 第 1203 行定义.
引用了 eve::graphics::ClusteredLightingUpload::clipInfo, eve::graphics::vulkan::Mesh3DUBO::clipInfo, f , 以及 n.
◆ setMesh3DClusteredActive()
|
overridevirtual |
◆ setMesh3DClusteredLighting()
|
overridevirtual |
Sets the mesh 3 d clustered lighting.
在文件 GraphicsPipeline.cpp 第 1983 行定义.
引用了 eve::graphics::ClusteredLightingUpload::active.
被这些函数引用 drawDeferredLighting().
◆ setMesh3DEnv()
|
overridevirtual |
◆ setMesh3DEnvProbe()
|
overridevirtual |
Sets the mesh 3 d env probe.
在文件 Graphics3D.cpp 第 674 行定义.
引用了 center, eve::graphics::vulkan::Mesh3DUBO::envProbeCenter , 以及 eve::graphics::vulkan::Mesh3DUBO::envProbeExtent.
◆ setMesh3DHeightTexture()
|
overridevirtual |
◆ setMesh3DLight()
|
overridevirtual |
Sets the mesh 3 d light.
在文件 Graphics3D.cpp 第 355 行定义.
引用了 color, d, dir, eve::graphics::vulkan::Mesh3DUBO::lightColor , 以及 eve::graphics::vulkan::Mesh3DUBO::lightDir.
◆ setMesh3DLighting()
|
overridevirtual |
Sets the mesh 3 d lighting.
在文件 Graphics3D.cpp 第 1053 行定义.
引用了 eve::graphics::Lighting3DPack::ambient, eve::graphics::vulkan::Mesh3DUBO::ambient, eve::graphics::Light3DGpu::color, eve::graphics::Lighting3DPack::count, d, eve::graphics::vulkan::Mesh3DUBO::diffuseProbeInfo, eve::graphics::Lighting3DPack::diffuseProbeSh, eve::graphics::vulkan::Mesh3DUBO::diffuseProbeSh, eve::graphics::Lighting3DPack::diffuseProbeShEnabled, eve::graphics::Lighting3DPack::diffuseVolumeExtent, eve::graphics::vulkan::Mesh3DUBO::diffuseVolumeExtent, eve::graphics::vulkan::Mesh3DUBO::diffuseVolumeInfo, eve::graphics::Lighting3DPack::diffuseVolumePosition, eve::graphics::vulkan::Mesh3DUBO::diffuseVolumePosition, eve::graphics::Lighting3DPack::diffuseVolumeProbeCount, eve::graphics::Lighting3DPack::diffuseVolumeSh, eve::graphics::vulkan::Mesh3DUBO::diffuseVolumeSh, eve::graphics::Lighting3DPack::diffuseVolumeTrilinearCell, eve::graphics::Lighting3DPack::kMaxLights, eve::graphics::vulkan::Mesh3DUBO::lightColor, eve::graphics::vulkan::Mesh3DUBO::lightDir, eve::graphics::Lighting3DPack::lights, n , 以及 eve::graphics::Light3DGpu::posRadius.
◆ setMesh3DLodDither()
|
overridevirtual |
Sets the mesh 3 d lod dither.
在文件 Graphics3D.cpp 第 1047 行定义.
引用了 enabled, eve::graphics::vulkan::Mesh3DUBO::lodFade , 以及 weight.
◆ setMesh3DMaterial()
|
overridevirtual |
Sets the mesh 3 d material.
在文件 Graphics3D.cpp 第 1010 行定义.
引用了 eve::graphics::vulkan::Mesh3DUBO::ambient, eve::graphics::vulkan::Mesh3DUBO::cameraPos, metallic , 以及 roughness.
◆ setMesh3DNormalTexture()
|
overridevirtual |
◆ setMesh3DPackedNormalMask()
|
overridevirtual |
Sets the mesh 3 d packed normal mask.
在文件 Graphics3D.cpp 第 597 行定义.
引用了 enabled , 以及 eve::graphics::vulkan::Mesh3DUBO::virtualAtlas.
◆ setMesh3DParallax()
|
overridevirtual |
Sets the mesh 3 d parallax.
在文件 Graphics3D.cpp 第 1036 行定义.
◆ setMesh3DPbrSurface()
|
overridevirtual |
Sets the mesh 3 d pbr surface.
在文件 GraphicsPbr.cpp 第 92 行定义.
引用了 binding, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::graphics::Texture::gpuHandle, eve::InvalidArgument, eve::graphics::PbrVegetationExtras::layer, eve::graphics::PbrVegetationColors::layer, eve::graphics::PbrVegetationVertex::layer, eve::graphics::PbrVegetationMotion::layer, layer, eve::graphics::Texture::layers, eve::graphics::PbrVegetationMotion::noise, eve::graphics::PbrVegetationAlpha::noise, eve::Result< T >::success(), eve::graphics::PbrVegetationExtras::texture, eve::graphics::PbrVegetationColors::texture, eve::graphics::PbrVegetationVertex::texture, eve::graphics::PbrVegetationMotion::texture, eve::graphics::PbrVegetationDetail::textures, eve::graphics::PbrSurface::textures, eve::graphics::validatePbrSurface(), eve::graphics::PbrSurface::vegetationAlpha, eve::graphics::PbrSurface::vegetationColors, eve::graphics::PbrSurface::vegetationDetail, eve::graphics::PbrSurface::vegetationExtras, eve::graphics::PbrSurface::vegetationMotion, eve::graphics::PbrSurface::vegetationVertex , 以及 volume.
◆ setMesh3DReflectionProbes()
|
overridevirtual |
◆ setMesh3DSceneColor()
|
overridevirtual |
◆ setMesh3DSceneDepth()
|
overridevirtual |
◆ setMesh3DShadowReceive()
|
overridevirtual |
◆ setMesh3DShadows()
|
overridevirtual |
◆ setMesh3DSkinInfluenceLimit()
|
overridevirtual |
◆ setMesh3DSSAO()
|
inlineoverridevirtual |
◆ setMesh3DSurface()
|
overridevirtual |
◆ setMesh3DTexCellBomb()
|
overridevirtual |
Sets the mesh 3 d tex cell bomb.
在文件 Graphics3D.cpp 第 1028 行定义.
引用了 strength , 以及 eve::graphics::vulkan::Mesh3DUBO::texBomb.
◆ setMesh3DView()
|
overridevirtual |
Sets the mesh 3 d view.
在文件 Graphics3D.cpp 第 1199 行定义.
引用了 view , 以及 eve::graphics::vulkan::Mesh3DUBO::view.
◆ setMesh3DViewProj()
|
overridevirtual |
Sets the mesh 3 d view proj.
在文件 Graphics3D.cpp 第 1195 行定义.
◆ setMesh3DVirtualTexture()
|
overridevirtual |
Sets the mesh 3 d virtual texture.
在文件 Graphics3D.cpp 第 604 行定义.
引用了 enabled, eve::graphics::vulkan::Mesh3DUBO::virtualAtlas , 以及 eve::graphics::vulkan::Mesh3DUBO::virtualTexture.
◆ setMeshSkinningData()
|
overridevirtual |
Sets the mesh skinning data.
在文件 GraphicsMesh.cpp 第 386 行定义.
引用了 mesh, source, vertexCount, verts , 以及 weights.
◆ setMsaaSamples()
|
inlineoverridevirtual |
◆ setSceneAutoExposure()
|
inlineoverridevirtual |
◆ setSceneBloom()
|
inlineoverridevirtual |
◆ setSceneColorFilter()
|
inlineoverridevirtual |
◆ setSceneDepthOfField()
|
inlineoverridevirtual |
◆ setSceneExposure()
|
inlineoverridevirtual |
◆ setSceneLiftGammaGain()
|
inlineoverridevirtual |
◆ setScenePhotographicVignette()
|
overridevirtual |
Set the render-thread photographic vignette; inherited validation and ownership contract.
在文件 GraphicsToneMapping.cpp 第 13 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument , 以及 eve::Result< T >::success().
◆ setSceneToneMapping()
|
overridevirtual |
Sets the scene tone mapping.
在文件 GraphicsToneMapping.cpp 第 6 行定义.
引用了 eve::graphics::Graphics::Aces, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::graphics::Graphics::Filmic, eve::InvalidArgument, eve::graphics::Graphics::None , 以及 eve::Result< T >::success().
◆ setSceneTransitionFx()
|
inlineoverridevirtual |
◆ setScreenReadbackEnabled()
|
inlineoverridevirtual |
Sets the screen readback enabled.
Sets the screen readback enabled.
Ensure present capture hook.
在文件 Graphics.h 第 386 行定义.
引用了 enabled , 以及 eve::graphics::Graphics::setScreenReadbackEnabled().
◆ setTextureSampler()
|
overridevirtual |
Sets the texture sampler.
在文件 GraphicsTexture.cpp 第 786 行定义.
引用了 device, eve::graphics::Graphics::ensureFileTexturesReady(), eve::graphics::Texture::gpuHandle, owned, eve::graphics::Texture::sampler , 以及 sampler.
◆ setViewportSize()
|
overridevirtual |
Sets the viewport size.
在文件 Graphics2D.cpp 第 587 行定义.
引用了 eve::graphics::Graphics::height, eve::graphics::Graphics::pixelHeight, eve::graphics::Graphics::pixelWidth , 以及 eve::graphics::Graphics::width.
被这些函数引用 initHeadless() , 以及 initWithWindow().
◆ setVSync()
|
inlineoverridevirtual |
Sets the v sync.
Sets the v sync.
Mark swapchain dirty.
在文件 Graphics.h 第 393 行定义.
引用了 enabled , 以及 eve::graphics::Graphics::setVSync().
◆ supportsDecal()
|
inlineoverridevirtual |
◆ supportsDeferredLighting()
|
inlineoverridevirtual |
◆ supportsGpuDriven3D()
|
inlineoverridevirtual |
◆ supportsGpuParticles()
|
inlineoverridevirtual |
Supports gpu particles.
在文件 Graphics.h 第 478 行定义.
被这些函数引用 canSubmitGpuParticles() , 以及 createGpuParticleEmitter().
◆ supportsRayTracing()
|
inlineoverridevirtual |
Supports ray tracing.
在文件 Graphics.h 第 422 行定义.
被这些函数引用 eve::graphics::raytracing::VulkanRayTracing::isAvailable().
◆ supportsRuntimeGlslCompilation()
|
overridevirtual |
Supports runtime glsl compilation.
在文件 Graphics.cpp 第 294 行定义.
◆ syncMaterialTable()
| void eve::graphics::vulkan::Graphics::syncMaterialTable | ( | ) |
Upload all registered material records to the GPU table.
在文件 GraphicsGpuDriven.cpp 第 808 行定义.
被这些函数引用 gpuDrivenReleaseMaterialRecord() , 以及 materialTableGetOrCreate().
◆ updateGpuParticleEmitter()
|
overridevirtual |
Updates gpu particle emitter.
@compatibility Implements the established GPU-particle boolean submission facade.
在文件 GraphicsParticles.cpp 第 213 行定义.
引用了 canSubmitGpuParticles(), found, handle, resource , 以及 spawnCount.
◆ updateMeshVertices()
|
overridevirtual |
Updates mesh vertices.
在文件 GraphicsMesh.cpp 第 350 行定义.
引用了 indexCount, indices, mesh, eve::graphics::vulkan::MeshVertex::pos, v, vertexCount , 以及 verts.
◆ updateTexture()
|
overridevirtual |
Updates texture.
在文件 GraphicsTexture.cpp 第 880 行定义.
引用了 bytes, eve::graphics::Graphics::height, eve::graphics::Texture::height, eve::graphics::Texture::mipmapCount, eve::Result< void >::ok(), eve::graphics::Graphics::updateTextureRegion(), eve::graphics::Graphics::width , 以及 eve::graphics::Texture::width.
◆ updateTextureFromResidentRgba8()
|
overridevirtual |
Updates texture from resident rgba 8.
在文件 GraphicsTexture.cpp 第 893 行定义.
引用了 buffer, context, device, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::graphics::Texture::gpuHandle, eve::graphics::Graphics::height, eve::graphics::Texture::height, eve::InvalidArgument, eve::graphics::Texture::mipmapCount, owned, required, source, eve::Unsupported, eve::Vulkan , 以及 eve::graphics::Graphics::width.
◆ updateTextureRegion()
|
overridevirtual |
Updates texture region.
在文件 GraphicsTexture.cpp 第 950 行定义.
引用了 eve::graphics::Graphics::height, eve::graphics::Graphics::updateTextureRegions(), eve::graphics::Graphics::width, x , 以及 y.
◆ updateTextureRegions()
|
overridevirtual |
Updates texture regions.
在文件 GraphicsTexture.cpp 第 958 行定义.
引用了 eve::graphics::TextureRegionUpload::bytesPerRow, device, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::graphics::Texture::gpuHandle, eve::graphics::TextureRegionUpload::height, eve::graphics::Texture::height, index, eve::InvalidArgument, eve::graphics::Texture::mipmapCount, owned, eve::graphics::TextureRegionUpload::rgba, eve::Result< T >::success(), eve::Unsupported, eve::graphics::TextureRegionUpload::width , 以及 eve::graphics::Texture::width.
◆ uploadDeferredFileTexture()
|
overridevirtual |
◆ waitForSharedGpuResources()
| void eve::graphics::vulkan::Graphics::waitForSharedGpuResources | ( | ) |
Block until all in-flight GPU work (all frames) has completed.
在文件 Graphics.cpp 第 885 行定义.
被这些函数引用 releaseGpuParticleEmitter(), replaceMeshShaderResources() , 以及 replaceShaderFromSpv().
◆ writeGpuTimestampBegin()
| void eve::graphics::vulkan::Graphics::writeGpuTimestampBegin | ( | ) |
Writes a begin timestamp into the current present command buffer.
在文件 Graphics.cpp 第 1150 行定义.
◆ writeGpuTimestampEnd()
| void eve::graphics::vulkan::Graphics::writeGpuTimestampEnd | ( | ) |
Writes an end timestamp into the current present command buffer.
在文件 Graphics.cpp 第 1157 行定义.
友元及相关函数文档
◆ OffscreenCanvas
|
friend |
在文件 Graphics.h 第 1075 行定义.
该类的文档由以下文件生成:
- src/modules/graphics/vulkan/Graphics.h
- src/modules/graphics/vulkan/Graphics.cpp
- src/modules/graphics/vulkan/Graphics2D.cpp
- src/modules/graphics/vulkan/Graphics3D.cpp
- src/modules/graphics/vulkan/GraphicsDeferredGraph.cpp
- src/modules/graphics/vulkan/GraphicsDeferredLighting.cpp
- src/modules/graphics/vulkan/GraphicsDisplayOutput.cpp
- src/modules/graphics/vulkan/GraphicsGpuDriven.cpp
- src/modules/graphics/vulkan/GraphicsMesh.cpp
- src/modules/graphics/vulkan/GraphicsMeshPool.cpp
- src/modules/graphics/vulkan/GraphicsMeshStylePipeline.cpp
- src/modules/graphics/vulkan/GraphicsOffscreen.cpp
- src/modules/graphics/vulkan/GraphicsOffscreenPipeline.cpp
- src/modules/graphics/vulkan/GraphicsParticles.cpp
- src/modules/graphics/vulkan/GraphicsPbr.cpp
- src/modules/graphics/vulkan/GraphicsPipeline.cpp
- src/modules/graphics/vulkan/GraphicsPrimitives.cpp
- src/modules/graphics/vulkan/GraphicsShaderReload.cpp
- src/modules/graphics/vulkan/GraphicsShaderResources.cpp
- src/modules/graphics/vulkan/GraphicsShaderSurface.cpp
- src/modules/graphics/vulkan/GraphicsSkin.cpp
- src/modules/graphics/vulkan/GraphicsTexture.cpp
- src/modules/graphics/vulkan/GraphicsToneMapping.cpp
Public 成员函数 继承自