Three.js在哪里设置材质的默认着色器?

时间:2014-05-08 22:43:46

标签: javascript three.js shader

我试图在创建Three.js材料之后跟踪设置片段和顶点着色器的确切位置,但运气不佳。使用ParticleSystemMaterial,我有

material = new THREE.ParticleSystemMaterial();
console.log(material);

查看Firefox中的开发者控制台,我可以看到fragmentShadervertexShader都设置了默认值:

Object Properties from Browser Console

然而,我很好奇这些价值来自哪里。从ParticleSystemMaterial.jsMaterial.js的源代码追溯,我没有看到任何明确说明这些着色器设置位置的内容。我假设他们在ShaderLib.js的某个时刻被拉了,但两个源代码中的任何内容似乎都没有表明这完成了。

有没有人对此有任何想法?

1 个答案:

答案 0 :(得分:2)

ParticleSystemMaterial的着色器为THREE.ShaderLib[ 'particle_basic' ],可在源文件ShaderLib.jsShaderChunk.js中找到。

可以在WebGLRenderer.initMaterial()中的方法WebGLRenderer.js中找到素材到着色器的分配。

three.js所。 r.67

注意:PaticleSystem正在重命名为PointCloud,而PaticleSystemMaterial正在r.68dev中重命名为PointCloudMaterial