35 int id()
const {
return _id; }
36 const std::string&
vertexEntry()
const {
return _definition.vshader; }
37 const std::string&
fragmentEntry()
const {
return _definition.fshader; }
38 const std::string&
computeEntry()
const {
return _definition.cshader; }
43 void processDefinition();
46 void processVertexFragmentShaders();
49 void validatePlatformSupport()
const;
58 std::shared_ptr<Shader>
createShader(GraphicsDevice* graphicsDevice,
const ShaderDefinition& definition,
59 const std::string& sourceCode =
"");
Abstract GPU interface for resource creation, state management, and draw submission.
GraphicsDevice * graphicsDevice() const
Shader(GraphicsDevice *graphicsDevice, const ShaderDefinition &definition)
const std::string & fragmentEntry() const
const std::string & vertexEntry() const
virtual ~Shader()=default
const std::string & computeEntry() const
std::shared_ptr< Shader > createShader(GraphicsDevice *graphicsDevice, const ShaderDefinition &definition, const std::string &sourceCode)