Removed unused instance and vertex attributes
This commit is contained in:
parent
01b3aefde2
commit
10b3d0b53c
7 changed files with 15 additions and 44 deletions
|
|
@ -33,7 +33,7 @@
|
|||
#if defined(__ANDROID__)
|
||||
#define OBJECT_COUNT 32
|
||||
#else
|
||||
#define OBJECT_COUNT 96
|
||||
#define OBJECT_COUNT 64
|
||||
#endif
|
||||
|
||||
#define MAX_LOD_LEVEL 5
|
||||
|
|
@ -43,7 +43,6 @@ std::vector<vkMeshLoader::VertexLayout> vertexLayout =
|
|||
{
|
||||
vkMeshLoader::VERTEX_LAYOUT_POSITION,
|
||||
vkMeshLoader::VERTEX_LAYOUT_NORMAL,
|
||||
vkMeshLoader::VERTEX_LAYOUT_UV,
|
||||
vkMeshLoader::VERTEX_LAYOUT_COLOR
|
||||
};
|
||||
|
||||
|
|
@ -65,8 +64,6 @@ public:
|
|||
// Per-instance data block
|
||||
struct InstanceData {
|
||||
glm::vec3 pos;
|
||||
float texIndex;
|
||||
glm::vec3 rot;
|
||||
float scale;
|
||||
};
|
||||
|
||||
|
|
@ -258,21 +255,13 @@ public:
|
|||
VK_FORMAT_R32G32B32_SFLOAT,
|
||||
sizeof(float) * 3)
|
||||
);
|
||||
// Location 2 : Texture coordinates
|
||||
// Location 2 : Color
|
||||
vertices.attributeDescriptions.push_back(
|
||||
vkTools::initializers::vertexInputAttributeDescription(
|
||||
VERTEX_BUFFER_BIND_ID,
|
||||
2,
|
||||
VK_FORMAT_R32G32_SFLOAT,
|
||||
sizeof(float) * 6)
|
||||
);
|
||||
// Location 3 : Color
|
||||
vertices.attributeDescriptions.push_back(
|
||||
vkTools::initializers::vertexInputAttributeDescription(
|
||||
VERTEX_BUFFER_BIND_ID,
|
||||
3,
|
||||
VK_FORMAT_R32G32B32_SFLOAT,
|
||||
sizeof(float) * 8)
|
||||
sizeof(float) * 6)
|
||||
);
|
||||
|
||||
// Instanced attributes
|
||||
|
|
@ -281,20 +270,10 @@ public:
|
|||
vkTools::initializers::vertexInputAttributeDescription(
|
||||
INSTANCE_BUFFER_BIND_ID, 4, VK_FORMAT_R32G32B32_SFLOAT, offsetof(InstanceData, pos))
|
||||
);
|
||||
// Location 5: Rotation
|
||||
// Location 5: Scale
|
||||
vertices.attributeDescriptions.push_back(
|
||||
vkTools::initializers::vertexInputAttributeDescription(
|
||||
INSTANCE_BUFFER_BIND_ID, 5, VK_FORMAT_R32G32B32_SFLOAT, offsetof(InstanceData, rot))
|
||||
);
|
||||
// Location 6: Scale
|
||||
vertices.attributeDescriptions.push_back(
|
||||
vkTools::initializers::vertexInputAttributeDescription(
|
||||
INSTANCE_BUFFER_BIND_ID, 6, VK_FORMAT_R32_SFLOAT, offsetof(InstanceData, scale))
|
||||
);
|
||||
// Location 7: Texture array layer index
|
||||
vertices.attributeDescriptions.push_back(
|
||||
vkTools::initializers::vertexInputAttributeDescription(
|
||||
INSTANCE_BUFFER_BIND_ID, 7, VK_FORMAT_R32_SFLOAT, offsetof(InstanceData, texIndex))
|
||||
INSTANCE_BUFFER_BIND_ID, 5, VK_FORMAT_R32_SFLOAT, offsetof(InstanceData, scale))
|
||||
);
|
||||
|
||||
vertices.inputState = vkTools::initializers::pipelineVertexInputStateCreateInfo();
|
||||
|
|
@ -561,7 +540,6 @@ public:
|
|||
uint32_t index = x + y * OBJECT_COUNT + z * OBJECT_COUNT * OBJECT_COUNT;
|
||||
instanceData[index].pos = glm::vec3((float)x, (float)y, (float)z) - glm::vec3((float)OBJECT_COUNT / 2.0f);
|
||||
instanceData[index].scale = 2.0f;
|
||||
instanceData[index].rot = glm::vec3(0.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ layout (constant_id = 0) const int MAX_LOD_LEVEL = 5;
|
|||
|
||||
struct InstanceData
|
||||
{
|
||||
vec4 pos;
|
||||
vec4 rot;
|
||||
vec3 pos;
|
||||
float scale;
|
||||
};
|
||||
|
||||
// Binding 0: Instance input data for culling
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -5,9 +5,8 @@
|
|||
|
||||
layout (location = 0) in vec3 inNormal;
|
||||
layout (location = 1) in vec3 inColor;
|
||||
layout (location = 2) in vec3 inUV;
|
||||
layout (location = 3) in vec3 inViewVec;
|
||||
layout (location = 4) in vec3 inLightVec;
|
||||
layout (location = 2) in vec3 inViewVec;
|
||||
layout (location = 3) in vec3 inLightVec;
|
||||
|
||||
layout (location = 0) out vec4 outFragColor;
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -6,14 +6,11 @@
|
|||
// Vertex attributes
|
||||
layout (location = 0) in vec4 inPos;
|
||||
layout (location = 1) in vec3 inNormal;
|
||||
layout (location = 2) in vec2 inUV;
|
||||
layout (location = 3) in vec3 inColor;
|
||||
layout (location = 2) in vec3 inColor;
|
||||
|
||||
// Instanced attributes
|
||||
layout (location = 4) in vec3 instancePos;
|
||||
layout (location = 5) in vec3 instanceRot;
|
||||
layout (location = 6) in float instanceScale;
|
||||
layout (location = 7) in float instanceTexIndex;
|
||||
layout (location = 5) in float instanceScale;
|
||||
|
||||
layout (binding = 0) uniform UBO
|
||||
{
|
||||
|
|
@ -23,9 +20,8 @@ layout (binding = 0) uniform UBO
|
|||
|
||||
layout (location = 0) out vec3 outNormal;
|
||||
layout (location = 1) out vec3 outColor;
|
||||
layout (location = 2) out vec3 outUV;
|
||||
layout (location = 3) out vec3 outViewVec;
|
||||
layout (location = 4) out vec3 outLightVec;
|
||||
layout (location = 2) out vec3 outViewVec;
|
||||
layout (location = 3) out vec3 outLightVec;
|
||||
|
||||
out gl_PerVertex
|
||||
{
|
||||
|
|
@ -35,12 +31,10 @@ out gl_PerVertex
|
|||
void main()
|
||||
{
|
||||
outColor = inColor;
|
||||
outUV = vec3(inUV, instanceTexIndex);
|
||||
outUV.t = 1.0 - outUV.t;
|
||||
|
||||
outNormal = inNormal;// * mat3(rotMat);
|
||||
outNormal = inNormal;
|
||||
|
||||
vec4 pos = vec4((inPos.xyz * instanceScale) + instancePos, 1.0)/* rotMat*/;
|
||||
vec4 pos = vec4((inPos.xyz * instanceScale) + instancePos, 1.0);
|
||||
|
||||
gl_Position = ubo.projection * ubo.modelview * pos;
|
||||
|
||||
|
|
|
|||
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue