我试图在创建Three.js材料之后跟踪设置片段和顶点着色器的确切位置,但运气不佳。使用ParticleSystemMaterial,我有
material = new THREE.ParticleSystemMaterial();
console.log(material);
查看Firefox中的开发者控制台,我可以看到fragmentShader
和vertexShader
都设置了默认值:
然而,我很好奇这些价值来自哪里。从ParticleSystemMaterial.js和Material.js的源代码追溯,我没有看到任何明确说明这些着色器设置位置的内容。我假设他们在ShaderLib.js的某个时刻被拉了,但两个源代码中的任何内容似乎都没有表明这完成了。
有没有人对此有任何想法?
答案 0 :(得分:2)
ParticleSystemMaterial
的着色器为THREE.ShaderLib[ 'particle_basic' ]
,可在源文件ShaderLib.js
和ShaderChunk.js
中找到。
可以在WebGLRenderer.initMaterial()
中的方法WebGLRenderer.js
中找到素材到着色器的分配。
three.js所。 r.67
注意:PaticleSystem
正在重命名为PointCloud
,而PaticleSystemMaterial
正在r.68dev中重命名为PointCloudMaterial
。