突出显示webgl中着色器代码中两个基元对象之间的交集

时间:2015-03-25 17:11:36

标签: three.js glsl webgl fragment-shader vertex-shader

我正在寻找一种方法来直接从片段着色器代码突出显示两个基元的交集,更具体地说是2个柱面。
我正在使用THREE.js并使用ShaderMaterial添加2个网格,第二个我希望传递位置和第一个的顶部半径(=底部半径)作为制服,如果它们相交,则以不同方式为交叉区域着色。
还需要提一下我不想使用CSG。 我刚开始学习glsl和3d。谢谢!

1 个答案:

答案 0 :(得分:0)

如何将对象或材质ID渲染到纹理并在其上运行一些边缘检测方法,类似于非真实感渲染(下面的一些链接)?

渲染到纹理后,绘制一个全屏多边形,片段着色器从纹理中读取。除了片段位置的颜色外,还要抓住它周围的值。如果周围像素中的任何颜色不同,您就会知道片段在交叉点附近,并且可以随意对其进行着色。如果没有,请丢弃。

Celshading_teapot_large