PostProcessStage

                在場景渲染的紋理或上一個后期處理階段的輸出上運行后期處理階段。
                new PostProcessStage(options)
                Parameters:
                options (Object) 一個
                Name Description
                options.fragmentShader
                String
                要使用的片段明暗器。默認sampler2D結構為colorTexturedepthTexture。顏色紋理是渲染場景或上一階段的輸出。深度紋理是渲染場景的輸出。該明暗器應包含一個或兩個結構。還有一個名為v_textureCoordinatesvec2變量,可用于對紋理進行采樣。
                options.uniforms
                Object
                其屬性將用于設置明暗器結構的對象。屬性可以是常量值或函數。常量值也可以是用作紋理的uri、data uri或html元素。
                options.textureScale
                Number
                default 1.0
                范圍(0.0,1.0]中用于縮放紋理尺寸的數字。比例為1.0將使此后期處理階段呈現為視區大小的紋理。
                options.forcePowerOfTwo
                Boolean
                default false
                是否強制紋理尺寸為二的等冪。二次方的冪將是最小尺寸的二次方的下一次冪。
                options.sampleMode
                PostProcessStageSampleMode
                default PostProcessStageSampleMode.NEAREST
                如何對輸入的顏色紋理進行采樣。
                options.pixelFormat
                PixelFormat
                default PixelFormat.RGBA
                輸出紋理的顏色像素格式。
                options.pixelDatatype
                PixelDatatype
                default PixelDatatype.UNSIGNED_BYTE
                輸出紋理的像素數據類型。
                options.clearColor
                Color
                default Color.BLACK
                要清除輸出紋理的顏色。
                options.scissorRectangle
                BoundingRectangle
                用于剪刀測試的矩形。
                options.name
                String
                default createGuid()
                此后處理階段的唯一名稱,供復合中其他階段參考。如果未提供名稱,將生成一個GUID。
                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 bmgl.PostProcessStage({
                    fragmentShader : fs,
                    uniforms : {
                        scale : 1.1,
                        offset : function() {
                            return new bmgl.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 bmgl.PostProcessStage({
                    fragmentShader : fs,
                    uniforms : {
                        highlight : function() {
                            return new bmgl.Color(1.0, 0.0, 0.0, 0.5);
                        }
                    }
                }));
                stage.selected = [bm3DTileFeature];
                Throws
                • DeveloperError : Options.TextureScale必須大于0.0且小于或等于1.0。
                • DeveloperError : Options.PixelFormat必須是顏色格式。
                • DeveloperError : 當options.pixeldatatype為float時,此WebGL實現必須支持OES紋理float擴展。檢查context.floatingpointtexture。
                See:

                Members

                (readonly) clearColor : Color

                要清除輸出紋理的顏色。

                enabled : Boolean

                準備好后是否執行此后期處理階段。

                (readonly) forcePowerOfTwo : Number

                是否強制輸出紋理尺寸都為二的等冪。二次方的冪將是最小尺寸的二次方的下一次冪。

                (readonly) fragmentShader : String

                執行此后期處理階段時要使用的片段明暗器。

                材質球必須包含colorTexturedepthTexture或兩者的采樣器統一聲明。

                材質球必須包含vec2用于v_textureCoordinates采樣紋理結構的變化聲明。

                (readonly) name : String

                此后處理階段的唯一名稱,供APostProcessStageComposite中的其他階段參考。

                (readonly) pixelDatatype : PixelDatatype

                輸出紋理的像素數據類型。

                (readonly) pixelFormat : PixelFormat

                輸出紋理的顏色像素格式。

                (readonly) ready : Boolean

                確定此后處理階段是否準備好執行。階段僅在readyPostProcessStage#enabled都是true時執行。在等待加載紋理時,階段將不準備就緒。

                (readonly) sampleMode : PostProcessStageSampleMode

                如何對輸入的顏色紋理進行采樣。

                (readonly) scissorRectangle : BoundingRectangle

                BoundingRectangle用于剪刀測試。默認的邊界矩形將禁用剪刀測試。

                selected : Array

                為應用后期處理選擇的功能。

                在片段明暗器中,使用czm_selected確定是否將后期處理階段應用于該片段。例如: if (czm_selected(v_textureCoordinates)) { // apply post-process stage } else { gl_FragColor = texture2D(colorTexture, v_textureCordinates); }

                (readonly) textureScale : Number

                范圍(0.0,1.0]中用于縮放輸出紋理尺寸的數字。比例為1.0將使此后期處理階段呈現為視區大小的紋理。

                (readonly) uniforms : Object

                其屬性用于設置片段明暗器的一致性的對象。

                對象屬性值可以是常量或函數。在執行后處理階段之前,將調用每個幀的函數。

                常數值也可以是圖像的URI、數據URI或可用作紋理的HTML元素,例如htmlImageElement或htmlCanvaseElement。

                如果此后處理階段是不連續執行的PostProcessStageComposite的一部分,則常量值也可以是復合中另一個階段的名稱。這將為具有該名稱的階段的輸出紋理設置統一。

                Methods

                destroy()
                銷毀此對象持有的WebGL資源。銷毀對象允許確定地釋放WebGL資源,而不是依賴垃圾收集器來銷毀此對象。

                一旦對象被破壞,就不應使用它;調用除isDestroyed以外的任何函數都將導致DeveloperError異常。因此,將返回值(undefined)賦給對象,如示例中所述。

                Throws
                See:
                isDestroyed() → {Boolean}
                如果此對象被破壞,則返回true;否則返回false。

                如果此對象被破壞,則不應使用它;調用除isDestroyed以外的任何函數都將導致DeveloperError異常。

                See:
                主站蜘蛛池模板: 97精品人妻系列无码人妻| 乱人伦人妻中文字幕无码| 色哟哟www视频在线观看高清| 国产青草亚洲香蕉精品久久| 中文字幕在线播放| 樱桃视频高清免费观看在线播放| 免费无码又爽又黄又刺激网站| 黄网站色年片在线观看| 国内一卡2卡三卡四卡在线| 中国jizz日本| 日韩福利视频一区| 亚洲欧美日韩国产精品26u | 中国精品白嫩bbwbbw| 好看的国产精彩视频 | 色婷婷亚洲一区二区三区| 国产精品亚洲成在人线| gaytv.me| 成年女人午夜毛片免费视频| 乱码一乱码二乱码三新区| 欧美色吧视频在线观看| 动漫成人在线观看| 资源在线www天堂| 国产男女猛烈无遮挡| 99热这里只有精品66| 成人av鲁丝片一区二区免费| 久久午夜福利电影| 欧美另类69xxxx| 亚洲精品资源在线| 精品亚洲456在线播放| 国产一级一片免费播放i| 久久久久999| 国产综合在线观看| h电车侵犯动漫在线播放| 成年轻人网站色免费看| 久久国产精品麻豆映画| 香蕉免费一级视频在线观看| 精品国产va久久久久久久冰| 国产国语对白露脸在线观看| 拍拍拍无挡免费视频网站| 在线观看的网站| 一个人看的www在线观看免费|