当前位置: 首页>>代码示例>>C#>>正文


C# GraphicsContext.SetTexture方法代码示例

本文整理汇总了C#中GraphicsContext.SetTexture方法的典型用法代码示例。如果您正苦于以下问题:C# GraphicsContext.SetTexture方法的具体用法?C# GraphicsContext.SetTexture怎么用?C# GraphicsContext.SetTexture使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在GraphicsContext的用法示例。


在下文中一共展示了GraphicsContext.SetTexture方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: render

        public override void render(GraphicsContext context)
        {
            if (vertexBuffer == null) return;

            program.SetUniformValue(0, ref sceneTransform);
            program.SetUniformValue(1, ref screenMatrix);
            program.SetUniformValue(2, 1f);

            context.SetShaderProgram(program);
            context.SetVertexBuffer(0, vertexBuffer);
            context.SetTexture(0, texture);
            context.DrawArrays(DrawMode.TriangleFan, 0, vertexBuffer.VertexCount);
            context.SetTexture(0, null);
        }
开发者ID:JimmyDeemo,项目名称:openfl-psm,代码行数:14,代码来源:RendererStartup.cs

示例2: Filter

        /// フィルタ処理の実行
        public void Filter( GraphicsContext graphics )
        {
            texRenderer.BindGraphicsContext( graphics );
            FrameBuffer oldBuffer = graphics.GetFrameBuffer();

            bool isSwap = false;
            int width = oldBuffer.Width;
            int height = oldBuffer.Height;

            if( this.Target != null ){
            graphics.SetFrameBuffer( this.Target );
            width = this.Target.Width;
            height = this.Target.Height;
            isSwap = true;
            }
            graphics.SetViewport( 0, 0, width, height );

            texRenderer.Begin( shaderDOF );
            graphics.SetTexture( 2, texDepth );
            texRenderer.Render( texScene,
                            texBlur,
                            0, 0, 0, 0, width, height );
            texRenderer.End();
            if( isSwap ){
            graphics.SetFrameBuffer( oldBuffer );
            }
        }
开发者ID:hatano0x06,项目名称:Coroppoxus,代码行数:28,代码来源:DepthOfFealdFilter.cs

示例3: setLayers

        /// Material::Layer の設定を Shader に作用する
        void setLayers( 
                    GraphicsContext graphics,
                    BasicProgram program,
                    BasicMaterial material
                     )
        {
            if( material.Layers == null ){
            return ;
            }

            Texture texture = null ;

            int layerCount = (material.Layers.Length <= 3) ? material.Layers.Length : 3;

            program.SetTexCount( layerCount );

            int texID = 0;
            if( NormalizeCubeMap != null ){
            graphics.SetTexture( texID, NormalizeCubeMap );
            texID++;
            }

            for( int i = 0; i < layerCount; i++ ){
            BasicLayer layer = material.Layers[ i ];
            texture = Textures[ layer.Texture ].Texture ;

            if( texture != null ){
                // TexAnimation
                if( layer.TexAnimBoneIdx >= 0 ){
                    Vector3 st = new Vector3();

                    st.X = 1.0f - Bones[ layer.TexAnimBoneIdx ].Scaling.X;
                    st.Y = 1.0f - Bones[ layer.TexAnimBoneIdx ].Scaling.Y;
                    st.Z = 1.0f - Bones[ layer.TexAnimBoneIdx ].Scaling.Z;
                    texAnims[ i ] = Matrix4.Transformation( Bones[ layer.TexAnimBoneIdx ].Translation + st,
                                                            Bones[ layer.TexAnimBoneIdx ].Rotation,
                                                            Bones[ layer.TexAnimBoneIdx ].Scaling ) ;
                }else{
                    texAnims[ i ] = Matrix4.Identity;
                }
                texture.SetWrap( (TextureWrapMode)layer.TexWrapU,
                                 (TextureWrapMode)layer.TexWrapV );
                texture.SetFilter( (TextureFilterMode)layer.magFilter,
                                   (TextureFilterMode)layer.minFilter,
                                   (TextureFilterMode)layer.mipFilter );
                //                graphics.SetTexture( i + 1, texture );
                graphics.SetTexture( texID, texture );
                texID++;
            }
            program.SetTexMtx( texAnims );
            program.SetTexCoord( i, material.Layers[ i ].TexCoord );
            program.SetTangentID( material.Layers[ i ].TangentID );
            program.SetTexType( i, material.Layers[ i ].TexType );
            program.SetTexBlendFunc( i, material.Layers[ i ].TexBlendFunc );
            }
        }
开发者ID:hatano0x06,项目名称:Coroppoxus,代码行数:57,代码来源:BasicModel+(2).cs

示例4: render

        public override void render(GraphicsContext context)
        {
            if (dirtyBuffer) {
                validateBuffer();
            }
            if (vertexBuffer == null) return;

            program.SetUniformValue(0, ref sceneTransform);
            program.SetUniformValue(1, ref screenMatrix);
            program.SetUniformValue(2, (float) sceneAlpha);

            context.SetShaderProgram(program);
            context.SetVertexBuffer(0, vertexBuffer);
            if (program == shaderUniversal) context.SetTexture(0, texture);

            context.DrawArrays(DrawMode.Triangles, 0, vertexBuffer.VertexCount);

            if (program == shaderUniversal) context.SetTexture(0, null);
        }
开发者ID:JimmyDeemo,项目名称:openfl-psm,代码行数:19,代码来源:RendererUniversal.cs


注:本文中的GraphicsContext.SetTexture方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。