Beispiel #1
0
        public static FrontFaceDirection GetFrontFace(GalFrontFace frontFace)
        {
            switch (frontFace)
            {
            case GalFrontFace.Cw:  return(FrontFaceDirection.Cw);

            case GalFrontFace.Ccw: return(FrontFaceDirection.Ccw);
            }

            throw new ArgumentException(nameof(frontFace) + " \"" + frontFace + "\" is not valid!");
        }
Beispiel #2
0
        public static FrontFaceDirection GetFrontFace(GalFrontFace FrontFace)
        {
            switch (FrontFace)
            {
            case GalFrontFace.CW:  return(FrontFaceDirection.Cw);

            case GalFrontFace.CCW: return(FrontFaceDirection.Ccw);
            }

            throw new ArgumentException(nameof(FrontFace));
        }
Beispiel #3
0
        private void SetFrontFace(GalPipelineState state)
        {
            float signX = GetFlipSign(NvGpuEngine3dReg.ViewportNScaleX);
            float signY = GetFlipSign(NvGpuEngine3dReg.ViewportNScaleY);

            GalFrontFace frontFace = (GalFrontFace)ReadRegister(NvGpuEngine3dReg.FrontFace);

            // Flipping breaks facing. Flipping front facing too fixes it
            if (signX != signY)
            {
                switch (frontFace)
                {
                case GalFrontFace.Cw:  frontFace = GalFrontFace.Ccw; break;

                case GalFrontFace.Ccw: frontFace = GalFrontFace.Cw;  break;
                }
            }

            state.FrontFace = frontFace;
        }
Beispiel #4
0
        private void SetFrontFace(GalPipelineState State)
        {
            float SignX = GetFlipSign(NvGpuEngine3dReg.ViewportNScaleX);
            float SignY = GetFlipSign(NvGpuEngine3dReg.ViewportNScaleY);

            GalFrontFace FrontFace = (GalFrontFace)ReadRegister(NvGpuEngine3dReg.FrontFace);

            //Flipping breaks facing. Flipping front facing too fixes it
            if (SignX != SignY)
            {
                switch (FrontFace)
                {
                case GalFrontFace.CW:  FrontFace = GalFrontFace.CCW; break;

                case GalFrontFace.CCW: FrontFace = GalFrontFace.CW;  break;
                }
            }

            State.FrontFace = FrontFace;
        }
Beispiel #5
0
        private void SetFrontFace()
        {
            float SignX = GetFlipSign(NvGpuEngine3dReg.ViewportScaleX);
            float SignY = GetFlipSign(NvGpuEngine3dReg.ViewportScaleY);

            GalFrontFace FrontFace = (GalFrontFace)ReadRegister(NvGpuEngine3dReg.FrontFace);

            //Flipping breaks facing. Flipping front facing too fixes it
            if (SignX != SignY)
            {
                switch (FrontFace)
                {
                case GalFrontFace.CW:
                    FrontFace = GalFrontFace.CCW;
                    break;

                case GalFrontFace.CCW:
                    FrontFace = GalFrontFace.CW;
                    break;
                }
            }

            Gpu.Renderer.Rasterizer.SetFrontFace(FrontFace);
        }
Beispiel #6
0
 public void SetFrontFace(GalFrontFace FrontFace)
 {
     GL.FrontFace(OGLEnumConverter.GetFrontFace(FrontFace));
 }