有没有一种方法可以指定WebGL中每个元素的属性?这是我的意思。绘制元素中的每个元素的WebGL属性
我想绘制边缘处的线条和顶点处的胖点的形状。所以,这里的数据结构,我想有一个三角形:
顶点:[0,0,0, 1,0,0, 0,1,0]
边缘:[0,1, 1,2, 2,0]
顶点是一个ARRAY_BUFFER和边缘是一个ELEMENT_ARRAY_BUFFER。所以当我使用LINES
在边缘上调用drawElements
时,我会看到一个三角形的轮廓。现在,我还可以将颜色属性绑定到顶点。假如我让他们都红了:
颜色:[1,0,0, 1,0,0, 1,0,0]
如果我想强调一个特定的顶点,我只是写了bufferSubData
在颜色之前,我画了顶点胖点和绘制之前改回来边缘。但是如果我想强调一个优势呢?我将颜色更改为[1,1,1, 1,1,1, 1,0,0]
并希望获得最佳效果。边(0,1)将是白色,但其他两个边将使用渐变着色:顶点2为红色,其他(0或1)为白色。
所以,我可以指定我想为索引0和1处的元素使用特定的颜色,并且索引2,3,4和5处的元素使用不同的颜色?并且所有这些都不会在每个顶点上加倍(例如,使每个顶点数据看起来像[x,y,z, r,g,b]
,并且在缓冲区中并排放置两个顶点数据,以便边缘可以指向同一个顶点的常规或高亮版本)。