HatchitResource
Classes | Public Types | Public Member Functions | Static Public Attributes | List of all members
Hatchit::Resource::Pipeline Class Reference
Inheritance diagram for Hatchit::Resource::Pipeline:
Hatchit::Resource::FileResource< Pipeline >

Classes

struct  Attribute
 
struct  DepthStencilState
 
struct  MultisampleState
 
struct  RasterizerState
 

Public Types

enum  PolygonMode { SOLID, LINE }
 
enum  CullMode { NONE, FRONT, BACK }
 
enum  SampleCount {
  SAMPLE_1_BIT, SAMPLE_2_BIT, SAMPLE_4_BIT, SAMPLE_8_BIT,
  SAMPLE_16_BIT, SAMPLE_32_BIT, SAMPLE_64_BIT
}
 
enum  ShaderSlot {
  VERTEX = 0, FRAGMENT, GEOMETRY, TESS_CONTROL,
  TESS_EVAL, COMPUTE
}
 

Public Member Functions

 Pipeline (Core::Guid ID)
 
bool Initialize (const std::string &fileName)
 
const std::string & GetRenderPassPath () const
 
const DepthStencilStateGetDepthStencilState () const
 
const RasterizerStateGetRasterizationState () const
 
const MultisampleStateGetMultisampleState () const
 
const std::vector< Attribute > & GetVertexLayout () const
 
const std::vector< Attribute > & GetInstanceLayout () const
 
const std::vector< ShaderVariable * > & GetShaderVariables () const
 
const std::map< ShaderSlot, std::string > & GetSPVShaderPaths () const
 
const std::map< ShaderSlot, std::string > & GetCSOShaderPaths () const
 
const std::map< ShaderSlot, ShaderHandle > & GetSPVShaderHandles () const
 
const std::map< ShaderSlot, ShaderHandle > & GetCSOShaderHandles () const
 

Static Public Attributes

static const int MAX_SHADERS = 6
 

Additional Inherited Members

- Static Public Member Functions inherited from Hatchit::Resource::FileResource< Pipeline >
static Core::Handle< const PipelineGetHandle (const std::string &ID, Args &&...args)
 
static Core::Handle< const PipelineGetHandleFromFileName (const std::string &fileName)
 
- Protected Member Functions inherited from Hatchit::Resource::FileResource< Pipeline >
 FileResource (Core::Guid ID)
 

The documentation for this class was generated from the following files: