包含各种输入的对象,这些输入将组合成最终的 GLSL 着色器字符串。
Name | Type | Default | Description |
---|---|---|---|
options.sources |
Array.<String> | optional 字符串数组,包含着色器的 GLSL 代码。 | |
options.defines |
Array.<String> |
optional
包含要 #define 的 GLSL 标识符的字符串数组。 |
|
options.pickColorQualifier |
String |
optional
GLSL限定符,uniform 或varying ,用于输入czm_pickColor 。当定义时,将生成一个拾取片段着色器。 |
|
options.includeBuiltIns |
Boolean |
true
|
optional 如果为true,将合并着色器中引用的内置函数包含在内。如果这个着色器将成为另一个着色器的源代码,为了避免重复函数,请设置为false。 |
Throws:
-
DeveloperError : options.pickColorQualifier 必须是 "统一 "或 "变化 "的。
Example:
// 1. Prepend #defines to a shader
var source = new SuperMap3D.ShaderSource({
defines : ['WHITE'],
sources : ['void main() { \n#ifdef WHITE\n gl_FragColor = vec4(1.0); \n#else\n gl_FragColor = vec4(0.0); \n#endif\n }']
});
// 2. Modify a fragment shader for picking
var source = new SuperMap3D.ShaderSource({
sources : ['void main() { gl_FragColor = vec4(1.0); }'],
pickColorQualifier : 'uniform'
});
Methods
-
创建一个单一字符串,其中包含完整的片段着色器组合以及所有依赖项和定义。
Returns:
组合着色器字符串。 -
创建一个单一字符串,其中包含完整的组合顶点着色器以及所有依赖项和定义。
Returns:
组合着色器字符串。