2014-04-24 45 views
1

我正在阅读ThreeJS自定义属性,并对如何设置它们感到困惑。使用threejs的自定义属性

所以我已经看到,我们添加一个属性到几何属性列表,然后相同的ShaderMaterial属性列表?

我的问题是如何在3js中添加自定义属性?

+0

你可以分享一些源代码或JSFiddle让我们知道你已经尝试过了吗?没有更多的背景知识,有点难以分辨你需要什么。 – dethtron5000

+0

搜索three.js的例子:http://threejs.org/examples/webgl_custom_attributes.html – WestLangley

+0

我想我去吧。 所以首先我添加到几何属性列表中的属性,把它Attrib1 然后在着色器的属性,我添加了特定的属性列表 geometry.attributes = { Attrib1:{... }} 然后在材料 属性:{Attrib1:{类型: “F”,值:空}} 它似乎工作。 我来到这里是因为网上的例子有点令人困惑 – user3570683

回答

2

新版本(r67)功能RawShaderMaterial允许完全控制属性/着色器。这里有一个例子:

http://threejs.org/examples/webgl_buffergeometry_rawshader.html

如果你想要的东西少“原始”,但仍高性能,这是一个使用BufferGeometryShaderMaterial一个例子:

http://threejs.org/examples/webgl_buffergeometry_custom_attributes_particles.html

而且,如果你想使用Geometry这也是一个例子:

http://threejs.org/examples/webgl_custom_attributes.html

+1

酷,RawShaderMaterial听起来好多了。谢谢 – user3570683

+1

最后一个例子使用buffergeometry ..从我看到没有办法将自定义属性传递给使用普通几何的着色器。 – fallingCode