我正在Three.js中为shadermaterial编写一个着色器。
我想在点上添加颜色,使其边界应为黑色,内部填充的颜色应为原始顶点颜色(例如红色)。
这可以通过使用纹理来完成,但是我不想使用纹理。 我已应用gl_PointSize来增加点的大小。
有什么办法吗?
答案 0 :(得分:0)
尝试这种方法:https://jsfiddle.net/f2Lommf5/14545/
想法是使用step()函数为每个点生成一个尖锐的矩形边框。您可以通过更改函数的第二个参数来更改边框的粗细。
vec2 c = abs( gl_PointCoord - vec2( 0.5 ) ) * 2.0; // move origin to center
float f = step( c.x, 0.6 ) * step( c.y, 0.6 );