Kiwano Engine v1.3.x
kiwano::Renderer类 参考abstract

渲染器 更多...

#include <Renderer.h>

类 kiwano::Renderer 继承关系图:
kiwano::Module kiwano::Noncopyable kiwano::RendererImpl

Public 成员函数

virtual Color GetClearColor () const
 获取清屏颜色
 
Size GetOutputSize () const
 获取渲染输出大小
 
RenderContextGetContext ()
 获取渲染上下文
 
virtual void Resize (uint32_t width, uint32_t height)=0
 重设渲染输出大小 更多...
 
void SetClearColor (const Color &clear_color)
 设置清屏颜色
 
void SetVSyncEnabled (bool enabled)
 开启或关闭垂直同步
 
void ResetResolutionWhenWindowResized (bool enabled)
 窗口大小变化时自动调整分辨率
 
virtual void CreateTexture (Texture &texture, StringView file_path)=0
 创建纹理内部资源 更多...
 
virtual void CreateTexture (Texture &texture, const BinaryData &data)=0
 创建纹理内部资源 更多...
 
virtual void CreateTexture (Texture &texture, const PixelSize &size, const BinaryData &data, PixelFormat format)=0
 从内存加载位图纹理资源 更多...
 
virtual void CreateGifImage (GifImage &gif, StringView file_path)=0
 创建GIF图像内部资源 更多...
 
virtual void CreateGifImage (GifImage &gif, const BinaryData &data)=0
 创建GIF图像内部资源 更多...
 
virtual void CreateGifImageFrame (GifImage::Frame &frame, const GifImage &gif, size_t frame_index)=0
 创建GIF关键帧内部资源 更多...
 
virtual void CreateFontCollection (Font &font, Vector< String > &family_names, StringView file_path)=0
 创建字体集内部资源 更多...
 
virtual void CreateFontCollection (Font &font, Vector< String > &family_names, const BinaryData &data)=0
 创建字体集内部资源 更多...
 
virtual void CreateTextLayout (TextLayout &layout, StringView content, const TextStyle &style)=0
 创建文字布局内部资源 更多...
 
virtual void CreateLineShape (Shape &shape, const Point &begin_pos, const Point &end_pos)=0
 创建线段形状内部资源 更多...
 
virtual void CreateRectShape (Shape &shape, const Rect &rect)=0
 创建矩形形状内部资源 更多...
 
virtual void CreateRoundedRectShape (Shape &shape, const Rect &rect, const Vec2 &radius)=0
 创建圆角矩形形状内部资源 更多...
 
virtual void CreateEllipseShape (Shape &shape, const Point &center, const Vec2 &radius)=0
 创建椭圆形状内部资源 更多...
 
virtual void CreateShapeSink (ShapeMaker &maker)=0
 创建几何图形生成器内部资源 更多...
 
virtual void CreateBrush (Brush &brush, const Color &color)=0
 创建纯色画刷内部资源 更多...
 
virtual void CreateBrush (Brush &brush, const LinearGradientStyle &style)=0
 创建线性渐变画刷内部资源 更多...
 
virtual void CreateBrush (Brush &brush, const RadialGradientStyle &style)=0
 创建径向渐变画刷内部资源 更多...
 
virtual void CreateBrush (Brush &brush, RefPtr< Texture > texture)=0
 创建纹理画刷内部资源 更多...
 
virtual void CreateStrokeStyle (StrokeStyle &stroke_style)=0
 创建线条样式内部资源 更多...
 
virtual RefPtr< RenderContextCreateTextureRenderContext (RefPtr< Texture > texture, const PixelSize &desired_size)=0
 创建纹理渲染上下文,将上下文的渲染输出到纹理中 更多...
 
virtual void Clear ()=0
 清除绘制内容 更多...
 
virtual void Present ()=0
 将绘制内容呈现至窗口 更多...
 
virtual void MakeContextForWindow (RefPtr< Window > window)=0
 为窗口创建渲染上下文 更多...
 
virtual void Destroy ()
 销毁渲染器资源 更多...
 
void HandleEvent (EventModuleContext &ctx) override
 处理事件 更多...
 
- Public 成员函数 继承自 kiwano::Module
virtual void SetupModule ()
 启动模块 更多...
 
virtual void DestroyModule ()
 销毁模块 更多...
 
virtual void OnUpdate (UpdateModuleContext &ctx)
 更新时 更多...
 
virtual void HandleEvent (EventModuleContext &ctx)
 事件处理 更多...
 
virtual void BeforeRender (RenderModuleContext &ctx)
 渲染前 更多...
 
virtual void OnRender (RenderModuleContext &ctx)
 渲染时 更多...
 
virtual void AfterRender (RenderModuleContext &ctx)
 渲染后 更多...
 

静态 Public 成员函数

static RendererGetInstance ()
 获取实例
 

Protected 属性

bool vsync_
 
bool auto_reset_resolution_
 
Color clear_color_
 
Size output_size_
 
RefPtr< RenderContextrender_ctx_
 

详细描述

渲染器

成员函数说明

◆ Clear()

virtual void kiwano::Renderer::Clear ( )
pure virtual

清除绘制内容

kiwano::RendererImpl 内被实现.

◆ CreateBrush() [1/4]

virtual void kiwano::Renderer::CreateBrush ( Brush brush,
const Color color 
)
pure virtual

创建纯色画刷内部资源

参数
[out]brush画刷
[in]color颜色

kiwano::RendererImpl 内被实现.

◆ CreateBrush() [2/4]

virtual void kiwano::Renderer::CreateBrush ( Brush brush,
const LinearGradientStyle style 
)
pure virtual

创建线性渐变画刷内部资源

参数
[out]brush画刷
[in]style线性渐变样式

kiwano::RendererImpl 内被实现.

◆ CreateBrush() [3/4]

virtual void kiwano::Renderer::CreateBrush ( Brush brush,
const RadialGradientStyle style 
)
pure virtual

创建径向渐变画刷内部资源

参数
[out]brush画刷
[in]style径向渐变样式

kiwano::RendererImpl 内被实现.

◆ CreateBrush() [4/4]

virtual void kiwano::Renderer::CreateBrush ( Brush brush,
RefPtr< Texture texture 
)
pure virtual

创建纹理画刷内部资源

参数
[out]brush画刷
[in]texture纹理

kiwano::RendererImpl 内被实现.

◆ CreateEllipseShape()

virtual void kiwano::Renderer::CreateEllipseShape ( Shape shape,
const Point center,
const Vec2 radius 
)
pure virtual

创建椭圆形状内部资源

参数
[out]shape形状
[in]center椭圆圆心
[in]radius椭圆半径

kiwano::RendererImpl 内被实现.

◆ CreateFontCollection() [1/2]

virtual void kiwano::Renderer::CreateFontCollection ( Font font,
Vector< String > &  family_names,
const BinaryData data 
)
pure virtual

创建字体集内部资源

参数
[out]font字体
[out]family_names字体包含的字体族
[in]data字体二进制资源

kiwano::RendererImpl 内被实现.

◆ CreateFontCollection() [2/2]

virtual void kiwano::Renderer::CreateFontCollection ( Font font,
Vector< String > &  family_names,
StringView  file_path 
)
pure virtual

创建字体集内部资源

参数
[out]font字体
[out]family_names字体包含的字体族
[in]file_paths字体文件路径

kiwano::RendererImpl 内被实现.

◆ CreateGifImage() [1/2]

virtual void kiwano::Renderer::CreateGifImage ( GifImage gif,
const BinaryData data 
)
pure virtual

创建GIF图像内部资源

参数
[out]gifGIF图像
[in]data图片二进制数据

kiwano::RendererImpl 内被实现.

◆ CreateGifImage() [2/2]

virtual void kiwano::Renderer::CreateGifImage ( GifImage gif,
StringView  file_path 
)
pure virtual

创建GIF图像内部资源

参数
[out]gifGIF图像
[in]file_path图片路径

kiwano::RendererImpl 内被实现.

◆ CreateGifImageFrame()

virtual void kiwano::Renderer::CreateGifImageFrame ( GifImage::Frame frame,
const GifImage gif,
size_t  frame_index 
)
pure virtual

创建GIF关键帧内部资源

参数
[out]frameGIF关键帧
[in]gifGIF图像
[in]frame_index帧下标

kiwano::RendererImpl 内被实现.

◆ CreateLineShape()

virtual void kiwano::Renderer::CreateLineShape ( Shape shape,
const Point begin_pos,
const Point end_pos 
)
pure virtual

创建线段形状内部资源

参数
[out]shape形状
[in]begin_pos线段起点
[in]end_pos线段终点

kiwano::RendererImpl 内被实现.

◆ CreateRectShape()

virtual void kiwano::Renderer::CreateRectShape ( Shape shape,
const Rect rect 
)
pure virtual

创建矩形形状内部资源

参数
[out]shape形状
[in]rect矩形大小

kiwano::RendererImpl 内被实现.

◆ CreateRoundedRectShape()

virtual void kiwano::Renderer::CreateRoundedRectShape ( Shape shape,
const Rect rect,
const Vec2 radius 
)
pure virtual

创建圆角矩形形状内部资源

参数
[out]shape形状
[in]rect矩形大小
[in]radius圆角半径

kiwano::RendererImpl 内被实现.

◆ CreateShapeSink()

virtual void kiwano::Renderer::CreateShapeSink ( ShapeMaker maker)
pure virtual

创建几何图形生成器内部资源

参数
[out]maker形状生成器

kiwano::RendererImpl 内被实现.

◆ CreateStrokeStyle()

virtual void kiwano::Renderer::CreateStrokeStyle ( StrokeStyle stroke_style)
pure virtual

创建线条样式内部资源

参数
[out]stroke_style线条样式
[in]cap线段端点样式
[in]line_join线段相交样式
[in]dash_array虚线长度与间隙数组
[in]dash_size虚线数组大小
[in]dash_offset虚线偏移量

kiwano::RendererImpl 内被实现.

◆ CreateTextLayout()

virtual void kiwano::Renderer::CreateTextLayout ( TextLayout layout,
StringView  content,
const TextStyle style 
)
pure virtual

创建文字布局内部资源

参数
[out]layout字体布局
text文字内容
style文本样式

kiwano::RendererImpl 内被实现.

◆ CreateTexture() [1/3]

virtual void kiwano::Renderer::CreateTexture ( Texture texture,
const BinaryData data 
)
pure virtual

创建纹理内部资源

参数
[out]texture纹理
[in]data图片二进制数据

kiwano::RendererImpl 内被实现.

◆ CreateTexture() [2/3]

virtual void kiwano::Renderer::CreateTexture ( Texture texture,
const PixelSize size,
const BinaryData data,
PixelFormat  format 
)
pure virtual

从内存加载位图纹理资源

参数
[out]texture纹理
[in]size位图大小
[in]data位图二进制数据
[in]format像素格式

kiwano::RendererImpl 内被实现.

◆ CreateTexture() [3/3]

virtual void kiwano::Renderer::CreateTexture ( Texture texture,
StringView  file_path 
)
pure virtual

创建纹理内部资源

参数
[out]texture纹理
[in]file_path图片路径

kiwano::RendererImpl 内被实现.

◆ CreateTextureRenderContext()

virtual RefPtr< RenderContext > kiwano::Renderer::CreateTextureRenderContext ( RefPtr< Texture texture,
const PixelSize desired_size 
)
pure virtual

创建纹理渲染上下文,将上下文的渲染输出到纹理中

参数
[in,out]texture渲染输出的纹理
[in]desired_size期望的输出大小
返回
纹理渲染上下文

kiwano::RendererImpl 内被实现.

◆ Destroy()

void kiwano::Renderer::Destroy ( )
virtual

销毁渲染器资源

kiwano::RendererImpl 重载.

◆ HandleEvent()

void kiwano::Renderer::HandleEvent ( EventModuleContext ctx)
overridevirtual

处理事件

重载 kiwano::Module .

◆ MakeContextForWindow()

virtual void kiwano::Renderer::MakeContextForWindow ( RefPtr< Window window)
pure virtual

为窗口创建渲染上下文

异常
kiwano::SystemError创建上下文失败时抛出

kiwano::RendererImpl 内被实现.

◆ Present()

virtual void kiwano::Renderer::Present ( )
pure virtual

将绘制内容呈现至窗口

异常
kiwano::SystemError呈现失败时抛出

kiwano::RendererImpl 内被实现.

◆ Resize()

virtual void kiwano::Renderer::Resize ( uint32_t  width,
uint32_t  height 
)
pure virtual

重设渲染输出大小

kiwano::RendererImpl 内被实现.