#include <Canvas.h>
Public 成员函数 | |
| Canvas () | |
| Constructs a Canvas. | |
| ~Canvas () override | |
| Releases Canvas resources. | |
| virtual int | getWidth () const =0 |
| Returns the width. | |
| virtual int | getHeight () const =0 |
| Returns the height. | |
| 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 |
| Clears . | |
| virtual Color | getPixel (int x, int y)=0 |
| Returns the pixel. | |
| virtual image::ImageData * | newImageData ()=0 |
| Creates a image data. @ownership Caller deletes unless documented otherwise. | |
| virtual image::ImageData * | newHDRImageData () |
| Copy an HDR Canvas as linear RGBA16F without tone mapping. | |
| virtual void | draw (Canvas *C, const glm::mat4 &matrix) const =0 |
| Draws . | |
| virtual void | draw (Graphics *gfx, const glm::mat4 &matrix) const=0 |
| Draws the object with the specified transformation matrix. | |
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). | |
详细描述
构造及析构函数说明
◆ Canvas()
◆ ~Canvas()
成员函数说明
◆ clear()
|
pure virtual |
Clears .
在 eve::graphics::vulkan::OffscreenCanvas, eve::graphics::vulkan::Graphics, eve::graphics::webgpu::OffscreenCanvas , 以及 eve::graphics::webgpu::Graphics 内被实现.
被这些函数引用 eve::graphics::Bloom::apply(), eve::graphics::Exposure::apply(), eve::graphics::DepthOfField::apply(), eve::graphics::Volumetric::beginOcclusionMap(), eve::graphics::Volumetric::beginOcclusionMapFromSceneLights2D(), eve::graphics::DepthPyramid::build(), eve::graphics::RenderSystem::drawItems() , 以及 eve::graphics_editing::GraphicsOffscreenPreviewService::render().
◆ draw() [1/2]
|
pure virtual |
◆ draw() [2/2]
|
virtual |
Draws the object with the specified transformation matrix.
被 eve::graphics::vulkan::OffscreenCanvas, eve::graphics::webgpu::OffscreenCanvas, eve::graphics::vulkan::Graphics , 以及 eve::graphics::webgpu::Graphics 重载.
◆ getHeight()
|
pure virtual |
Returns the height.
在 eve::graphics::Graphics, eve::graphics::vulkan::OffscreenCanvas , 以及 eve::graphics::webgpu::OffscreenCanvas 内被实现.
被这些函数引用 eve::graphics::Outline::apply(), eve::stylize::StylePass::apply(), eve::stylize::StyleChain::apply(), eve::stylize_editing::StylizeRecipeRuntime::apply(), eve::graphics::AmbientOcclusion::applyFromGBuffer(), eve::graphics::ScreenSpaceReflection::applyFromScene(), eve::graphics::Volumetric::applyFroxel(), eve::graphics::raytracing::VulkanRayTracing::applyReflections(), eve::graphics::AntiAliasing::applyTemporal(), eve::graphics::AntiAliasing::applyTemporalRect(), eve::graphics::Volumetric::beginOcclusionMap(), eve::graphics::Volumetric::beginOcclusionMapFromSceneLights2D(), eve::graphics::Bloom::build(), eve::graphics::webgpu::Graphics::drawPrimitiveCanvas(), eve::graphics::exposeCanvasScriptBindings(), eve::graphics::ScreenSpaceReflection::getReflectionCanvas(), eve::graphics::Volumetric::projectDirectionalCookie(), eve::graphics::RenderSystem3D::render(), eve::graphics::AntiAliasing::resolveTemporal() , 以及 eve::graphics::Volumetric::scatterFromSceneLights2D().
◆ getPixel()
|
pure virtual |
Returns the pixel.
在 eve::graphics::vulkan::OffscreenCanvas, eve::graphics::vulkan::Graphics, eve::graphics::webgpu::OffscreenCanvas , 以及 eve::graphics::webgpu::Graphics 内被实现.
◆ 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::Bloom::apply(), eve::graphics::Exposure::apply(), eve::graphics::DepthOfField::apply(), eve::stylize::StyleRecipe::applyCanvas(), eve::graphics::GlobalIllumination::applyFromSceneTo(), eve::graphics::ScreenSpaceReflection::applyFromSceneTo(), eve::graphics::raytracing::VulkanRayTracing::applyReflections(), eve::graphics::AntiAliasing::applyTemporal(), eve::graphics::AntiAliasing::applyTemporalRect(), eve::graphics::DepthPyramid::build(), eve::graphics::Graphics::drawCanvasRGBA(), eve::ui::UISystem::ensureViewport(), eve::graphics::exposeCanvasScriptBindings(), eve::graphics::ScreenSpaceReflection::getReflectionTexture(), eve::graphics::AntiAliasing::getTemporalReadTexture(), eve::graphics::webgpu::Graphics::getTexture(), eve::graphics::GlobalIllumination::getWorkingTexture(), eve::graphics::AntiAliasing::resolveTemporal() , 以及 eve::graphics::Volumetric::scatterFromSceneLights2D().
◆ getWidth()
|
pure virtual |
Returns the width.
在 eve::graphics::Graphics, eve::graphics::vulkan::OffscreenCanvas , 以及 eve::graphics::webgpu::OffscreenCanvas 内被实现.
被这些函数引用 eve::graphics::Outline::apply(), eve::stylize::StylePass::apply(), eve::stylize::StyleChain::apply(), eve::stylize_editing::StylizeRecipeRuntime::apply(), eve::graphics::AmbientOcclusion::applyFromGBuffer(), eve::graphics::ScreenSpaceReflection::applyFromScene(), eve::graphics::Volumetric::applyFroxel(), eve::graphics::raytracing::VulkanRayTracing::applyReflections(), eve::graphics::AntiAliasing::applyTemporal(), eve::graphics::AntiAliasing::applyTemporalRect(), eve::graphics::Volumetric::beginOcclusionMap(), eve::graphics::Volumetric::beginOcclusionMapFromSceneLights2D(), eve::graphics::Bloom::build(), eve::graphics::webgpu::Graphics::drawPrimitiveCanvas(), eve::graphics::exposeCanvasScriptBindings(), eve::graphics::ScreenSpaceReflection::getReflectionCanvas(), eve::graphics::Volumetric::projectDirectionalCookie(), eve::graphics::RenderSystem3D::render(), eve::graphics::AntiAliasing::resolveTemporal() , 以及 eve::graphics::Volumetric::scatterFromSceneLights2D().
◆ newHDRImageData()
|
inlinevirtual |
Copy an HDR Canvas as linear RGBA16F without tone mapping.
- 返回
- Caller-owned ImageData, or nullptr when this Canvas is not HDR. @ownership The caller owns the returned image data.
被 eve::graphics::vulkan::OffscreenCanvas , 以及 eve::graphics::webgpu::OffscreenCanvas 重载.
◆ newImageData()
|
pure virtual |
Creates a image data. @ownership Caller deletes unless documented otherwise.
Full RGBA8 copy; caller owns ImageData*.
在 eve::graphics::vulkan::OffscreenCanvas, eve::graphics::vulkan::Graphics, eve::graphics::webgpu::OffscreenCanvas , 以及 eve::graphics::webgpu::Graphics 内被实现.
被这些函数引用 eve::graphics::exposeCanvasScriptBindings() , 以及 eve::graphics_editing::GraphicsOffscreenPreviewService::render().
该类的文档由以下文件生成:
- src/modules/graphics/Canvas.h
Public 成员函数 继承自