2017-08-15 67 views
0

我想用Three.js編寫一個圖表可視化,所以我有一個bufferGeometry來保存我的頂點,我用我自己的ShaderMaterial繪製它來製作數千個Three.Points,但是現在我想知道Three.lineSegments的着色器如何爲我自己改變它。 我想用相同的bufferGeometry繪製我的邊,併爲邊的頭部使用兩個索引。 我搜索了太多,但我還沒有找到任何東西? 有可能嗎?lineSegment shaderMaterial - bufferGeometry(Threejs)

+0

您是在尋找['THREE.Line'](https://threejs.org/docs/#api/objects/Line) 'THREE.LineSegments'? 'THREE.Line'會做你想做的事情,因爲它將頂點渲染爲線條。 – TheJim01

+0

是的,我看到了,但我不想linetrip我需要的東西可以繪製與兩個頂點索引線 – MHA15

+0

然後,你不能使用相同的'BufferGeometry'對象。這兩種形狀是不同的原始類型。 ([Line Primitives](https://www.khronos.org/opengl/wiki/Primitive#Line_primitives),[Point Primitives](https://www.khronos.org/opengl/wiki/Primitive#Point_primitives))' GL_POINTS'明顯使用單個頂點。 'THREE.LineSegments' =='GL_LINES',每個分段需要兩個頂點。提供索引以允許線段連續表示點的索引將是錯誤的。它看起來似乎正確繪製,但事實並非如此。添加繪圖組會暴露出問題。 – TheJim01

回答

0

我找到了我的答案。 我們應該在緩衝區幾何中使用setindex,並在兩個緩衝區中使用相同的位置屬性