void setupVertexDescriptions() { // Binding description vertices_bindingDescriptions.Count = 1; vertices_bindingDescriptions[0] = Initializers.vertexInputBindingDescription( VERTEX_BUFFER_BIND_ID, vertexLayout.stride(), VkVertexInputRate.Vertex); // Attribute descriptions // Describes memory layout and shader positions vertices_attributeDescriptions.Count = 4; // Location 0 : Position vertices_attributeDescriptions[0] = Initializers.vertexInputAttributeDescription( VERTEX_BUFFER_BIND_ID, 0, VkFormat.R32g32b32Sfloat, 0); // Location 1 : Normal vertices_attributeDescriptions[1] = Initializers.vertexInputAttributeDescription( VERTEX_BUFFER_BIND_ID, 1, VkFormat.R32g32b32Sfloat, sizeof(float) * 3); // Location 2 : Texture coordinates vertices_attributeDescriptions[2] = Initializers.vertexInputAttributeDescription( VERTEX_BUFFER_BIND_ID, 2, VkFormat.R32g32Sfloat, sizeof(float) * 6); // Location 3 : Color vertices_attributeDescriptions[3] = Initializers.vertexInputAttributeDescription( VERTEX_BUFFER_BIND_ID, 3, VkFormat.R32g32b32Sfloat, sizeof(float) * 8); vertices_inputState = Initializers.pipelineVertexInputStateCreateInfo(); vertices_inputState.vertexBindingDescriptionCount = vertices_bindingDescriptions.Count; vertices_inputState.pVertexBindingDescriptions = (VkVertexInputBindingDescription *)vertices_bindingDescriptions.Data; vertices_inputState.vertexAttributeDescriptionCount = vertices_attributeDescriptions.Count; vertices_inputState.pVertexAttributeDescriptions = (VkVertexInputAttributeDescription *)vertices_attributeDescriptions.Data; }
void setupVertexDescriptions() { // Binding description vertices_bindingDescriptions.Count = 1; vertices_bindingDescriptions[0] = Initializers.vertexInputBindingDescription( VERTEX_BUFFER_BIND_ID, vertexLayout.stride(), VK_VERTEX_INPUT_RATE_VERTEX); // Attribute descriptions vertices_attributeDescriptions.Count = 4; // Location 0 : Position vertices_attributeDescriptions[0] = Initializers.vertexInputAttributeDescription( VERTEX_BUFFER_BIND_ID, 0, VK_FORMAT_R32G32B32_SFLOAT, 0); // Location 1 : Texture coordinates vertices_attributeDescriptions[1] = Initializers.vertexInputAttributeDescription( VERTEX_BUFFER_BIND_ID, 1, VK_FORMAT_R32G32_SFLOAT, sizeof(float) * 3); // Location 2 : Color vertices_attributeDescriptions[2] = Initializers.vertexInputAttributeDescription( VERTEX_BUFFER_BIND_ID, 2, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 5); // Location 3 : Normal vertices_attributeDescriptions[3] = Initializers.vertexInputAttributeDescription( VERTEX_BUFFER_BIND_ID, 3, VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 8); vertices_inputState = Initializers.pipelineVertexInputStateCreateInfo(); vertices_inputState.vertexBindingDescriptionCount = vertices_bindingDescriptions.Count; vertices_inputState.pVertexBindingDescriptions = (VkVertexInputBindingDescription *)vertices_bindingDescriptions.Data; vertices_inputState.vertexAttributeDescriptionCount = vertices_attributeDescriptions.Count; vertices_inputState.pVertexAttributeDescriptions = (VkVertexInputAttributeDescription *)vertices_attributeDescriptions.Data; }