通過將頂點屬性顯示為用于調試的顏色來使其可視化。
new DebugAppearance(options)
眾所周知的單位長度向量的分量,即normal
,tangent
和bitangent
,從[-1.0,1.0]縮放到(-1.0,1.0)。
Parameters:
options
(Object)
Name | Description |
---|---|
options.attributeName
String
|
要可視化的屬性的名稱。 |
options.perInstanceAttribute
Boolean
default false
|
用于確定此屬性是否為每個實例的幾何屬性的布爾值。 |
options.glslDatatype
String
default 'vec3'
|
屬性的glsl數據類型。支持的數據類型有float 、vec2 、vec3 和vec4 。
|
options.vertexShaderSource
String
|
可選的glsl頂點明暗器源覆蓋默認的頂點明暗器。 |
options.fragmentShaderSource
String
|
可選的glsl fragment shader source覆蓋默認的fragment shader。 |
options.renderState
RenderState
|
可選的渲染狀態以覆蓋默認的渲染狀態。 |
Example
var primitive = new bmgl.Primitive({
geometryInstances : // ...
appearance : new bmgl.DebugAppearance({
attributeName : 'normal'
})
});
Throws
-
DeveloperError : options.glsldatatype必須是float、vec2、vec3或vec4。
Members
(readonly) attributeName : String
要可視化的屬性的名稱。
(readonly) closed : Boolean
當
true
時,幾何圖形應關閉。
-
Default Value:
false
(readonly) fragmentShaderSource : String
片段明暗器的glsl源代碼。完整片段明暗器源是按照程序構建的,考慮到
DebugAppearance#material
。使用DebugAppearance#getFragmentShaderSource
獲取完整源。
(readonly) glslDatatype : String
要可視化的屬性的glsl數據類型。
material : Material
此屬性是
Appearance
接口的一部分,但DebugAppearance
不使用,因為使用了完全自定義的片段明暗器。
-
Default Value:
undefined
(readonly) renderState : Object
呈現幾何圖形時要使用的WebGL固定函數狀態。
translucent : Boolean
當
true
時,幾何體將顯示為半透明。
-
Default Value:
false
(readonly) vertexShaderSource : String
頂點明暗器的glsl源代碼。
Methods
getFragmentShaderSource() → {String}
返回完整的glsl片段明暗器源,對于
DebugAppearance
僅為DebugAppearance#fragmentShaderSource
。
創建渲染狀態。這不是最終的渲染狀態實例;相反,它可以包含與上下文中創建的渲染狀態相同的渲染狀態屬性的子集。
確定幾何圖形是否基于
DebugAppearance#translucent
半透明。