#include <Canvas.h>
Public 成员函数 | |
| Canvas () | |
| ~Canvas () override | |
| virtual int | getWidth () const =0 |
| virtual int | getHeight () const =0 |
| virtual Texture * | getTexture ()=0 |
| Sampleable color buffer; screen Canvas returns nullptr. | |
| virtual void | clear (std::optional< Color > color, std::optional< int > stencil, std::optional< double > depth)=0 |
| virtual Color | getPixel (int x, int y)=0 |
| virtual image::ImageData * | newImageData ()=0 |
| virtual void | draw (Canvas *C, const glm::mat4 &matrix) const =0 |
Public 成员函数 继承自 eve::graphics::Drawable | |
| virtual | ~Drawable () |
| virtual void | draw (Graphics *gfx, const glm::mat4 &matrix) const =0 |
| Draws the object with the specified transformation matrix. | |
| bool | getCastOcclusion () const |
| When false, skipped by Graphics::drawOcclusion / volumetric occluder passes. | |
| void | setCastOcclusion (bool cast) |
| 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). | |
详细描述
构造及析构函数说明
◆ Canvas()
◆ ~Canvas()
成员函数说明
◆ clear()
|
pure virtual |
◆ draw()
|
pure virtual |
◆ getHeight()
|
pure virtual |
在 eve::graphics::Graphics, eve::graphics::vulkan::OffscreenCanvas , 以及 eve::graphics::webgpu::OffscreenCanvas 内被实现.
被这些函数引用 eve::graphics::Outline::apply(), eve::stylize::StylePass::apply(), eve::stylize::StyleChain::apply(), eve::graphics::AmbientOcclusion::applyFromGBuffer(), eve::graphics::ScreenSpaceReflection::applyFromScene(), eve::graphics::Volumetric::beginOcclusionMap(), eve::graphics::RenderSystem::drawItems() , 以及 eve::graphics::RenderSystem3D::renderToCanvas().
◆ getPixel()
|
pure virtual |
◆ getTexture()
|
pure virtual |
Sampleable color buffer; screen Canvas returns nullptr.
在 eve::graphics::vulkan::OffscreenCanvas, eve::graphics::vulkan::Graphics, eve::graphics::webgpu::OffscreenCanvas , 以及 eve::graphics::webgpu::Graphics 内被实现.
被这些函数引用 eve::stylize::StyleChain::apply(), eve::graphics::AntiAliasing::applyCanvas(), eve::stylize::StylePass::applyCanvas(), eve::stylize::StyleChain::applyCanvas(), eve::graphics::AntiAliasing::applyCanvasTo(), eve::stylize::StylePass::applyCanvasTo(), eve::graphics::Graphics::drawCanvasRGBA(), eve::ui::UISystem::ensureViewport() , 以及 eve::graphics::webgpu::Graphics::getTexture().
◆ getWidth()
|
pure virtual |
在 eve::graphics::Graphics, eve::graphics::vulkan::OffscreenCanvas , 以及 eve::graphics::webgpu::OffscreenCanvas 内被实现.
被这些函数引用 eve::graphics::Outline::apply(), eve::stylize::StylePass::apply(), eve::stylize::StyleChain::apply(), eve::graphics::AmbientOcclusion::applyFromGBuffer(), eve::graphics::ScreenSpaceReflection::applyFromScene(), eve::graphics::Volumetric::beginOcclusionMap(), eve::graphics::RenderSystem::drawItems() , 以及 eve::graphics::RenderSystem3D::renderToCanvas().
◆ newImageData()
|
pure virtual |
Full RGBA8 copy; caller owns ImageData*.
在 eve::graphics::vulkan::OffscreenCanvas, eve::graphics::vulkan::Graphics, eve::graphics::webgpu::OffscreenCanvas , 以及 eve::graphics::webgpu::Graphics 内被实现.
该类的文档由以下文件生成:
- src/modules/graphics/Canvas.h
Public 成员函数 继承自