亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

WebGL中,什么情況下不設置Lights也能看到物體?

WebGL中,什么情況下不設置Lights也能看到物體?

qq_OkamiShiranu_0 2017-08-01 11:27:22
剛接觸 WebGL 不久,昨天學習了 Lights 方面的知識。在練習中,不設置 Lights 的話整個場景都是黑的,不可見。但再次看入門的示例代碼(一個圍繞 x , y 軸 旋轉的綠色正方體)時,發現其中并未設置 Lights ,但仍然可以看到渲染的結果,請問這是什么原因?<html> <head> <title>My?first?Three.js?app</title> <style> body?{?margin:?0;?} canvas?{?width:?100%;?height:?100%?} </style> </head> <body> <script?src="http://wow.techbrood.com/libs/three.r73.js"></script> <script> var?scene?=?new?THREE.Scene(); var?camera?=?new?THREE.PerspectiveCamera(?75,?window.innerWidth/window.innerHeight,?0.1,?1000?); var?renderer?=?new?THREE.WebGLRenderer(); renderer.setSize(?window.innerWidth,?window.innerHeight?); document.body.appendChild(?renderer.domElement?); var?geometry?=?new?THREE.BoxGeometry(?1,?1,?1?); var?material?=?new?THREE.MeshBasicMaterial(?{?color:?0x00ff00?}?); var?cube?=?new?THREE.Mesh(?geometry,?material?); scene.add(?cube?); camera.position.z?=?5; var?render?=?function?()?{ requestAnimationFrame(?render?); cube.rotation.x?+=?0.1; cube.rotation.y?+=?0.1; renderer.render(scene,?camera); }; render(); </script> </body> </html>
查看完整描述

1 回答

?
qq_OkamiShiranu_0

TA貢獻1條經驗 獲得超0個贊

好吧...已經查到了,是和 Material 有關系。MeshBasicMaterial 無需光照就能顯示,其余類型的材質都需要借助光照來顯色。

查看完整回答
反對 回復 2017-08-02
  • 1 回答
  • 0 關注
  • 1290 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號