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

Javascript Three.js在哪里设置材质的默认着色器?,javascript,three.js,shader,Javascript,Three.js,Shader,在创建了一个Three.js材质之后,我正试图找到碎片和顶点着色器的确切设置位置,但运气不佳。使用ParticleSystemMaterial,我 material=新的3.ParticleSystemMaterial(); 控制台日志(材料); 查看Firefox中的开发者控制台,我可以看到fragmentShader和vertexShader都设置了默认值: 然而,我很好奇这些值来自哪里。从和的源代码回溯,我没有看到任何明确说明这些着色器设置在何处的内容。我假设它们在某种程度上是从中提取

在创建了一个Three.js材质之后,我正试图找到碎片和顶点着色器的确切设置位置,但运气不佳。使用ParticleSystemMaterial,我

material=新的3.ParticleSystemMaterial();
控制台日志(材料);
查看Firefox中的开发者控制台,我可以看到
fragmentShader
vertexShader
都设置了默认值:

然而,我很好奇这些值来自哪里。从和的源代码回溯,我没有看到任何明确说明这些着色器设置在何处的内容。我假设它们在某种程度上是从中提取出来的,但两个源代码中似乎都没有任何迹象表明这一点


有人知道吗?

ParticleSystemMaterial的着色器是
THREE.ShaderLib['particle\u basic']
,可以在源文件
ShaderLib.js
ShaderChunk.js
中找到它

材质到着色器的指定可以在
WebGLRenderer.js
中的方法
WebGLRenderer.initMaterial()
中找到

3.js。r、 67


注意:
PaticleSystem
在r.68dev中将重命名为
PointCloud
,而
PaticleSystemMaterial
将重命名为
PointCloudMaterial
ParticleSystemMaterial
的着色器为
THREE.ShaderLib['particle\u basic']
,它可以在源文件
ShaderLib.js
ShaderChunk.js
中找到

材质到着色器的指定可以在
WebGLRenderer.js
中的方法
WebGLRenderer.initMaterial()
中找到

3.js。r、 67


注意:
PaticleSystem
在r.68dev中将重命名为
PointCloud
,而
PaticleSystemMaterial
将重命名为
PointCloudMaterial
ParticleSystemMaterial
的着色器为
THREE.ShaderLib['particle\u basic']
,它可以在源文件
ShaderLib.js
ShaderChunk.js
中找到

材质到着色器的指定可以在
WebGLRenderer.js
中的方法
WebGLRenderer.initMaterial()
中找到

3.js。r、 67


注意:
PaticleSystem
在r.68dev中将重命名为
PointCloud
,而
PaticleSystemMaterial
将重命名为
PointCloudMaterial
ParticleSystemMaterial
的着色器为
THREE.ShaderLib['particle\u basic']
,它可以在源文件
ShaderLib.js
ShaderChunk.js
中找到

材质到着色器的指定可以在
WebGLRenderer.js
中的方法
WebGLRenderer.initMaterial()
中找到

3.js。r、 67


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

中。什么时候调用initMaterial()?据我所见,在构造材质期间似乎不会发生这种情况,但在构造材质并通过console.log()打印时,它似乎已经被调用。您可以通过在调试器中设置断点来跟踪调用树。有趣。什么时候调用initMaterial()?据我所见,在构造材质期间似乎不会发生这种情况,但在构造材质并通过console.log()打印时,它似乎已经被调用。您可以通过在调试器中设置断点来跟踪调用树。有趣。什么时候调用initMaterial()?据我所见,在构造材质期间似乎不会发生这种情况,但在构造材质并通过console.log()打印时,它似乎已经被调用。您可以通过在调试器中设置断点来跟踪调用树。有趣。什么时候调用initMaterial()?据我所见,在构建材质期间似乎不会发生这种情况,但在构建材质并通过console.log()打印时,它似乎已经被调用。您可以通过在调试器中设置断点来跟踪调用树。顺便说一句,您可以在webgl调用处理真实着色器时检查它们。顺便说一下,您可以在webgl调用处理真实着色器时检查它们。顺便说一下,您可以在webgl调用处理真实着色器时检查它们。顺便说一下,您可以在webgl调用处理真实着色器时检查它们。看见