2
我目前正在为一款游戏制作简单的用户界面,并绘制每个需要使用2个流水线状态(每个相同顶点着色器)的按钮。一个为边界绘制线条,使用静态颜色片段着色器,另一个使用渐变渐变绘制按钮的内部。我想知道如果我需要两个不同的渲染指令编码器,每一个管道,或者如果我能做到以下几点:我可以在一个MTLRenderCommandEncoder中使用多个MTLRenderPipelineState吗?
let encoder = command.makeRenderCommandEncoder(descriptor: renderPassDesc)
encoder.setRenderPipelineState(stateWithStaticFragmentShader)
// encode some buffers and draw line-strips
encoder.setRenderPipelineState(stateWithGradientFragmentShader)
// encode some buffers and draw button background
encoder.endEncoding()
谢谢,这就是我的想法,但我不确定。 –