コード例 #1
0
        internal SceneCamera(Assimp.Camera camera, ShaderWindow window, SceneNode node)
        {
            getProjectionMatrix = () =>
            {
                var aspectRatio = camera.AspectRatio;
                if (aspectRatio == 0)
                {
                    var viewport = window.Viewport;
                    aspectRatio = (viewport.Width * window.Width) / (viewport.Height * window.Height);
                }

                // convert 1/2 horizontal FOV to full vertical FOV
                var fovy = 2 * Math.Atan(Math.Tan(camera.FieldOfview) / aspectRatio);
                return(Matrix4.CreatePerspectiveFieldOfView(
                           (float)fovy,
                           aspectRatio,
                           camera.ClipPlaneNear,
                           camera.ClipPlaneFar));
            };
            Name = camera.Name;
            Node = node;
        }
コード例 #2
0
 public override void Execute(ShaderWindow window)
 {
     GL.Disable(Capability);
 }
コード例 #3
0
 public abstract void Execute(ShaderWindow window);
コード例 #4
0
ファイル: ScissorState.cs プロジェクト: aalmada/bonsai
 public override void Execute(ShaderWindow window)
 {
     window.Scissor = new RectangleF(X, Y, Width, Height);
 }
コード例 #5
0
 public override void Execute(ShaderWindow window)
 {
     GL.MemoryBarrier(Barriers);
 }
コード例 #6
0
ファイル: PolygonModeState.cs プロジェクト: aalmada/bonsai
 public override void Execute(ShaderWindow window)
 {
     GL.PolygonMode(Face, Mode);
 }
コード例 #7
0
 public override void Execute(ShaderWindow window)
 {
     GL.DepthFunc(Function);
 }
コード例 #8
0
ファイル: HintState.cs プロジェクト: spacelabswc/bonsai
 public override void Execute(ShaderWindow window)
 {
     GL.Hint(Target, Mode);
 }
コード例 #9
0
 public override void Execute(ShaderWindow window)
 {
     GL.PointSize(Size);
 }
コード例 #10
0
ファイル: LineWidthState.cs プロジェクト: spacelabswc/bonsai
 public override void Execute(ShaderWindow window)
 {
     GL.LineWidth(Width);
 }
コード例 #11
0
 public override void Execute(ShaderWindow window)
 {
     GL.BlendFunc(SourceFactor, DestinationFactor);
 }
コード例 #12
0
ファイル: DepthMaskState.cs プロジェクト: spacelabswc/bonsai
 public override void Execute(ShaderWindow window)
 {
     GL.DepthMask(Enabled);
 }