3D frame / mesh / light / shadow rendering surface. 更多...
#include <IGraphics3D.h>
Public 成员函数 | |
| virtual | ~IGraphics3D ()=default |
| Releases IGraphics3D resources. | |
| virtual void | render3D ()=0 |
| Renders 3 d. | |
| virtual void | renderScene3DToCanvas (Canvas *canvas, Camera3D *camera)=0 |
| Renders scene 3 d to canvas. | |
| virtual void | setDirectionalLight (float dx, float dy, float dz, float r=1.f, float g=1.f, float b=1.f)=0 |
| 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)=0 |
| Draws scene 3 drgba. | |
| 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)=0 |
| Draws canvas rgba. | |
| virtual void | begin3DFrame ()=0 |
| Begins 3 d frame. | |
| virtual void | begin3DFrameToCanvas (Canvas *canvas)=0 |
| Begins 3 d frame to canvas. | |
| virtual void | end3DFrameToCanvas ()=0 |
| Ends 3 d frame to canvas. | |
| virtual void | drawPrimitiveScene (const PrimitiveSceneCanvas3D &canvas)=0 |
| Submits an owning frame-local primitive canvas into the active 3D pass. | |
| virtual void | setMesh3DViewProj (const glm::mat4 &viewProj)=0 |
| Sets the mesh 3 d view proj. | |
| virtual void | setMesh3DView (const glm::mat4 &view)=0 |
| Sets the mesh 3 d view. | |
| virtual void | setMesh3DClip (float nearZ, float farZ)=0 |
| Sets the mesh 3 d clip. | |
| virtual void | drawMesh (Mesh *mesh, const glm::mat4 &model, Texture *texture, const Color &tint)=0 |
| Draws mesh. | |
| virtual void | drawMeshShader (Mesh *mesh, const glm::mat4 &model, Texture *texture, const Color &tint, Shader *shader)=0 |
| Draws mesh shader. | |
| virtual void | setMesh3DNormalTexture (Texture *normal)=0 |
| Sets the mesh 3 d normal texture. | |
| virtual void | setMesh3DHeightTexture (Texture *height)=0 |
| Sets the mesh 3 d height texture. | |
| virtual void | setMesh3DSceneDepth (Texture *depth)=0 |
| Sets the mesh 3 d scene depth. | |
| virtual void | setMesh3DSceneColor (Texture *color)=0 |
| Sets the mesh 3 d scene color. | |
| virtual void | setMesh3DMaterial (float metallic, float roughness)=0 |
| Sets the mesh 3 d material. | |
| virtual Result< void > | setMesh3DPbrSurface (const PbrSurface *surface) |
| Copy a validated extended surface for subsequent draws; null resets to legacy shading. | |
| virtual void | setMesh3DTexCellBomb (float cellScale, float strength, float rotAmount=1.f)=0 |
| Sets the mesh 3 d tex cell bomb. | |
| virtual void | setMesh3DParallax (float scale, float minLayers=8.f, float maxLayers=32.f)=0 |
| Sets the mesh 3 d parallax. | |
| virtual void | setMesh3DLighting (const Lighting3DPack &pack)=0 |
| Sets the mesh 3 d lighting. | |
| virtual void | setMesh3DClusteredLighting (const ClusteredLightingUpload &upload)=0 |
| Sets the mesh 3 d clustered lighting. | |
| virtual void | setMesh3DLight (const glm::vec3 &dir, const glm::vec3 &color)=0 |
| Sets the mesh 3 d light. | |
| virtual void | setMesh3DCameraPos (const glm::vec3 &eye)=0 |
| Sets the mesh 3 d camera pos. | |
| virtual void | setCloudShadows (float strength, float worldCell, float time, float windSpeed, float windAngle, float coverage, float detail)=0 |
| Sets the cloud shadows. | |
| virtual void | setMesh3DEnv (Texture *cube, float intensity)=0 |
| Sets the mesh 3 d env. | |
| virtual void | setMesh3DEnvProbe (const glm::vec3 ¢er, const glm::vec3 &extent)=0 |
| Sets the mesh 3 d env probe. | |
| virtual void | setMesh3DReflectionProbes (const ReflectionProbeUpload &upload)=0 |
| Sets the mesh 3 d reflection probes. | |
| virtual void | setMesh3DShadows (const ShadowUpload &upload)=0 |
| Sets the mesh 3 d shadows. | |
| virtual void | setMesh3DShadowReceive (bool receive)=0 |
| Sets the mesh 3 d shadow receive. | |
| virtual void | setMesh3DSkinInfluenceLimit (SkinInfluenceLimit count)=0 |
| Select the influence limit consumed by subsequent mesh draws. | |
| virtual void | beginShadowPass (int cascadeIndex)=0 |
| Begins shadow pass. | |
| virtual void | drawMeshShadow (Mesh *mesh, const glm::mat4 &lightMVP, bool doubleSided=true)=0 |
| Queue an opaque caster with explicit face-culling policy. | |
| virtual void | drawMeshShadowAlpha (Mesh *mesh, const glm::mat4 &lightMVP, Texture *albedo=nullptr, bool doubleSided=true, float lodWeight=1.f, bool lodFadeReverse=false, bool lodDither=false)=0 |
| Queue an alpha-cutout caster with explicit face-culling policy. | |
| virtual void | endShadowPass ()=0 |
| Ends shadow pass. | |
| virtual void | beginGBufferPass (int width, int height)=0 |
| Begins g buffer pass. | |
| virtual 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)=0 |
| Draws mesh g buffer. | |
| virtual 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)=0 |
| Draws mesh g buffer alpha. | |
| virtual void | endGBufferPass ()=0 |
| Ends g buffer pass. | |
| virtual 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)=0 |
| Draws voxel face instances. | |
详细描述
3D frame / mesh / light / shadow rendering surface.
在文件 IGraphics3D.h 第 51 行定义.
构造及析构函数说明
◆ ~IGraphics3D()
|
virtualdefault |
Releases IGraphics3D resources.
成员函数说明
◆ begin3DFrame()
|
pure virtual |
Begins 3 d frame.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ begin3DFrameToCanvas()
|
pure virtual |
Begins 3 d frame to canvas.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ beginGBufferPass()
|
pure virtual |
Begins g buffer pass.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ beginShadowPass()
|
pure virtual |
Begins shadow pass.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ drawCanvasRGBA()
|
pure virtual |
Draws canvas rgba.
在 eve::graphics::Graphics 内被实现.
◆ drawMesh()
|
pure virtual |
Draws mesh.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ drawMeshGBuffer()
|
pure virtual |
Draws mesh g buffer.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ drawMeshGBufferAlpha()
|
pure virtual |
Draws mesh g buffer alpha.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ drawMeshShader()
|
pure virtual |
Draws mesh shader.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ drawMeshShadow()
|
pure virtual |
Queue an opaque caster with explicit face-culling policy.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ drawMeshShadowAlpha()
|
pure virtual |
Queue an alpha-cutout caster with explicit face-culling policy.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ drawPrimitiveScene()
|
pure virtual |
Submits an owning frame-local primitive canvas into the active 3D pass.
- 参数
-
canvas Synchronously consumed command snapshot; it is never retained. @thread Render-thread affine and valid only between begin/end 3D frame calls. @reentrancy Does not invoke scripts or caller callbacks.
在 eve::graphics::vulkan::Graphics , 以及 eve::graphics::webgpu::Graphics 内被实现.
被这些函数引用 eve::graphics_editing::PrimitiveGizmoRenderer::render() , 以及 eve::graphics::RenderSystem3D::render().
◆ drawScene3DRGBA()
|
pure virtual |
Draws scene 3 drgba.
在 eve::graphics::Graphics 内被实现.
◆ drawVoxelFaceInstances()
|
pure virtual |
Draws voxel face instances.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ end3DFrameToCanvas()
|
pure virtual |
Ends 3 d frame to canvas.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ endGBufferPass()
|
pure virtual |
Ends g buffer pass.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ endShadowPass()
|
pure virtual |
Ends shadow pass.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ render3D()
|
pure virtual |
Renders 3 d.
在 eve::graphics::Graphics 内被实现.
◆ renderScene3DToCanvas()
|
pure virtual |
Renders scene 3 d to canvas.
在 eve::graphics::Graphics 内被实现.
◆ setCloudShadows()
|
pure virtual |
Sets the cloud shadows.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ setDirectionalLight()
|
pure virtual |
Sets the directional light.
在 eve::graphics::Graphics 内被实现.
◆ setMesh3DCameraPos()
|
pure virtual |
Sets the mesh 3 d camera pos.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ setMesh3DClip()
|
pure virtual |
Sets the mesh 3 d clip.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ setMesh3DClusteredLighting()
|
pure virtual |
Sets the mesh 3 d clustered lighting.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ setMesh3DEnv()
|
pure virtual |
Sets the mesh 3 d env.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ setMesh3DEnvProbe()
|
pure virtual |
Sets the mesh 3 d env probe.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ setMesh3DHeightTexture()
|
pure virtual |
Sets the mesh 3 d height texture.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ setMesh3DLight()
|
pure virtual |
Sets the mesh 3 d light.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ setMesh3DLighting()
|
pure virtual |
Sets the mesh 3 d lighting.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ setMesh3DMaterial()
|
pure virtual |
Sets the mesh 3 d material.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ setMesh3DNormalTexture()
|
pure virtual |
Sets the mesh 3 d normal texture.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ setMesh3DParallax()
|
pure virtual |
Sets the mesh 3 d parallax.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ setMesh3DPbrSurface()
|
inlinevirtual |
Copy a validated extended surface for subsequent draws; null resets to legacy shading.
- 参数
-
surface Borrowed snapshot, consumed synchronously on the graphics thread.
- 返回
- Unsupported when a backend has no extended renderer; reset always succeeds. No pointer to the snapshot is retained; its borrowed textures must outlive queued draws.
Failure.
被 eve::graphics::Graphics, eve::graphics::vulkan::Graphics , 以及 eve::graphics::webgpu::Graphics 重载.
在文件 IGraphics3D.h 第 114 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::Result< T >::success() , 以及 eve::Unsupported.
◆ setMesh3DReflectionProbes()
|
pure virtual |
Sets the mesh 3 d reflection probes.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ setMesh3DSceneColor()
|
pure virtual |
Sets the mesh 3 d scene color.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ setMesh3DSceneDepth()
|
pure virtual |
Sets the mesh 3 d scene depth.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ setMesh3DShadowReceive()
|
pure virtual |
Sets the mesh 3 d shadow receive.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ setMesh3DShadows()
|
pure virtual |
Sets the mesh 3 d shadows.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ setMesh3DSkinInfluenceLimit()
|
pure virtual |
Select the influence limit consumed by subsequent mesh draws.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ setMesh3DTexCellBomb()
|
pure virtual |
Sets the mesh 3 d tex cell bomb.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ setMesh3DView()
|
pure virtual |
Sets the mesh 3 d view.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
◆ setMesh3DViewProj()
|
pure virtual |
Sets the mesh 3 d view proj.
在 eve::graphics::vulkan::Graphics, eve::graphics::webgpu::Graphics , 以及 eve::graphics::Graphics 内被实现.
该类的文档由以下文件生成:
- src/modules/graphics/IGraphics3D.h