外觀定義了完整的glsl頂點和片段明暗器以及用于繪制
new Appearance(options)
Primitive
的渲染狀態。所有外觀都實現了這個基Appearance
接口。
Parameters:
options
(Object)
Name | Description |
---|---|
options.translucent
Boolean
default true
|
當true 時,幾何體將顯示為半透明,因此Appearance#renderState 啟用了alpha混合。
|
options.closed
Boolean
default false
|
當true 時,幾何圖形將關閉,因此Appearance#renderState 啟用背面剔除。
|
options.material
Material
default Material.ColorType
|
用于確定片段顏色的材質。 |
options.vertexShaderSource
String
|
可選的glsl頂點明暗器源覆蓋默認的頂點明暗器。 |
options.fragmentShaderSource
String
|
可選的glsl fragment shader source覆蓋默認的fragment shader。 |
options.renderState
RenderState
|
可選的渲染狀態以覆蓋默認的渲染狀態。 |
Members
(readonly) closed : Boolean
當
true
時,幾何圖形應關閉。
-
Default Value:
false
(readonly) fragmentShaderSource : String
片段明暗器的glsl源代碼。完整片段明暗器源是按照程序構建的,考慮到
Appearance#material
。使用Appearance#getFragmentShaderSource
獲取完整源。
material : Material
用于確定片段顏色的材質。與其他
Appearance
屬性不同,這不是只讀的,因此外觀的材質可以隨時更改。
(readonly) renderState : Object
呈現幾何圖形時要使用的WebGL固定函數狀態。
translucent : Boolean
當
true
時,幾何體將顯示為半透明。
-
Default Value:
true
(readonly) vertexShaderSource : String
頂點明暗器的glsl源代碼。
Methods
getFragmentShaderSource() → {String}
程序為該外觀創建完整的glsl片段明暗器源,考慮到
Appearance#fragmentShaderSource
和Appearance#material
。
創建渲染狀態。這不是最終的渲染狀態實例;相反,它可以包含與上下文中創建的渲染狀態相同的渲染狀態屬性的子集。
確定幾何圖形是否基于
Appearance#translucent
和Material#isTranslucent
半透明。