Пример #1
0
        /// <summary>
        ///     Adds a VertexFormat change to the device.
        /// </summary>
        /// <param name="vertexFormat">VertexFormat</param>
        /// <returns>Device Option Instance</returns>
        public DeviceOption AddVertexFormat(VertexFormat vertexFormat)
        {
            Use.Add(DeviceOptionIdentity.VertexFormat, true);

            var oldFormat = Device.VertexFormat;

            VertexFormat = new[] { vertexFormat, oldFormat };

            return(this);
        }
Пример #2
0
        /// <summary>
        ///     Adds a PixelShader change to the device.
        /// </summary>
        /// <param name="pixelShader">PixelShader</param>
        /// <returns>Device Option Instance</returns>
        public DeviceOption AddPixelShader(PixelShader pixelShader)
        {
            Use.Add(DeviceOptionIdentity.PixelShader, true);

            var oldShader = Device.PixelShader;

            PixelShader = new[] { pixelShader, oldShader };

            return(this);
        }
Пример #3
0
        /// <summary>
        ///     Adds a Texture change to the device based on texture stage.
        /// </summary>
        /// <param name="stage">Stage</param>
        /// <param name="texture">Texture</param>
        /// <returns>Device Option Instance</returns>
        public DeviceOption AddTexture(int stage, BaseTexture texture)
        {
            Use.Add(DeviceOptionIdentity.Texture, true);

            var oldTexture = Device.GetTexture(stage);

            TextureStage = stage;
            Texture      = new[] { texture, oldTexture };

            return(this);
        }
Пример #4
0
        /// <summary>
        ///     Adds a Stream Source change to the device.
        /// </summary>
        /// <param name="streamNumber">Stream Number</param>
        /// <param name="buffer">VertexBuffer</param>
        /// <param name="offsetInBytes">Offset In Bytes</param>
        /// <param name="stride">Stride</param>
        /// <returns>Device Option Instance</returns>
        public DeviceOption AddStreamSource(int streamNumber, VertexBuffer buffer, int offsetInBytes, int stride)
        {
            Use.Add(DeviceOptionIdentity.StreamSource, true);

            VertexBuffer oldBuffer;
            int          oldOffsetInBytes;
            int          oldStride;

            Device.GetStreamSource(streamNumber, out oldBuffer, out oldOffsetInBytes, out oldStride);

            StreamNumber        = streamNumber;
            Buffer              = new[] { buffer, oldBuffer };
            BufferOffsetInBytes = new[] { offsetInBytes, oldOffsetInBytes };
            BufferStride        = new[] { stride, oldStride };

            return(this);
        }