2 #ifndef _YI_ASSET_SHADER_PROGRAM_H_ 3 #define _YI_ASSET_SHADER_PROGRAM_H_ 33 void AddShaderObject(
const std::shared_ptr<CYIAssetShaderObject> &pShaderObjectAsset);
38 const std::vector<std::shared_ptr<CYIAssetShaderObject>> &
GetShaderObjects();
43 void RemoveShaderObject(
const std::shared_ptr<CYIAssetShaderObject> &pShaderObjectAsset);
81 std::vector<std::shared_ptr<CYIAssetShaderObject>> m_pShaderObjects;
82 std::vector<std::pair<uint32_t, CYIString>> m_AttributeLocations;
89 #endif // _YI_ASSET_SHADER_PROGRAM_H_ const std::vector< std::shared_ptr< CYIAssetShaderObject > > & GetShaderObjects()
const std::vector< std::pair< uint32_t, CYIString > > & GetAttributeLocations()
Container class for Unicode strings. Conceptually, a CYIString object is a sequence of Unicode charac...
Definition: YiString.h:35
#define YI_TYPE_BASES(...)
Definition: YiRtti.h:350
void UpdateApproximateSize()
virtual ~CYIAssetShaderProgram()
PATH_TYPE
Definition: YiAsset.h:44
virtual std::shared_ptr< IYIGPUObject > CreateGPUObject() const override
void AddShaderObject(const std::shared_ptr< CYIAssetShaderObject > &pShaderObjectAsset)
void UnsetAttributeLocation(CYIString name)
void RemoveShaderObject(const std::shared_ptr< CYIAssetShaderObject > &pShaderObjectAsset)
Hardware-mirrored asset. These assets contain IYIGPUObject counterparts.
Definition: YiAssetHardware.h:21
Shader program asset. Contains a vector of CYIAssetShaderObject types.
Definition: YiAssetShaderProgram.h:22
This file contains the classes and macros used to implement RTTI in You.i Engine. ...
void SetAttributeLocation(CYIString name, uint32_t location)