23.4高光贴图


### 23.4 高光贴图 这个飞机还是很奇怪的,它是一个木头飞机,但是却像是打了蜡一样,亮蹭蹭的。 再对比设计师设计的效果: 正确的是只有金属部分才有高光,木头部分是不能有高光的。 那怎么控制呢? 顶点属性与高光贴图的抉择 我们往OpenGL里传入数据,有2种方式: 顶点数据 纹理 顶点数据里有个 ,在前面章节,我们用顶点颜色来绘制出彩色的三角形。 但是从使用了纹理之后,顶点颜色就闲置了没有再使用,我们可以用顶点颜色来表示顶点是否计算高光。 对于要高光显示的区域,将顶点颜色指定为 (1,1,1)。 不需要高光的区域,将顶点颜色指定为 (0,0,0)。 原理上看起来没什么问题,但实际上是不太行的。 在【5.1 颜色和贴图】有类似的疑问,既然顶点有颜色,为什么还需要纹理贴图呢?p 缘由就是,...

### 23.4 高光贴图 这个飞机还是很奇怪的,它是一个木头飞机,但是却像是打了蜡一样,亮蹭蹭的。 再对比设计师设计的效果: 正确的是只有金属部分才有高光,木头部分是不能有高光的。 那怎么控制呢? 顶点属性与高光贴图的抉择 我们往OpenGL里传入数据,有2种方式: 顶点数据 纹理 顶点数据里有个 ,在前面章节,我们用顶点颜色来绘制出彩色的三角形。 但是从使用了纹理之后,顶点颜色就闲置了没有再使用,我们可以用顶点颜色来表示顶点是否计算高光。 对于要高光显示的区域,将顶点颜色指定为 (1,1,1)。 不需要高光的区域,将顶点颜色指定为 (0,0,0)。 原理上看起来没什么问题,但实际上是不太行的。 在【5.1 颜色和贴图】有类似的疑问,既然顶点有颜色,为什么还需要纹理贴图呢?p 缘由就是,顶点颜色是顶点属性,在顶点Shader中处理。 而最终我们在屏幕上看到的像素颜色,是在片段着色器中输出的。 6个顶点组成的正方形,铺满了100x100大小的屏幕。 只有正方形的4个角所在的顶点,才有顶点颜色数据,中间的都靠插值。 插值只能插出渐变色,是插不出一个圆圈、一个人的。 而高光的计算逻辑,就...

发布者: 作者: 转发
评论区 (0)
U