public override void Push(int SliceIndex, DrawArguments a)
		{
			var Flags = FPinInFlags[SliceIndex];
			GL.PushAttrib(AttribMask.EnableBit);
			foreach (var Flag in Flags)
				GL.Enable(Flag);
		}
 public void Push(DrawArguments a)
 {
     GL.MatrixMode(this.Mode);
     GL.PushMatrix();
     if (this.LoadOrMultiply == LoadOrMultiply.Load)
         GL.LoadMatrix(ref Matrix);
     else
         GL.MultMatrix(ref Matrix);
 }
Пример #3
0
		public override void Draw(DrawArguments a)
		{
			for (int i = 0; i < SpreadMax; i++)
			{
				if (FPinInEnabled[i])
					if (FPinInState[i] != null)
						FPinInState[i].Push(a);

				if (FPinInLayer[i] != null)
					FPinInLayer[i].Draw(a);

				if (FPinInEnabled[i])
					if (FPinInState[i] != null)
						FPinInState[i].Pop();
			}
		}
			public void Push(DrawArguments a)
			{
                GL.MatrixMode(this.Mode);
                GL.PushMatrix();

                Matrix4d Matrix;
				if (a.Eye == StereoVisibility.Left || a.Eye == StereoVisibility.Both)
					Matrix = this.Left;
				else
					Matrix = this.Right;

				if (this.LoadOrMultiply == LoadOrMultiply.Load)
					GL.LoadMatrix(ref Matrix);
				else
					GL.MultMatrix(ref Matrix);
			}
Пример #5
0
		public override void Draw(DrawArguments a)
		{
			Matrix4d mat;
			Color col;

			for (int i = 0; i < SpreadMax; i++)
			{
                if (a.Eye == StereoVisibility.Both || FPinInStereoVisibility[i] == StereoVisibility.Both || a.Eye == FPinInStereoVisibility[i])
                {
                    //apply matrix
                    GL.PushMatrix();
                    mat = UMath.ToGL(FPinInTransform[i]);
                    GL.MultMatrix(ref mat);

                    //apply color
                    col = FPinInColor[i].Color;
                    GL.Color4(col);

                    //apply texture
                    bool textureBound = false;
                    if (FPinInTexture[i] != null)
                    {
                        FPinInTexture[i].Bind();
                        textureBound = true;
                    }

                    //
                    //draw the slice
                    DrawSlice(i);
                    //
                    //

                    //release texture
                    if (textureBound)
                        FPinInTexture[i].Unbind();

                    //release matrix
                    GL.PopMatrix();
                }
			}
		}
Пример #6
0
		public abstract void Push(int SliceIndex, DrawArguments a);
Пример #7
0
			public void Push(DrawArguments a)
			{
				Node.Push(SliceIndex, a);
			}
Пример #8
0
 public virtual void Draw(DrawArguments a) { }
			public void Draw(DrawArguments a)
			{
				foreach (var Layer in Layers)
					Layer.Draw(a);
			}
Пример #10
0
		public override void Draw(DrawArguments a)
        {
			if (FLoaded && FIsSetup)
			{
				FNodeInstance.Draw();
			}
        }