DynamicBuffer
class DynamicBuffer
Dynamic Buffer for Tirple Buffering,
Dynamic buffer data refers to frequently updated data stored in a buffer. To avoid creating new buffers per frame and to minimize processor idle time between frames, implement a triple buffering model.
for management Renderer ~ Scene Uniforms, i seperate Renederer and DynamicBuffer from XCode10 default Metal Template
see also Metal Best Practices Guide/Resource Management/Triple Buffering
-
The 256 byte aligned size of our uniform structure
Declaration
Swift
static var alignedUniformsSize: Int
-
Buffer Count, we use Triple Buffering
Declaration
Swift
static var maxBuffersInFlight: Int
-
Undocumented
Declaration
Swift
let inFlightSemaphore: DispatchSemaphore
-
VertexUniformBuffer
Declaration
Swift
var dynamicUniformBuffer: MTLBuffer
-
Undocumented
Declaration
Swift
var uniformBufferOffset: Int
-
Undocumented
Declaration
Swift
var uniformBufferIndex: Int
-
Undocumented
Declaration
Swift
var uniformBufferSize: Int
-
Undocumented
Declaration
Swift
var uniforms: UnsafeMutablePointer<Uniforms>
-
Undocumented
Declaration
Swift
var currentUniform: Uniforms { get }
-
Undocumented
Declaration
Swift
var dynamicFragmentUniformBuffer: MTLBuffer
-
Undocumented
Declaration
Swift
var fragmentUniformBufferOffset: Int
-
Undocumented
Declaration
Swift
var fragmentUniformBufferIndex: Int
-
Undocumented
Declaration
Swift
var fragmentUniformBufferSize: Int
-
Undocumented
Declaration
Swift
var fragmentUniforms: UnsafeMutablePointer<FragmentUniforms>
-
Undocumented
Declaration
Swift
var currentFragmentUniform: FragmentUniforms { get }
-
Undocumented
Declaration
Swift
init?(device: MTLDevice)
-
update index in Buffers.
Declaration
Swift
public func updateDynamicBufferState()
-
Declaration
Swift
public func setDynamicBufferInRenderEncoder(renderEncoder: MTLRenderCommandEncoder)