Draw primitive now settable via pipeline object

This commit is contained in:
Jack Andersen
2016-03-23 22:05:19 -10:00
parent ca38805776
commit 6600ff208c
9 changed files with 69 additions and 35 deletions

View File

@@ -27,7 +27,7 @@ public:
virtual IShaderPipeline* newShaderPipeline(const char* vertSource, const char* fragSource,
ComPtr<ID3DBlob>& vertBlobOut, ComPtr<ID3DBlob>& fragBlobOut,
ComPtr<ID3DBlob>& pipelineBlob, IVertexFormat* vtxFmt,
BlendFactor srcFac, BlendFactor dstFac,
BlendFactor srcFac, BlendFactor dstFac, Primitive prim,
bool depthTest, bool depthWrite, bool backfaceCulling)=0;
};

View File

@@ -50,7 +50,7 @@ public:
IShaderPipeline* newShaderPipeline(const char* vertSource, const char* fragSource,
size_t texCount, const char* texArrayName,
size_t uniformBlockCount, const char** uniformBlockNames,
BlendFactor srcFac, BlendFactor dstFac,
BlendFactor srcFac, BlendFactor dstFac, Primitive prim,
bool depthTest, bool depthWrite, bool backfaceCulling);
IShaderDataBinding*

View File

@@ -155,6 +155,13 @@ struct IShaderDataBinding {};
struct IGraphicsData {};
class GraphicsDataToken;
/** Used by platform shader pipeline constructors */
enum class Primitive
{
Triangles,
TriStrips
};
/** Used by platform shader pipeline constructors */
enum class BlendFactor
{

View File

@@ -57,7 +57,7 @@ public:
IShaderPipeline* newShaderPipeline(const char* vertSource, const char* fragSource,
IVertexFormat* vtxFmt, unsigned targetSamples,
BlendFactor srcFac, BlendFactor dstFac,
BlendFactor srcFac, BlendFactor dstFac, Primitive prim,
bool depthTest, bool depthWrite, bool backfaceCulling);
IShaderDataBinding*

View File

@@ -110,7 +110,7 @@ public:
bool depthTest, bool depthWrite, bool backfaceCulling);
IShaderPipeline* newShaderPipeline(const char* vertSource, const char* fragSource, IVertexFormat* vtxFmt,
BlendFactor srcFac, BlendFactor dstFac,
BlendFactor srcFac, BlendFactor dstFac, Primitive prim,
bool depthTest, bool depthWrite, bool backfaceCulling)
{
std::vector<unsigned int> vertBlob;