【发布时间】:2014-03-25 07:53:37
【问题描述】:
我正在尝试确定使用 Three.js (webgl) 中的着色器处理自定义虚线的最佳方式。这些虚线可能有不同的模式。我希望我能够编写一个可以处理任何类型的破折号模式的着色器。该模式将由一组值(例如[0.125, -0.125, 0.250, -0.250])给出,其中负值是空格的长度,正值是破折号的长度。
我是着色器新手,我不确定上述是否可行。如果我理解正确,统一数组将不合适,因为我希望该数组根据在特定线实体上绘制的模式进行更改。但我认为属性数组不合适,因为这似乎是与顶点相关联的值数组。那么我想做的事情是否可行,或者我必须为每个模式动态制作着色器?
到目前为止,我是否正确理解了这一点?有什么建议么?这是我第一次(希望也是唯一一次)需要使用着色器。
【问题讨论】:
-
看看这是否有帮助:threejs.org/examples/webgl_lines_dashed.html。并在
ShaderLib.js中搜索“虚线”。 -
是的,我已经调查过了。它是一个非常基本的着色器,只有一个 gapSize 和 dashSize,它不符合我的任何要求。不过谢谢
-
你的项目听起来很有趣。如果您愿意分享您的结果,那就太好了!但要小心,着色器会在你身上生长。 :-)
标签: three.js glsl webgl shader fragment-shader