#ifndef MSP_GL_COMMANDS_H_
#define MSP_GL_COMMANDS_H_
-#include "framebuffer.h"
+#include "commands_backend.h"
namespace Msp {
namespace GL {
-class Batch;
-class PipelineState;
-class QueryPool;
+/**
+Interface for low-level graphics commands.
-class Commands
+Applications normally use the higher-level Renderer class rather than this.
+*/
+class Commands: public CommandsBackend
{
-private:
- const PipelineState *pipeline_state;
-
public:
- Commands();
+ using CommandsBackend::begin_frame;
+ using CommandsBackend::submit_frame;
+
+ using CommandsBackend::use_pipeline;
- void use_pipeline(const PipelineState *);
- void clear(const ClearValue *);
- void draw(const Batch &);
- void draw_instanced(const Batch &, unsigned);
- void resolve_multisample(Framebuffer &);
+ using CommandsBackend::clear;
+ using CommandsBackend::draw;
+ using CommandsBackend::draw_instanced;
+ using CommandsBackend::dispatch;
+ using CommandsBackend::resolve_multisample;
- void begin_query(const QueryPool &, unsigned);
- void end_query(const QueryPool &, unsigned);
+ using CommandsBackend::begin_query;
+ using CommandsBackend::end_query;
};
} // namespace GL