lots of initial GLES3 renderer implementation

This commit is contained in:
Jack Andersen
2015-10-28 18:44:38 -10:00
parent 3db5a7e211
commit 5435f01d20
17 changed files with 1127 additions and 125 deletions

View 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