ShitEngine 1.4.2
基于 C++20 与 SDL3 的轻量级 2D 游戏引擎
载入中...
搜索中...
未找到
RenderSystem类 参考final

渲染系统 更多...

#include <RenderSystem.h>

类 RenderSystem 继承关系图:
System

Public 成员函数

 RenderSystem (int priority=100)
 ~RenderSystem () override
void update () override
 每帧更新(纯虚)
void destroy () override
 销毁(纯虚)
bool onComponentAttached (Component *component) override
 组件挂载时调用。返回 true 表示本系统认领并处理了该组件(组件据此确定已注册)。
void onComponentDetached (Component *component) override
 组件卸下时调用。
void registerRenderer (RendererComponent *renderer)
 注册渲染组件
void unregisterRenderer (RendererComponent *renderer)
 注销渲染组件
void registerCamera (CameraComponent *camera)
 注册相机
void unregisterCamera (CameraComponent *camera)
 注销相机
Public 成员函数 继承自 System
 System (int priority=0)
virtual ~System ()
virtual void init ()
 初始化(可覆写)
virtual void fixedUpdate (float)
 固定步长驱动(默认空实现,按需覆写):由 Scene 在固定步循环内按优先级顺序调用, 一个渲染帧可能执行 0~N 次(默认 60Hz,见 Scene::FIXED_TIME_STEP)。 与物理同拍/需要稳定帧率的逻辑(施力、设速度、计时器)放这里,而不是 update()。
virtual void onFieldChanged (const std::string &fieldName)
 反射字段被编辑器直写后回调(供子系统把字段变更实时同步到运行时状态)
Scene * getScene () const
void setScene (Scene *scene)
int getPriority () const
void setPriority (int priority)

额外继承的成员函数

Protected 成员函数 继承自 System
void resetComponent (Component *comp)
 内部:把认领过的组件标记为未注册(系统销毁/注销时调用)。 否则组件 m_isRegistered 残留 true,同类系统重新注册时 System::init 补扫会跳过它们, 导致组件永久失去驱动系统。
Protected 属性 继承自 System
int m_priority
 优先级(小值先执行)
Scene * m_scene = nullptr
 所属场景

详细描述

渲染系统

每帧按优先级排序相机 → 按 Z-Index 排序渲染器 → 逐个相机裁剪渲染。 RendererComponent 的 onAttach / onDetach 自动调用 register / unregister。

构造及析构函数说明

◆ RenderSystem()

RenderSystem ( int priority = 100)

◆ ~RenderSystem()

~RenderSystem ( )
override

成员函数说明

◆ destroy()

void destroy ( )
overridevirtual

销毁(纯虚)

实现了 System.

◆ onComponentAttached()

bool onComponentAttached ( Component * component)
overridevirtual

组件挂载时调用。返回 true 表示本系统认领并处理了该组件(组件据此确定已注册)。

重载 System .

◆ onComponentDetached()

void onComponentDetached ( Component * component)
overridevirtual

组件卸下时调用。

重载 System .

◆ registerCamera()

void registerCamera ( CameraComponent * camera)

注册相机

◆ registerRenderer()

void registerRenderer ( RendererComponent * renderer)

注册渲染组件

◆ unregisterCamera()

void unregisterCamera ( CameraComponent * camera)

注销相机

◆ unregisterRenderer()

void unregisterRenderer ( RendererComponent * renderer)

注销渲染组件

◆ update()

void update ( )
overridevirtual

每帧更新(纯虚)

实现了 System.


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