扩展指令优化器

参见<animgui/core/command_optimizer.hpp>:

扩展指令发射器需要派生自command_optimizer并实现以下接口:

class command_optimizer {
public:
    // 对渲染指令进行优化
    // size: 整个窗口的大小,用于辅助分块
    // src: 原渲染指令
    // 返回值: 返回优化后的渲染指令序列,注意不要使用src中不存在的图元
    [[nodiscard]] virtual command_queue optimize(uvec2 size, command_queue src) const = 0;
    // 返回指令优化器支持的图元类型
    [[nodiscard]] virtual primitive_type supported_primitives() const noexcept = 0;
};

具体示例可参考builtins/command_optimizers.cpp。