Include the normals in the generated Plane geometry
This commit is contained in:
parent
cb16b84ab9
commit
6a86368d3a
2 changed files with 13 additions and 13 deletions
|
@ -24,16 +24,16 @@
|
||||||
typedef NS_ENUM(NSInteger, BufferIndex)
|
typedef NS_ENUM(NSInteger, BufferIndex)
|
||||||
{
|
{
|
||||||
BufferIndexMeshPositions = 0,
|
BufferIndexMeshPositions = 0,
|
||||||
BufferIndexMeshGenerics = 1,
|
BufferIndexNormals = 1,
|
||||||
BufferIndexMeshGridCoords = 2,
|
BufferIndexMeshGenerics = 2,
|
||||||
BufferIndexUniforms = 3,
|
BufferIndexUniforms = 3,
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef NS_ENUM(NSInteger, VertexAttribute)
|
typedef NS_ENUM(NSInteger, VertexAttribute)
|
||||||
{
|
{
|
||||||
VertexAttributePosition = 0,
|
VertexAttributePosition = 0,
|
||||||
VertexAttributeTexcoord = 1,
|
VertexAttributeNormal = 1,
|
||||||
VertexAttributeGridCoord = 2,
|
VertexAttributeTexcoord = 2,
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef NS_ENUM(NSInteger, TextureIndex)
|
typedef NS_ENUM(NSInteger, TextureIndex)
|
||||||
|
|
|
@ -19,26 +19,26 @@ class Terrain: NSObject {
|
||||||
desc.attributes[VertexAttribute.position.rawValue].offset = 0
|
desc.attributes[VertexAttribute.position.rawValue].offset = 0
|
||||||
desc.attributes[VertexAttribute.position.rawValue].bufferIndex = BufferIndex.meshPositions.rawValue
|
desc.attributes[VertexAttribute.position.rawValue].bufferIndex = BufferIndex.meshPositions.rawValue
|
||||||
|
|
||||||
|
desc.attributes[VertexAttribute.normal.rawValue].format = .float3
|
||||||
|
desc.attributes[VertexAttribute.normal.rawValue].offset = 0
|
||||||
|
desc.attributes[VertexAttribute.normal.rawValue].bufferIndex = BufferIndex.normals.rawValue
|
||||||
|
|
||||||
desc.attributes[VertexAttribute.texcoord.rawValue].format = .float2
|
desc.attributes[VertexAttribute.texcoord.rawValue].format = .float2
|
||||||
desc.attributes[VertexAttribute.texcoord.rawValue].offset = 0
|
desc.attributes[VertexAttribute.texcoord.rawValue].offset = 0
|
||||||
desc.attributes[VertexAttribute.texcoord.rawValue].bufferIndex = BufferIndex.meshGenerics.rawValue
|
desc.attributes[VertexAttribute.texcoord.rawValue].bufferIndex = BufferIndex.meshGenerics.rawValue
|
||||||
|
|
||||||
desc.attributes[VertexAttribute.gridCoord.rawValue].format = .uint2
|
|
||||||
desc.attributes[VertexAttribute.gridCoord.rawValue].offset = 0
|
|
||||||
desc.attributes[VertexAttribute.gridCoord.rawValue].bufferIndex = BufferIndex.meshGridCoords.rawValue
|
|
||||||
|
|
||||||
desc.layouts[BufferIndex.meshPositions.rawValue].stride = 12
|
desc.layouts[BufferIndex.meshPositions.rawValue].stride = 12
|
||||||
desc.layouts[BufferIndex.meshPositions.rawValue].stepRate = 1
|
desc.layouts[BufferIndex.meshPositions.rawValue].stepRate = 1
|
||||||
desc.layouts[BufferIndex.meshPositions.rawValue].stepFunction = .perVertex
|
desc.layouts[BufferIndex.meshPositions.rawValue].stepFunction = .perVertex
|
||||||
|
|
||||||
|
desc.layouts[BufferIndex.normals.rawValue].stride = 12
|
||||||
|
desc.layouts[BufferIndex.normals.rawValue].stepRate = 1
|
||||||
|
desc.layouts[BufferIndex.normals.rawValue].stepFunction = .perVertex
|
||||||
|
|
||||||
desc.layouts[BufferIndex.meshGenerics.rawValue].stride = 8
|
desc.layouts[BufferIndex.meshGenerics.rawValue].stride = 8
|
||||||
desc.layouts[BufferIndex.meshGenerics.rawValue].stepRate = 1
|
desc.layouts[BufferIndex.meshGenerics.rawValue].stepRate = 1
|
||||||
desc.layouts[BufferIndex.meshGenerics.rawValue].stepFunction = .perVertex
|
desc.layouts[BufferIndex.meshGenerics.rawValue].stepFunction = .perVertex
|
||||||
|
|
||||||
desc.layouts[BufferIndex.meshGridCoords.rawValue].stride = MemoryLayout<uint2>.stride
|
|
||||||
desc.layouts[BufferIndex.meshGridCoords.rawValue].stepRate = 1
|
|
||||||
desc.layouts[BufferIndex.meshGridCoords.rawValue].stepFunction = .perVertex
|
|
||||||
|
|
||||||
return desc
|
return desc
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -62,8 +62,8 @@ class Terrain: NSObject {
|
||||||
throw RendererError.badVertexDescriptor
|
throw RendererError.badVertexDescriptor
|
||||||
}
|
}
|
||||||
attributes[VertexAttribute.position.rawValue].name = MDLVertexAttributePosition
|
attributes[VertexAttribute.position.rawValue].name = MDLVertexAttributePosition
|
||||||
|
attributes[VertexAttribute.normal.rawValue].name = MDLVertexAttributeNormal
|
||||||
attributes[VertexAttribute.texcoord.rawValue].name = MDLVertexAttributeTextureCoordinate
|
attributes[VertexAttribute.texcoord.rawValue].name = MDLVertexAttributeTextureCoordinate
|
||||||
attributes[VertexAttribute.gridCoord.rawValue].name = "Grid Coordinate"
|
|
||||||
|
|
||||||
plane.vertexDescriptor = mdlVertexDescriptor
|
plane.vertexDescriptor = mdlVertexDescriptor
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue