So I have changed StaticData from
into this
The problem is that when I use red/green/blue in visualiseScalar it shows the error
I sincerely stuck at this. Follows code of bufferData and visualiseScalar, could be helpful probably
That's makeBuffer line (staticData = StaticData)
Code Block struct StaticData { var positions: FloatTuple var impulses: FloatTuple var impulseScalar: SIMD2<Float> var offsets: SIMD2<Float> var screenSize: SIMD2<Float> var inkRadius: simd_float1 }
into this
Code Block struct StaticData { var positions: FloatTuple var impulses: FloatTuple var impulseScalar: SIMD2<Float> var offsets: SIMD2<Float> var screenSize: SIMD2<Float> var inkRadius: simd_float1 var red: CFloat var green: CFloat var blue: CFloat }
The problem is that when I use red/green/blue in visualiseScalar it shows the error
Code Block Fragment Function(visualizeScalar): missing buffer binding at index 0 for bufferData[0] after modifying buffer
I sincerely stuck at this. Follows code of bufferData and visualiseScalar, could be helpful probably
Code Block fragment half4 visualizeScalar(VertexOut fragmentIn [[stage_in]], texture2d<float, access::sample> tex2d [[texture(0)]], constant BufferData &bufferData [[buffer(0)]]) { constexpr sampler sampler2d(filter::nearest); half4 color = half4(tex2d.sample(sampler2d, fragmentIn.textureCoorinates)); return half4(half3(bufferData.red, bufferData.green, bufferData.blue) * abs(color.xxx), 1.0); }
That's makeBuffer line (staticData = StaticData)
Code Block let buffer = MetalDevice.sharedInstance.device.makeBuffer(bytes: &staticData, length: bufferSize, options: .storageModeShared)! uniformsBuffers.append(buffer)