Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options
|
Object |
An object with the following properties:
|
Throws:
-
DeveloperError :options.textureScale必须大于0.0且小于或等于1.0。
-
DeveloperError :options.pixelFormat必须是一种颜色格式。
-
DeveloperError :当options.pixelDatatype为FLOAT时,此WebGL实现必须支持OES_texture_float扩展。检查context.floatingPointTexture。
Examples:
// Simple stage to change the color
var fs =
'uniform sampler2D colorTexture;\n' +
'varying vec2 v_textureCoordinates;\n' +
'uniform float scale;\n' +
'uniform vec3 offset;\n' +
'void main() {\n' +
' vec4 color = texture2D(colorTexture, v_textureCoordinates);\n' +
' gl_FragColor = vec4(color.rgb * scale + offset, 1.0);\n' +
'}\n';
scene.postProcessStages.add(new Cesium.PostProcessStage({
fragmentShader : fs,
uniforms : {
scale : 1.1,
offset : function() {
return new Cesium.Cartesian3(0.1, 0.2, 0.3);
}
}
}));
// Simple stage to change the color of what is selected.
// If czm_selected returns true, the current fragment belongs to geometry in the selected array.
var fs =
'uniform sampler2D colorTexture;\n' +
'varying vec2 v_textureCoordinates;\n' +
'uniform vec4 highlight;\n' +
'void main() {\n' +
' vec4 color = texture2D(colorTexture, v_textureCoordinates);\n' +
' if (czm_selected()) {\n' +
' vec3 highlighted = highlight.a * highlight.rgb + (1.0 - highlight.a) * color.rgb;\n' +
' gl_FragColor = vec4(highlighted, 1.0);\n' +
' } else { \n' +
' gl_FragColor = color;\n' +
' }\n' +
'}\n';
var stage = scene.postProcessStages.add(new Cesium.PostProcessStage({
fragmentShader : fs,
uniforms : {
highlight : function() {
return new Cesium.Color(1.0, 0.0, 0.0, 0.5);
}
}
}));
stage.selected = [cesium3DTileFeature];
See:
Members
readonly clearColor : Color
着色器必须包含
colorTexture
,
depthTexture
,或两者。
着色器必须包含
vec2
可变声明,用于
v_textureCoordinates
进行采样质地均匀。
PostProcessStageComposite
中的其他阶段引用。
readonly pixelDatatype : PixelDatatype
readonly pixelFormat : PixelFormat
PostProcessStage#enabled
是
true
。等待纹理时,舞台不会准备就绪装载。
readonly sampleMode : PostProcessStageSampleMode
readonly scissorRectangle : BoundingRectangle
BoundingRectangle
用于剪刀式测试。默认的边界矩形将禁用剪刀测试。
在片段着色器中,使用
czm_selected
确定是否应用后处理进入那个片段。例如:
如果(czm_selected(v_textureCoordinates)){ //应用后处理阶段}其他{ gl_FragColor = texture2D(colorTexture,v_textureCordinates);}
对象属性值可以是常量或函数。该函数将被调用后处理阶段执行之前的每个帧。
常量值也可以是图像的URI,数据URI或可用作纹理的HTML元素,例如HTMLImageElement或HTMLCanvasElement。
如果此后处理阶段是未连续执行的
PostProcessStageComposite
的一部分,则常量值也可以是复合中另一个阶段的名称。这会将具有该名称的舞台的制服设置为输出纹理。
Methods
一旦物体被破坏,就不应使用。调用除
isDestroyed
将导致
DeveloperError
异常。因此,如示例中所述,将返回值(
undefined
)分配给对象。
Throws:
-
DeveloperError :此对象已销毁,即调用destroy()。
如果该对象被破坏,则不应使用。调用除
isDestroyed
将导致
DeveloperError
异常。
Returns:
真正
该物体是否被破坏;除此以外,
假
。