2012-12-02 212 views
1

陰影渲染是否可以指定其他顏色而不是黑色?我希望允許用戶使用光線和陰影顏色進行實驗,例如。在光線/陰影中使用互補色。自定義陰影顏色

下面是我如何設置其他陰影設置,它的工作原理是完美的。但是我發現沒有辦法讓黑色以外的其他陰影變成灰色。

this._sun_light = new THREE.DirectionalLight(0xffffff, 1); 
... 
this._sun_light.intensity = this.getParameter("sun_intensity"); 
this._sun_light.color.setHex(this.getParameterColorHex("sun_color")); 
... 
this._sun_light.shadowDarkness = this.getParameter("sun_shadow_intensity"); 
... 

我發現three.js所的\ src \渲染\ WebGLShaders.js來則shadowColor變量一些參考,但瞭解該文件的出路我的心智能力,並不能找到一個方法來配置它。考慮到陰影映射技術,這甚至是可能的嗎?

只有我能想到的解決方法是從相反的方向照亮陰影區域的其他光線,並獲得陰影區域外的主光取消種類。但是,當我開始添加更多燈光時,如果它開始工作,可能很快就會變得混亂。

回答

1

shadowColor變量剛剛設置爲1,如果啓用了陰影,它會根據位置變暗和變暗。這個值在最後乘以最終的顏色值,所以如果它仍然是1沒有變化,但是如果它小於1,它會使最終顏色變深。所以沒有辦法設置陰影的顏色。