コード例 #1
0
        public void SetState(IRenderState state)
        {
            var internalState = graphicsDevice.Cast <RenderState>(state, "state");

            if (!internalState.Info.Equals(currentState))
            {
                currentState = internalState.Info;
            }
        }
コード例 #2
0
ファイル: RenderState.cs プロジェクト: K0bin/DotGame
        public RenderState(GraphicsDevice graphicsDevice, RenderStateInfo info)
            : base(graphicsDevice, new StackTrace(1))
        {
            if (info.Shader == null)
            {
                throw new ArgumentException("Shader of Info is null.", "info");
            }

            this.Info = info;
        }
コード例 #3
0
ファイル: RenderContext.cs プロジェクト: K0bin/DotGame
        public void SetState(IRenderState state)
        {
            graphicsDevice.Cast <RenderState>(state, "state"); // State überprüfen

            if (!state.Info.Equals(currentState))
            {
                stateDirty   = true;
                currentState = state.Info;
            }
        }
コード例 #4
0
ファイル: RenderStatePool.cs プロジェクト: K0bin/DotGame
 public IRenderState GetRenderState(RenderStateInfo info)
 {
     lock (renderStates)
     {
         IRenderState rs;
         if (renderStates.TryGetValue(info, out rs))
         {
             return(rs);
         }
         rs = Engine.GraphicsDevice.Factory.CreateRenderState(info);
         renderStates[info] = rs;
         return(rs);
     }
 }
コード例 #5
0
 public IRenderState CreateRenderState(RenderStateInfo info)
 {
     return(new RenderState(graphicsDevice, info));
 }
コード例 #6
0
 public RenderState(GraphicsDevice graphicsDevice, RenderStateInfo info)
     : base(graphicsDevice, new System.Diagnostics.StackTrace(1))
 {
     this.Info = info;
 }