我想將一個浮點數傳遞給我的金屬着色器。我無法弄清楚如何。如何使用Swift將浮點制服傳遞給iOS金屬着色器?
這裏是我的着色器:
vertex float4 model_vertex(unsigned int iid[[instance_id]]
constant float angle) {
float number = float(iid)/64.0;
return float4(number * sin(angle), number * cos(angle), 0.0, 1.0);
}
現在我想將它傳遞到shader:
let renderPassDescriptor = MTLRenderPassDescriptor()
let renderEncoder = commandBuffer.renderCommandEncoderWithDescriptor(renderPassDescriptor)
// ...
let angle: Float = 0.5
renderEncoder.setUniform1(angle) // What do I do here?
我如何通過單一的浮點值?
也許這是顯而易見的,但OP的問題有一個頂點着色器和'setFragmentBytes'將數據發送到片段着色,所以如果像OP你想將數據發送到頂點着色器使用'代替setVertexBytes'。 – 2016-08-11 14:36:34
好點。固定。 – 2016-08-12 22:07:35