Merge glTF scene rendering sample (#744)
* Started reworking the scene rendering to sample Use glTF instead of ASSIMP, per-material pipelines, material loading, etc. * Visibility toggle for scene nodes * Fixed lighting, updated GLSL and HLSL shaders * Renamed sample * Code-Cleanup, comments, validation fixes * Android build * Started on tutorial for glTF scene rendering sample * Minor code cleanup * Adding new chapters to the tutorial for glTF scene rendering sample * Added info on normal map shader bindings, spelling * Added drawing chapter * Getter for texture descriptors Makes code a easier to read * Renamed glTF scene sample * Add markdown files to projects * Updated readme, separate chapter for glTF samples * Comments * Removed unused screenshot
This commit is contained in:
parent
889125c377
commit
e370e6d169
44 changed files with 1389 additions and 1044 deletions
|
|
@ -390,6 +390,20 @@ namespace vks
|
|||
return pipelineVertexInputStateCreateInfo;
|
||||
}
|
||||
|
||||
inline VkPipelineVertexInputStateCreateInfo pipelineVertexInputStateCreateInfo(
|
||||
const std::vector<VkVertexInputBindingDescription> &vertexBindingDescriptions,
|
||||
const std::vector<VkVertexInputAttributeDescription> &vertexAttributeDescriptions
|
||||
)
|
||||
{
|
||||
VkPipelineVertexInputStateCreateInfo pipelineVertexInputStateCreateInfo{};
|
||||
pipelineVertexInputStateCreateInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO;
|
||||
pipelineVertexInputStateCreateInfo.vertexBindingDescriptionCount = static_cast<uint32_t>(vertexBindingDescriptions.size());
|
||||
pipelineVertexInputStateCreateInfo.pVertexBindingDescriptions = vertexBindingDescriptions.data();
|
||||
pipelineVertexInputStateCreateInfo.vertexAttributeDescriptionCount = static_cast<uint32_t>(vertexAttributeDescriptions.size());
|
||||
pipelineVertexInputStateCreateInfo.pVertexAttributeDescriptions = vertexAttributeDescriptions.data();
|
||||
return pipelineVertexInputStateCreateInfo;
|
||||
}
|
||||
|
||||
inline VkPipelineInputAssemblyStateCreateInfo pipelineInputAssemblyStateCreateInfo(
|
||||
VkPrimitiveTopology topology,
|
||||
VkPipelineInputAssemblyStateCreateFlags flags,
|
||||
|
|
@ -586,5 +600,17 @@ namespace vks
|
|||
specializationInfo.pData = data;
|
||||
return specializationInfo;
|
||||
}
|
||||
|
||||
/** @brief Initialize a specialization constant info structure to pass to a shader stage */
|
||||
inline VkSpecializationInfo specializationInfo(const std::vector<VkSpecializationMapEntry> &mapEntries, size_t dataSize, const void* data)
|
||||
{
|
||||
VkSpecializationInfo specializationInfo{};
|
||||
specializationInfo.mapEntryCount = static_cast<uint32_t>(mapEntries.size());
|
||||
specializationInfo.pMapEntries = mapEntries.data();
|
||||
specializationInfo.dataSize = dataSize;
|
||||
specializationInfo.pData = data;
|
||||
return specializationInfo;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue