mirror of
https://github.com/AxioDL/boo.git
synced 2025-12-16 16:37:20 +00:00
lots of initial GLES3 renderer implementation
This commit is contained in:
39
include/boo/graphicsdev/IGraphicsCommandQueue.hpp
Normal file
39
include/boo/graphicsdev/IGraphicsCommandQueue.hpp
Normal file
@@ -0,0 +1,39 @@
|
||||
#ifndef IGFXCOMMANDQUEUE_HPP
|
||||
#define IGFXCOMMANDQUEUE_HPP
|
||||
|
||||
#include "IGraphicsDataFactory.hpp"
|
||||
|
||||
namespace boo
|
||||
{
|
||||
|
||||
struct IGraphicsCommandQueue
|
||||
{
|
||||
virtual ~IGraphicsCommandQueue() {}
|
||||
|
||||
using Platform = IGraphicsDataFactory::Platform;
|
||||
virtual Platform platform() const=0;
|
||||
virtual const char* platformName() const=0;
|
||||
|
||||
virtual void setShaderDataBinding(const IShaderDataBinding* binding)=0;
|
||||
virtual void setRenderTarget(const ITextureD* target)=0;
|
||||
|
||||
virtual void setClearColor(const float rgba[4])=0;
|
||||
virtual void clearTarget(bool render=true, bool depth=true)=0;
|
||||
|
||||
enum Primitive
|
||||
{
|
||||
PrimitiveTriangles,
|
||||
TrimitiveTriStrips
|
||||
};
|
||||
virtual void setDrawPrimitive(Primitive prim)=0;
|
||||
virtual void draw(size_t start, size_t count)=0;
|
||||
virtual void drawIndexed(size_t start, size_t count)=0;
|
||||
virtual void drawInstances(size_t start, size_t count, size_t instCount)=0;
|
||||
virtual void drawInstancesIndexed(size_t start, size_t count, size_t instCount)=0;
|
||||
|
||||
virtual void execute()=0;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif // IGFXCOMMANDQUEUE_HPP
|
||||
Reference in New Issue
Block a user