コード例 #1
0
        protected override void OnApply(CommandEncoder commandEncoder)
        {
            if (_dirtyFlags.HasFlag(SpriteEffectDirtyFlags.TextureConstants))
            {
                _textureConstantBuffer.UpdateData(_textureConstants);

                commandEncoder.SetInlineConstantBuffer(0, _textureConstantBuffer);

                _dirtyFlags &= ~SpriteEffectDirtyFlags.TextureConstants;
            }

            if (_dirtyFlags.HasFlag(SpriteEffectDirtyFlags.Texture))
            {
                commandEncoder.SetTexture(1, _texture);
                _dirtyFlags &= ~SpriteEffectDirtyFlags.Texture;
            }
        }
コード例 #2
0
 public void SetTexture(Texture texture)
 {
     _texture     = texture;
     _dirtyFlags |= SpriteEffectDirtyFlags.Texture;
 }
コード例 #3
0
 public void SetMipMapLevel(uint mipMapLevel)
 {
     _textureConstants.MipMapLevel = mipMapLevel;
     _dirtyFlags |= SpriteEffectDirtyFlags.TextureConstants;
 }
コード例 #4
0
 protected override void OnBegin()
 {
     _dirtyFlags = SpriteEffectDirtyFlags.All;
 }