首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

X3D 實戰基礎講座(七):光源處理全解析

     編輯:Java 程式設計入門

X3D 三大光源節點

X3D 場景空間提供三種光源節點控制幾何體光照亮度:

  • PointLight:點光源,向四周發射
  • DirectionalLight:平行光源,無限遠平行照射
  • SpotLight:聚光燈,圓錐範圍內照明

一、點光源節點

示例:點光源照亮圓柱體

點光源代碼

結果:點光源效果

無陰影特性驗證

在光源與圓柱體間加一相同圓柱體,後者不會產生陰影,光線穿透幾何體:

代碼:雙圓柱代碼

結果:雙圓柱效果

二、聚光燈節點

SpotLight屬性表

與 PointLight 共同屬性外,關鍵差異:

  • direction:光線方向,默認 0 0 -1
  • beamWidth:內部立體角(弧度),默認 1.570796 (180°)
  • cutOffAngle:外部立體角(弧度),默認 0.785398 (90°)

若 beamWidth > cutOffAngle,自動調整為相等。參數關係圖:

SpotLight參數關係

示例效果

代碼:SpotLight代碼

結果:SpotLight效果

三、平行光源節點

屬性含義默認值說明
on開關TRUETRUE 開啟,FALSE 關閉
color光顏色1 1 1RGB 值,影響物體顯示顏色
location位置0 0 0位置影響光強弱
intensity亮度10~1 範圍
ambientIntensity環境光影響00~1,值越大環境光影響越大
radius影響半徑100以光源為中心的最大有效半徑
attenuation衰減參數1 0 0三值:恆定/線性/二次衰減係數
屬性含義默認值說明
on開關TRUETRUE 開啟,FALSE 關閉
color光顏色1 1 1RGB 值
intensity亮度10~1
ambientIntensity環境光影響00~1

特點:光線來自無限遠,平行照射,無位置屬性,不隨距離衰減。

示例

代碼:DirectionalLight代碼

結果:DirectionalLight效果

下一講預告

下一講將討論紋理映射。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved