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)
View on GitHub
DynamicBuffer Class Reference