2 #ifndef _YI_SHADER_FACTORY_H_ 3 #define _YI_SHADER_FACTORY_H_ 29 int32_t nVertexShaderSize,
30 uint8_t *pFragmentShaderData,
31 int32_t nFragmentShaderSize);
54 static std::shared_ptr<CYIAssetShaderProgram>
CreateAsset(
const std::shared_ptr<CYIAssetShaderObject> &pVertexShader,
55 const std::shared_ptr<CYIAssetShaderObject> &pFragmentShader);
69 #endif // _YI_SHADER_FACTORY_H_ static std::shared_ptr< CYIAssetShaderProgram > CreateAssetFromFile(const CYIString &vertexShaderFile, const CYIString &fragmentShaderFile, CYIAssetShaderObject::CODE_TYPE eCodeType=CYIAssetShaderObject::UNCOMPILED_SOURCE)
Container class for Unicode strings. Conceptually, a CYIString object is a sequence of Unicode charac...
Definition: YiString.h:35
static std::shared_ptr< IYIGPUObject > CreateShaderProgram()
Definition: YiShaderFactory.h:14
CODE_TYPE
Definition: YiAssetShaderObject.h:31
String data that is compiled at run-time. This data can come from disk or from memory. See IsFromDisk.
Definition: YiAssetShaderObject.h:33
static std::shared_ptr< CYIAssetShaderProgram > CreateAsset(const std::shared_ptr< CYIAssetShaderObject > &pVertexShader, const std::shared_ptr< CYIAssetShaderObject > &pFragmentShader)
static std::shared_ptr< CYIAssetShaderProgram > CreateAssetFromBinary(uint8_t *pVertexShaderData, int32_t nVertexShaderSize, uint8_t *pFragmentShaderData, int32_t nFragmentShaderSize)
An interface for managing GPU-bound objects such as shaders and textures.
Definition: YiGPUObject.h:18
static std::shared_ptr< CYIAssetShaderProgram > CreateAssetFromSource(const CYIString &vertexShaderSource, const CYIString &fragmentShaderSource)
static std::shared_ptr< CYIAssetShaderProgram > CreateAssetFromPath(const CYIString &vertexShaderPath, const CYIString &fragmentShaderPath, CYIAssetShaderObject::CODE_TYPE eCodeType=CYIAssetShaderObject::UNCOMPILED_SOURCE)