added main menus, improved shading
This commit is contained in:
@@ -106,6 +106,8 @@ enum EBarrierMemoryPermissions
|
||||
BARRIER_MEMORY_PERMISSIONS_DEPTH_WRITE = 0x100,
|
||||
BARRIER_MEMORY_PERMISSIONS_COPY_READ = 0x200,
|
||||
BARRIER_MEMORY_PERMISSIONS_COPY_WRITE = 0x400,
|
||||
BARRIER_MEMORY_PERMISSIONS_BLIT_READ = 0x800,
|
||||
BARRIER_MEMORY_PERMISSIONS_BLIT_WRITE = 0x1000,
|
||||
};
|
||||
enum EBarrierStage
|
||||
{
|
||||
@@ -114,10 +116,14 @@ enum EBarrierStage
|
||||
BARRIER_STAGE_VERTEX_SHADER = 0x4,
|
||||
BARRIER_STAGE_GEOMETRY_SHADER = 0x8,
|
||||
BARRIER_STAGE_FRAGMENT_SHADER = 0x10,
|
||||
BARRIER_STAGE_COLOR_OUTPUT = 0x20,
|
||||
BARRIER_STAGE_COMPUTE_SHADER = 0x40,
|
||||
BARRIER_STAGE_RAY_TRACING_SHADER = 0x80,
|
||||
BARRIER_STAGE_BOTTOM = 0x100,
|
||||
BARRIER_STAGE_DEPTH_OUTPUT = 0x20,
|
||||
BARRIER_STAGE_COLOR_OUTPUT = 0x40,
|
||||
BARRIER_STAGE_COMPUTE_SHADER = 0x80,
|
||||
BARRIER_STAGE_RAY_TRACING_SHADER = 0x100,
|
||||
BARRIER_STAGE_BOTTOM = 0x200,
|
||||
BARRIER_STAGE_BLIT = 0x400,
|
||||
BARRIER_STAGE_COPY = 0x800,
|
||||
BARRIER_STAGE_IMAGE_OUPUT = 0x1000,
|
||||
};
|
||||
|
||||
enum EAttachmentLoadMode
|
||||
@@ -226,6 +232,8 @@ abstract_class IPipeline
|
||||
{
|
||||
public:
|
||||
EPipelineType type;
|
||||
virtual void PushBindings() = 0;
|
||||
virtual void BindData( uint32_t binding, IBuffer *pBuffer, IImage* pImage) = 0;
|
||||
};
|
||||
typedef IPipeline IGraphicsPipeline;
|
||||
typedef IPipeline IComputePipeline;
|
||||
@@ -258,14 +266,14 @@ public:
|
||||
|
||||
struct BufferBarrier_t
|
||||
{
|
||||
EBarrierMemoryPermissions in;
|
||||
EBarrierMemoryPermissions out;
|
||||
uint32_t in;
|
||||
uint32_t out;
|
||||
IBuffer *pBuffer;
|
||||
};
|
||||
struct ImageBarrier_t
|
||||
{
|
||||
EBarrierMemoryPermissions in;
|
||||
EBarrierMemoryPermissions out;
|
||||
uint32_t in;
|
||||
uint32_t out;
|
||||
IImage *pImage;
|
||||
};
|
||||
|
||||
@@ -316,18 +324,16 @@ public:
|
||||
|
||||
static void SetConstants( uint32_t nSize, void *pData );
|
||||
static void Barrier( uint32_t stageIn, uint32_t stageOut, CUtlVector<BufferBarrier_t> buffers, CUtlVector<ImageBarrier_t> images );
|
||||
static void BindData( uint32_t binding, IBuffer *pBuffer, IImage* pImage);
|
||||
static void BindPipeline( IPipeline *pPipeline );
|
||||
static void PushBindings();
|
||||
|
||||
|
||||
static void Begin( uint32_t nWidth, uint32_t nHeight, CUtlVector<RenderingColorAttachment_t> attachments, RenderingDepthAttachment_t depth );
|
||||
static void ResetState();
|
||||
static void SetDepthMode( EDepthMode mode );
|
||||
static void Draw( IVertexBuffer *pVertex, IIndexBuffer *pIndex );
|
||||
static void End();
|
||||
|
||||
static void Dispatch( uint32_t x, uint32_t y, uint32_t z );
|
||||
static void TraceRays( uint32_t x, uint32_t y, uint32_t z );
|
||||
static void End();
|
||||
|
||||
static IGraphicsPipeline *CreateGraphicsPipeline(
|
||||
CUtlVector<Shader_t> shaders,
|
||||
|
||||
Reference in New Issue
Block a user