37 lines
873 B
C
37 lines
873 B
C
|
#ifndef HGL_GRAPH_VULKAN_VERTEX_ATTRIBUTE_BINDING_INCLUDE
|
|||
|
#define HGL_GRAPH_VULKAN_VERTEX_ATTRIBUTE_BINDING_INCLUDE
|
|||
|
|
|||
|
#include"VK.h"
|
|||
|
#include<hgl/type/BaseString.h>
|
|||
|
VK_NAMESPACE_BEGIN
|
|||
|
class VertexBuffer;
|
|||
|
class IndexBuffer;
|
|||
|
class Shader;
|
|||
|
|
|||
|
/**
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬ʵ<EFBFBD><EFBFBD><br>
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD>ݸ<EFBFBD>MaterialInstance,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>趨(<EFBFBD><EFBFBD>instance)<EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
class VertexAttributeBinding
|
|||
|
{
|
|||
|
Shader *shader;
|
|||
|
VkVertexInputBindingDescription *binding_list;
|
|||
|
|
|||
|
private:
|
|||
|
|
|||
|
friend class Shader;
|
|||
|
|
|||
|
VertexAttributeBinding(Shader *);
|
|||
|
|
|||
|
public:
|
|||
|
|
|||
|
~VertexAttributeBinding();
|
|||
|
|
|||
|
bool SetInstance(const uint index,bool instance);
|
|||
|
bool SetInstance(const UTF8String &name,bool instance);
|
|||
|
|
|||
|
void Write(VkPipelineVertexInputStateCreateInfo &vis)const;
|
|||
|
};//class VertexAttributeBinding
|
|||
|
VK_NAMESPACE_END
|
|||
|
#endif//HGL_GRAPH_VULKAN_VERTEX_ATTRIBUTE_BINDING_INCLUDE
|