将材质存储为顶点属性

时间:2015-09-11 16:48:17

标签: opengl

我使用多种材质渲染多个对象。通常,材质在着色器中表示为均匀,为了渲染整个场景,我们称为每种材质的绘制。

我可以将材质(Kd,Ka等)表示为顶点属性并将其发送到具有平面插值的片段着色器吗?这样我们只需要一个命令即可绘制。这种方法的缺点是什么?

1 个答案:

答案 0 :(得分:1)

你绝对可以这样做;只需将材质定义为顶点属性,就像将颜色,法线或位置一样。我不会过分担心每个顶点向现代图形卡发送2个额外的浮点数(漫反射,环境光)。可能会有轻微的性能差异,但并不多。如果这是您所需要的,那么使用顶点属性是最干净的方法。