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

3D frame / mesh / light / shadow rendering surface. 更多...

#include <IGraphics3D.h>

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

Public 成员函数

virtual ~IGraphics3D ()=default
 
virtual void render3D ()=0
 
virtual void renderScene3DToCanvas (Canvas *canvas, Camera3D *camera)=0
 
virtual void setDirectionalLight (float dx, float dy, float dz, float r=1.f, float g=1.f, float b=1.f)=0
 
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
 
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
 
virtual void begin3DFrame ()=0
 
virtual void begin3DFrameToCanvas (Canvas *canvas)=0
 
virtual void end3DFrameToCanvas ()=0
 
virtual void setMesh3DViewProj (const glm::mat4 &viewProj)=0
 
virtual void setMesh3DView (const glm::mat4 &view)=0
 
virtual void setMesh3DClip (float nearZ, float farZ)=0
 
virtual void drawMesh (Mesh *mesh, const glm::mat4 &model, Texture *texture, const Color &tint)=0
 
virtual void drawMeshShader (Mesh *mesh, const glm::mat4 &model, Texture *texture, const Color &tint, Shader *shader)=0
 
virtual void setMesh3DNormalTexture (Texture *normal)=0
 
virtual void setMesh3DHeightTexture (Texture *height)=0
 
virtual void setMesh3DSceneDepth (Texture *depth)=0
 
virtual void setMesh3DMaterial (float metallic, float roughness)=0
 
virtual void setMesh3DTexCellBomb (float cellScale, float strength, float rotAmount=1.f)=0
 
virtual void setMesh3DParallax (float scale, float minLayers=8.f, float maxLayers=32.f)=0
 
virtual void setMesh3DLighting (const Lighting3DPack &pack)=0
 
virtual void setMesh3DClusteredLighting (const ClusteredLightingUpload &upload)=0
 
virtual void setMesh3DLight (const glm::vec3 &dir, const glm::vec3 &color)=0
 
virtual void setMesh3DCameraPos (const glm::vec3 &eye)=0
 
virtual void setCloudShadows (float strength, float worldCell, float time, float windSpeed, float windAngle, float coverage, float detail)=0
 
virtual void setMesh3DEnv (Texture *cube, float intensity)=0
 
virtual void setMesh3DShadows (const ShadowUpload &upload)=0
 
virtual void setMesh3DShadowReceive (bool receive)=0
 
virtual void beginShadowPass (int cascadeIndex)=0
 
virtual void drawMeshShadow (Mesh *mesh, const glm::mat4 &lightMVP)=0
 
virtual void drawMeshShadowAlpha (Mesh *mesh, const glm::mat4 &lightMVP, Texture *albedo=nullptr)=0
 
virtual void endShadowPass ()=0
 
virtual void beginGBufferPass (int width, int height)=0
 
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)=0
 
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)=0
 
virtual void endGBufferPass ()=0
 
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
 

详细描述

3D frame / mesh / light / shadow rendering surface.

在文件 IGraphics3D.h28 行定义.

构造及析构函数说明

◆ ~IGraphics3D()

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

成员函数说明

◆ begin3DFrame()

virtual void eve::graphics::IGraphics3D::begin3DFrame ( )
pure virtual

◆ begin3DFrameToCanvas()

virtual void eve::graphics::IGraphics3D::begin3DFrameToCanvas ( Canvas canvas)
pure virtual

◆ beginGBufferPass()

virtual void eve::graphics::IGraphics3D::beginGBufferPass ( int  width,
int  height 
)
pure virtual

◆ beginShadowPass()

virtual void eve::graphics::IGraphics3D::beginShadowPass ( int  cascadeIndex)
pure virtual

◆ drawCanvasRGBA()

virtual void eve::graphics::IGraphics3D::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 
)
pure virtual

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

◆ drawMesh()

virtual void eve::graphics::IGraphics3D::drawMesh ( Mesh mesh,
const glm::mat4 &  model,
Texture texture,
const Color tint 
)
pure virtual

◆ drawMeshGBuffer()

virtual void eve::graphics::IGraphics3D::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 
)
pure virtual

◆ drawMeshGBufferAlpha()

virtual void eve::graphics::IGraphics3D::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 
)
pure virtual

◆ drawMeshShader()

virtual void eve::graphics::IGraphics3D::drawMeshShader ( Mesh mesh,
const glm::mat4 &  model,
Texture texture,
const Color tint,
Shader shader 
)
pure virtual

◆ drawMeshShadow()

virtual void eve::graphics::IGraphics3D::drawMeshShadow ( Mesh mesh,
const glm::mat4 &  lightMVP 
)
pure virtual

◆ drawMeshShadowAlpha()

virtual void eve::graphics::IGraphics3D::drawMeshShadowAlpha ( Mesh mesh,
const glm::mat4 &  lightMVP,
Texture albedo = nullptr 
)
pure virtual

◆ drawScene3DRGBA()

virtual void eve::graphics::IGraphics3D::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 
)
pure virtual

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

◆ drawVoxelFaceInstances()

virtual void eve::graphics::IGraphics3D::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 
)
pure virtual

◆ end3DFrameToCanvas()

virtual void eve::graphics::IGraphics3D::end3DFrameToCanvas ( )
pure virtual

◆ endGBufferPass()

virtual void eve::graphics::IGraphics3D::endGBufferPass ( )
pure virtual

◆ endShadowPass()

virtual void eve::graphics::IGraphics3D::endShadowPass ( )
pure virtual

◆ render3D()

virtual void eve::graphics::IGraphics3D::render3D ( )
pure virtual

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

◆ renderScene3DToCanvas()

virtual void eve::graphics::IGraphics3D::renderScene3DToCanvas ( Canvas canvas,
Camera3D camera 
)
pure virtual

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

◆ setCloudShadows()

virtual void eve::graphics::IGraphics3D::setCloudShadows ( float  strength,
float  worldCell,
float  time,
float  windSpeed,
float  windAngle,
float  coverage,
float  detail 
)
pure virtual

◆ setDirectionalLight()

virtual void eve::graphics::IGraphics3D::setDirectionalLight ( float  dx,
float  dy,
float  dz,
float  r = 1.f,
float  g = 1.f,
float  b = 1.f 
)
pure virtual

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

◆ setMesh3DCameraPos()

virtual void eve::graphics::IGraphics3D::setMesh3DCameraPos ( const glm::vec3 &  eye)
pure virtual

◆ setMesh3DClip()

virtual void eve::graphics::IGraphics3D::setMesh3DClip ( float  nearZ,
float  farZ 
)
pure virtual

◆ setMesh3DClusteredLighting()

virtual void eve::graphics::IGraphics3D::setMesh3DClusteredLighting ( const ClusteredLightingUpload upload)
pure virtual

◆ setMesh3DEnv()

virtual void eve::graphics::IGraphics3D::setMesh3DEnv ( Texture cube,
float  intensity 
)
pure virtual

◆ setMesh3DHeightTexture()

virtual void eve::graphics::IGraphics3D::setMesh3DHeightTexture ( Texture height)
pure virtual

◆ setMesh3DLight()

virtual void eve::graphics::IGraphics3D::setMesh3DLight ( const glm::vec3 &  dir,
const glm::vec3 &  color 
)
pure virtual

◆ setMesh3DLighting()

virtual void eve::graphics::IGraphics3D::setMesh3DLighting ( const Lighting3DPack pack)
pure virtual

◆ setMesh3DMaterial()

virtual void eve::graphics::IGraphics3D::setMesh3DMaterial ( float  metallic,
float  roughness 
)
pure virtual

◆ setMesh3DNormalTexture()

virtual void eve::graphics::IGraphics3D::setMesh3DNormalTexture ( Texture normal)
pure virtual

◆ setMesh3DParallax()

virtual void eve::graphics::IGraphics3D::setMesh3DParallax ( float  scale,
float  minLayers = 8.f,
float  maxLayers = 32.f 
)
pure virtual

◆ setMesh3DSceneDepth()

virtual void eve::graphics::IGraphics3D::setMesh3DSceneDepth ( Texture depth)
pure virtual

◆ setMesh3DShadowReceive()

virtual void eve::graphics::IGraphics3D::setMesh3DShadowReceive ( bool  receive)
pure virtual

◆ setMesh3DShadows()

virtual void eve::graphics::IGraphics3D::setMesh3DShadows ( const ShadowUpload upload)
pure virtual

◆ setMesh3DTexCellBomb()

virtual void eve::graphics::IGraphics3D::setMesh3DTexCellBomb ( float  cellScale,
float  strength,
float  rotAmount = 1.f 
)
pure virtual

◆ setMesh3DView()

virtual void eve::graphics::IGraphics3D::setMesh3DView ( const glm::mat4 &  view)
pure virtual

◆ setMesh3DViewProj()

virtual void eve::graphics::IGraphics3D::setMesh3DViewProj ( const glm::mat4 &  viewProj)
pure virtual

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