예제 #1
0
 public override void Begin(GraphicsDevice device, SpriteBlendMode blendMode, SpriteSortMode sortMode, SaveStateMode stateMode, Local.Matrix transformMatrix)
 {
     _childRenderer = GetCurrentRenderer();
     _childRenderer.Begin(device, blendMode, sortMode, stateMode, transformMatrix);
     currentSortMode = sortMode;
     base.Begin(device, blendMode, sortMode, stateMode, transformMatrix);
 }
예제 #2
0
 public void Begin(SpriteSortMode sortMode, SpriteBlendMode blendMode,  SaveStateMode stateMode)
 {
     _blendMode = blendMode;
     _sortMode = sortMode;
     _saveMode = stateMode;
     _matrix = Matrix.Identity;
 }
예제 #3
0
 public void Begin(SpriteSortMode sortMode, SpriteBlendMode blendMode, SaveStateMode stateMode)
 {
     _blendMode = blendMode;
     _sortMode  = sortMode;
     _saveMode  = stateMode;
     _matrix    = Matrix.Identity;
 }
예제 #4
0
 public void Begin(SpriteSortMode sortMode, SpriteBlendMode blendMode, SaveStateMode stateMode, Matrix transformMatrix)
 {
     _blendMode = blendMode;
     _sortMode = sortMode;
     _saveMode = stateMode;
     _matrix = transformMatrix;
 }
예제 #5
0
 public void Begin(SpriteSortMode sortMode, SpriteBlendMode blendMode, SaveStateMode stateMode, Matrix transformMatrix)
 {
     _blendMode = blendMode;
     _sortMode  = sortMode;
     _saveMode  = stateMode;
     _matrix    = transformMatrix;
 }
예제 #6
0
        public void UIBegin(SpriteBlendMode blendMode, SpriteSortMode sortMode, SaveStateMode stateMode)
        {
            this._BlendMode     = blendMode;
            this._SortMode      = sortMode;
            this._SaveStateMode = stateMode;

            this.Begin(blendMode, sortMode, stateMode);
        }
예제 #7
0
 public new void Begin(
     SpriteBlendMode blendMode,
     SpriteSortMode sortMode,
     SaveStateMode stateMode)
 {
     base.Begin(blendMode, sortMode, stateMode);
     this.isbegan = true;
 }
예제 #8
0
 public new void Begin(
     SpriteBlendMode blendMode,
     SpriteSortMode sortMode,
     SaveStateMode stateMode,
     Matrix transformMatrix)
 {
     base.Begin(blendMode, sortMode, stateMode, transformMatrix);
     this.isbegan = true;
 }
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="spriteBatchName">The string name used to access the sprite batch</param>
 /// <param name="desiredBlendMode">The blend mode to use for the sprite batch</param>
 /// <param name="desiredSortMode">The sort mode to use for the sprite batch</param>
 /// <param name="desiredSaveMode">The save mode to use for the sprite batch</param>
 /// <param name="updateCameraMatrix">The flag used to denote if the matrix needs to be updated every update cycle</param>
 public SpriteBatchDescription(string spriteBatchName, SpriteBlendMode desiredBlendMode, 
     SpriteSortMode desiredSortMode, SaveStateMode desiredSaveMode, bool updateCameraMatrix)
 {
     this.spriteBatchName = spriteBatchName;
     this.desiredBlendMode = desiredBlendMode;
     this.desiredSortMode = desiredSortMode;
     this.desiredStateMode = desiredSaveMode;
     this.updateCameraMatrix = updateCameraMatrix;
     this.currentMatrix = Matrix.Identity;
 }
예제 #10
0
파일: PIXHelper.cs 프로젝트: jjh2v2/Study
 /// <summary>
 /// Begins SpriteBatch drawing, and marks the beginning of a PIX event.
 /// </summary>
 /// <param name="spriteBatch">The SpriteBatch to use</param>
 /// <param name="blendMode">Blending options to use when rendering</param>
 /// <param name="sortMode">Sorting options to use when rendering</param>
 /// <param name="stateMode">Rendering state options</param>
 /// <param name="userMessage">A string to append to the PIX event name</param>
 public static void BeginPIX(this SpriteBatch spriteBatch,
                             SpriteBlendMode blendMode,
                             SpriteSortMode sortMode,
                             SaveStateMode stateMode,
                             string userMessage)
 {
     BeginEvent(MakeName("SpriteBatch Drawing", userMessage));
     SetMarker("SpriteBatch.Begin Called");
     spriteBatch.Begin(blendMode, sortMode, stateMode);
 }
예제 #11
0
        public void Begin(GraphicsDevice device, SpriteBlendMode blendMode, SpriteSortMode sortMode, SaveStateMode stateMode, Local.Matrix transformMatrix)
        {

            //transformMatrix = Matrix.Identity;


            Rect rect = new Rect(
                (device.Viewport.X),
                (device.Viewport.Y),
                device.Viewport.Width,
                device.Viewport.Height);

            if (rect != lastRect || !MatricesAreEqual(transformMatrix, lastMatrix))
            {
                transformMatrix.M41 += device.Viewport.X;
                transformMatrix.M42 += device.Viewport.Y;
                MatrixTransform matrixTransform = new MatrixTransform();
                System.Windows.Media.Matrix matrix = new System.Windows.Media.Matrix(
                   transformMatrix.M11,
                    transformMatrix.M12,
                    transformMatrix.M21,
                    transformMatrix.M22,
                    transformMatrix.M41,
                    transformMatrix.M42);
                matrixTransform.Matrix = matrix;
                System.Windows.Media.RectangleGeometry rectangleGeometry = new System.Windows.Media.RectangleGeometry();
                rectangleGeometry.Rect = rect;
                MatrixTransform inverse = matrixTransform.Inverse as MatrixTransform;

                rectangleGeometry.Transform = inverse;
                Canvas.Clip = rectangleGeometry;

                matrixTransform.Matrix = matrix;
                TransformMatrix = transformMatrix;
                lastRect = rect;
                lastMatrix = transformMatrix;
                Canvas.Width = rect.Width;
                Canvas.Height = rect.Height;
            }
            InUse = true;
            Begin();
        }
        /// <summary>
        /// This method is meant for usage with one shader per meshpart, all parameters preset and using shared parameters.
        /// Technique should have just one pass.
        /// </summary>
        /// <param name="primitive"></param>
        /// <param name="state"></param>
        public void RenderPrimitiveSinglePass(IRenderPrimitives primitives, SaveStateMode state)
        {
            Shader.effect.Begin(state);


            // Render all passes (usually just one)
            //for ( int num = 0; num < Shader.effect.CurrentTechnique.Passes.Count; num++ )
            //{
            //EffectPass pass = Shader.effect.CurrentTechnique.Passes[ num ];
            EffectPass pass = Shader.effect.CurrentTechnique.Passes[0];

            pass.Begin();
            primitives.RenderPrimitives();
            pass.End();
            //}


            // End shader
            Shader.effect.End();
        }
예제 #13
0
        public void Begin(SpriteBlendMode blendMode, SpriteSortMode sortMode, SaveStateMode stateMode, Matrix transformMatrix)
        {
            //to respect order Begin/Draw/end
            if (isRunning)
            {
                throw new InvalidOperationException("Begin cannot be called again until End has been successfully called.");
            }

            if (stateMode == SaveStateMode.SaveState)
            {
                saveState = new StateBlock(this.GraphicsDevice);
            }


            spriteBlendMode = blendMode;
            this.sortMode   = sortMode;
            if (sortMode == SpriteSortMode.Immediate)
            {
                applyGraphicsDeviceSettings();
            }
            isRunning = true;
        }
예제 #14
0
        public void UIBegin(SpriteBlendMode blendMode, SpriteSortMode sortMode, SaveStateMode stateMode)
        {
            this._BlendMode = blendMode;
            this._SortMode = sortMode;
            this._SaveStateMode = stateMode;

            this.Begin(blendMode, sortMode, stateMode);
        }
예제 #15
0
 public void Begin(SpriteBlendMode blendMode, SpriteSortMode sortMode, SaveStateMode stateMode)
 {
     this.Begin(blendMode, sortMode, stateMode, Matrix.Identity);
 }
예제 #16
0
 public void Begin(SaveStateMode mode)
 {
     _effect.Begin(mode);
 }
예제 #17
0
 public void Begin(SpriteBlendMode blendMode, SpriteSortMode sortMode, SaveStateMode stateMode, Local.Matrix transformMatrix)
 {
     //TODO: Full XNA Library throws an exception if Begin is called before calling End of the previous session.
     _renderer = GetRenderer();
     _renderer.Begin(_graphicsDevice, blendMode, sortMode, stateMode, transformMatrix);
 }
예제 #18
0
 public void Begin(SpriteBlendMode blendMode, SpriteSortMode sortMode, SaveStateMode stateMode)
 {
     Begin(blendMode, sortMode, stateMode, Local.Matrix.Identity);
 }
        public void Begin(GraphicsDevice device, SpriteBlendMode blendMode, SpriteSortMode sortMode, SaveStateMode stateMode, Local.Matrix transformMatrix)
        {
			_transformMatrix = transformMatrix;
			this.blendMode = blendMode;
        }
예제 #20
0
파일: PIXHelper.cs 프로젝트: jjh2v2/Study
 /// <summary>
 /// Draws all of the ModelMeshPart objects in the mesh, and creates an event in PIX.
 /// </summary>
 /// <param name="mesh">The mesh to draw</param>
 /// <param name="stateMode">The save state options to pass to the Effect for each part</param>
 /// <param name="userMessage">A string to append to the PIX event name. Pass null for no message.</param>
 public static void DrawPIX(this ModelMesh mesh, SaveStateMode stateMode, string userMessage)
 {
     BeginEvent(MakeName("ModelMesh.Draw Called", userMessage));
     mesh.Draw(stateMode);
     EndEvent();
 }
예제 #21
0
파일: Effect.cs 프로젝트: leha-bot/Mono.XNA
 public void Begin(SaveStateMode saveStateMode)
 {
     throw new NotImplementedException();
 }
예제 #22
0
 public void Begin(SaveStateMode saveStateMode) { throw new NotImplementedException(); }
예제 #23
0
 public void Begin(SaveStateMode saveStateMode)
 {
 }
예제 #24
0
 public void Begin(SaveStateMode mode)
 {
     _effect.Begin(mode);
 }
예제 #25
0
파일: Effect.cs 프로젝트: HaKDMoDz/Zazumo
		public void Begin(SaveStateMode saveStateMode)
		{
			
		}
예제 #26
0
 public virtual void Begin(GraphicsDevice device, SpriteBlendMode blendMode, SpriteSortMode sortMode, SaveStateMode stateMode, Local.Matrix transformMatrix)
 {
     this.sortMode = sortMode;
     this.blendMode = blendMode;
     ResetCommands();
 }
예제 #27
0
 public void Begin(SpriteBlendMode blendMode, SpriteSortMode sortMode, SaveStateMode saveStateMode)
 {
     // GG EDIT
     // GG TODO implement saveStateMode
     Begin(sortMode, BlendState.FromSpriteBlendMode(blendMode), SamplerState.LinearClamp, DepthStencilState.None, RasterizerState.CullCounterClockwise, null, Matrix.Identity);
 }
예제 #28
0
 public void Begin(SpriteBlendMode blendMode, SpriteSortMode sortMode, SaveStateMode saveStateMode)
 {
     // GG EDIT
     // GG TODO implement saveStateMode
     Begin(sortMode, BlendState.FromSpriteBlendMode(blendMode), SamplerState.LinearClamp, DepthStencilState.None, RasterizerState.CullCounterClockwise, null, Matrix.Identity);
 }