2014-09-10 74 views
1

有誰知道如何在Three.js中定義一個光度函數?光度函數Three.js

目前我使用的是蘭伯特

new THREE.MeshLambertMaterial({ color: 0xffffff }) 

但我想用一個隆梅爾西利格,我不知道在哪裏以及如何定義它。

回答

1

您必須爲此編寫自定義片段着色器。您可以在this page的底部看看Lommel-Seeliger着色器的示例實現。

在Three.js中,使用ShaderMaterial來應用着色器。一個很好的概念介紹是this tutorial,基本上你可以做

var shaderMaterial = 
    new THREE.ShaderMaterial({ 
    vertexShader: vertexShader, 
    fragmentShader: fragmentShader 
    }); 
+0

感謝您的回答!我得到了片段着色器,但是我需要使用哪個頂點着色器來實現Lommel-Seeliger? – 2014-09-11 17:43:06

+1

頂點着色器:void main(void){gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; }' – gaitat 2014-09-11 18:52:37