Cleaned up deprecated methods.
This commit is contained in:
parent
c09c21dc64
commit
c0789ffa6e
10 changed files with 61 additions and 66 deletions
|
@ -209,7 +209,7 @@ namespace Examples.Tutorial
|
|||
{
|
||||
GL.Viewport(ClientRectangle);
|
||||
|
||||
Matrix4 projection = Matrix4.Perspective(45.0f, this.Width / (float)this.Height, 0.1f, 10.0f);
|
||||
Matrix4 projection = Matrix4.CreatePerspectiveFieldOfView(MathHelper.PiOver4, this.Width / (float)this.Height, 0.1f, 10.0f);
|
||||
GL.MatrixMode(MatrixMode.Projection);
|
||||
GL.LoadMatrix(ref projection);
|
||||
}
|
||||
|
|
|
@ -31,20 +31,28 @@ namespace Examples.Tutorial
|
|||
float CameraZoom;
|
||||
float CameraRotX;
|
||||
float CameraRotY;
|
||||
Vector3 EyePosition = new Vector3( 0f, 0f, 5f );
|
||||
Vector3 EyePosition = new Vector3( 0f, 0f, 15f );
|
||||
|
||||
#region Window
|
||||
public StencilCSG()
|
||||
: base( 800, 600, new GraphicsMode( new ColorFormat( 8, 8, 8, 8 ), 24, 8 ) ) // request 8-bit stencil buffer
|
||||
{
|
||||
base.VSync = VSyncMode.Off;
|
||||
Keyboard.KeyDown += delegate(object sender, KeyboardKeyEventArgs e)
|
||||
{
|
||||
switch (e.Key)
|
||||
{
|
||||
case Key.Escape: this.Exit(); break;
|
||||
case Key.Space: ShowDebugWireFrame = !ShowDebugWireFrame; break;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
protected override void OnResize(EventArgs e )
|
||||
{
|
||||
GL.Viewport( 0, 0, Width, Height );
|
||||
GL.MatrixMode( MatrixMode.Projection );
|
||||
Matrix4 p= Matrix4.Perspective( 45f, Width / (float)Height, 0.1f, 15.0f);
|
||||
Matrix4 p = Matrix4.CreatePerspectiveFieldOfView(MathHelper.PiOver4, Width / (float)Height, 0.1f, 64.0f);
|
||||
GL.LoadMatrix(ref p);
|
||||
}
|
||||
#endregion Window
|
||||
|
@ -142,7 +150,7 @@ namespace Examples.Tutorial
|
|||
|
||||
for (int i = 0; i < tempVertices.Length; i++)
|
||||
{
|
||||
tempVertices[i].Normal.Mult(-1.0);
|
||||
tempVertices[i].Normal *= -1.0;
|
||||
tempVertices[i].Normal.Normalize();
|
||||
}
|
||||
|
||||
|
@ -162,17 +170,6 @@ namespace Examples.Tutorial
|
|||
|
||||
protected override void OnUpdateFrame( FrameEventArgs e )
|
||||
{
|
||||
|
||||
if (Keyboard[OpenTK.Input.Key.Escape])
|
||||
{
|
||||
this.Exit();
|
||||
}
|
||||
|
||||
if (Keyboard[Key.Space])
|
||||
{
|
||||
ShowDebugWireFrame = !ShowDebugWireFrame;
|
||||
}
|
||||
|
||||
#region Magic numbers for camera
|
||||
CameraRotX = -Mouse.X * .5f;
|
||||
CameraRotY = Mouse.Y * .5f;
|
||||
|
@ -260,7 +257,7 @@ namespace Examples.Tutorial
|
|||
|
||||
protected override void OnRenderFrame( FrameEventArgs e )
|
||||
{
|
||||
this.Title = WindowTitle + " fps: " + ( 1f / e.Time );
|
||||
this.Title = WindowTitle + " fps: " + ( 1f / e.Time ).ToString("0.");
|
||||
|
||||
MySphereZOffset += (float)( e.Time * 3.1 );
|
||||
MySphereXOffset += (float)( e.Time * 4.2 );
|
||||
|
@ -284,9 +281,10 @@ namespace Examples.Tutorial
|
|||
|
||||
if ( ShowDebugWireFrame )
|
||||
{
|
||||
GL.Color3(System.Drawing.Color.LightGray);
|
||||
GL.Disable( EnableCap.StencilTest );
|
||||
GL.Disable( EnableCap.Lighting );
|
||||
GL.Disable( EnableCap.DepthTest );
|
||||
//GL.Disable( EnableCap.DepthTest );
|
||||
GL.PolygonMode( MaterialFace.Front, PolygonMode.Line );
|
||||
DrawOperandB();
|
||||
GL.PolygonMode( MaterialFace.Front, PolygonMode.Fill );
|
||||
|
|
|
@ -78,7 +78,7 @@ namespace Examples.Tutorial
|
|||
{
|
||||
GL.Viewport(this.ClientRectangle);
|
||||
|
||||
Matrix4 projection = Matrix4.Perspective(45.0f, Width / (float)Height, 1.0f, 50.0f);
|
||||
Matrix4 projection = Matrix4.CreatePerspectiveFieldOfView(MathHelper.PiOver4, Width / (float)Height, 1.0f, 50.0f);
|
||||
GL.MatrixMode(MatrixMode.Projection);
|
||||
GL.LoadMatrix(ref projection);
|
||||
}
|
||||
|
|
|
@ -49,7 +49,7 @@ namespace Examples.Tutorial
|
|||
DrawableShape sphere;
|
||||
|
||||
// Camera
|
||||
Vector3 EyePos = new Vector3( 0.0f, 0.0f, 3.0f );
|
||||
Vector3 EyePos = new Vector3( 0.0f, 0.0f, 6.0f );
|
||||
Vector3 Trackball = Vector3.Zero;
|
||||
|
||||
#endregion internal Fields
|
||||
|
@ -60,22 +60,19 @@ namespace Examples.Tutorial
|
|||
{
|
||||
this.VSync = VSyncMode.Off;
|
||||
|
||||
/*
|
||||
// Check for necessary capabilities:
|
||||
if ( !GL.SupportsExtension( "VERSION_2_0" ) )
|
||||
string extensions = GL.GetString(StringName.Extensions);
|
||||
if (!GL.GetString(StringName.Extensions).Contains("GL_ARB_shading_language"))
|
||||
{
|
||||
MessageBox.Show( "You need at least OpenGL 2.0 to run this example. Aborting.",
|
||||
"GLSL not supported", MessageBoxButtons.OK, MessageBoxIcon.Exclamation );
|
||||
this.Exit( );
|
||||
throw new NotSupportedException(String.Format("This example requires OpenGL 2.0. Found {0}. Aborting.",
|
||||
GL.GetString(StringName.Version).Substring(0, 3)));
|
||||
}
|
||||
|
||||
if ( !GL.SupportsExtension( "GL_ARB_texture_compression" ) ||
|
||||
!GL.SupportsExtension( "GL_EXT_texture_compression_s3tc" ) )
|
||||
if (!extensions.Contains("GL_ARB_texture_compression") ||
|
||||
!extensions.Contains("GL_EXT_texture_compression_s3tc"))
|
||||
{
|
||||
MessageBox.Show( "Texture compression extensions not found. Trying to run anyways.",
|
||||
"Possible problem", MessageBoxButtons.OK, MessageBoxIcon.Warning );
|
||||
throw new NotSupportedException("This example requires support for texture compression. Aborting.");
|
||||
}
|
||||
*/
|
||||
|
||||
#region GL State
|
||||
|
||||
|
@ -193,7 +190,7 @@ namespace Examples.Tutorial
|
|||
GL.Viewport( 0, 0, Width, Height );
|
||||
|
||||
GL.MatrixMode( MatrixMode.Projection );
|
||||
Matrix4 p = Matrix4.Perspective( 45.0f, Width / (float) Height, 0.1f, 10.0f );
|
||||
Matrix4 p = Matrix4.CreatePerspectiveFieldOfView(MathHelper.PiOver4, Width / (float)Height, 0.1f, 10.0f);
|
||||
GL.LoadMatrix(ref p);
|
||||
|
||||
GL.MatrixMode( MatrixMode.Modelview );
|
||||
|
@ -225,7 +222,7 @@ namespace Examples.Tutorial
|
|||
/// <remarks>There is no need to call the base implementation.</remarks>
|
||||
protected override void OnRenderFrame(FrameEventArgs e)
|
||||
{
|
||||
this.Title = "FPS: " + 1 / e.Time;
|
||||
this.Title = "FPS: " + (1 / e.Time).ToString("0.");
|
||||
|
||||
GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit);
|
||||
|
||||
|
|
|
@ -219,7 +219,7 @@ namespace Examples.Tutorial
|
|||
GL.Viewport( 0, 0, Width, Height );
|
||||
|
||||
GL.MatrixMode( MatrixMode.Projection );
|
||||
Matrix4 p = Matrix4.Perspective( 45.0f, Width / (float) Height, 0.1f, 100.0f );
|
||||
Matrix4 p = Matrix4.CreatePerspectiveFieldOfView(MathHelper.PiOver4, Width / (float)Height, 0.1f, 100.0f);
|
||||
GL.LoadMatrix(ref p);
|
||||
|
||||
GL.MatrixMode( MatrixMode.Modelview );
|
||||
|
@ -281,7 +281,7 @@ namespace Examples.Tutorial
|
|||
/// <remarks>There is no need to call the base implementation.</remarks>
|
||||
protected override void OnRenderFrame( FrameEventArgs e )
|
||||
{
|
||||
this.Title = "FPS: " + 1 / e.Time;
|
||||
this.Title = "FPS: " + (1 / e.Time).ToString("0.");
|
||||
|
||||
GL.Clear( ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit );
|
||||
|
||||
|
|
|
@ -37,15 +37,15 @@ namespace Examples.Shapes
|
|||
// find the 3 points AB, BC, CA
|
||||
Vector3d CenterAB;
|
||||
Vector3d.Add( ref this.APosition, ref this.BPosition, out temp );
|
||||
Vector3d.Mult( ref temp, 0.5f, out CenterAB );
|
||||
Vector3d.Multiply( ref temp, 0.5f, out CenterAB );
|
||||
|
||||
Vector3d CenterBC;
|
||||
Vector3d.Add( ref this.BPosition, ref this.CPosition, out temp );
|
||||
Vector3d.Mult( ref temp, 0.5f, out CenterBC );
|
||||
Vector3d.Multiply( ref temp, 0.5f, out CenterBC );
|
||||
|
||||
Vector3d CenterCA;
|
||||
Vector3d.Add( ref this.CPosition, ref this.APosition, out temp );
|
||||
Vector3d.Mult( ref temp, 0.5f, out CenterCA );
|
||||
Vector3d.Multiply( ref temp, 0.5f, out CenterCA );
|
||||
|
||||
// find the 3 points AD, BD, CD
|
||||
Vector3d CenterAD;
|
||||
|
@ -93,21 +93,21 @@ namespace Examples.Shapes
|
|||
Vector3d.Lerp( ref this.BPosition, ref this.CPosition, 0.5, out CenterBC );
|
||||
Vector3d.Lerp( ref this.CPosition, ref this.APosition, 0.5, out CenterCA );
|
||||
CenterD = CenterAB;
|
||||
CenterD.Add( ref CenterBC );
|
||||
CenterD.Add( ref CenterCA );
|
||||
CenterD.Div( 3.0 );
|
||||
Vector3d.Add(ref CenterD, ref CenterBC, out CenterD);
|
||||
Vector3d.Add(ref CenterD, ref CenterCA, out CenterD);
|
||||
CenterD /= 3.0;
|
||||
Vector3d E = CenterD + ( this.Normal * 0.5 );
|
||||
Vector3d temp = this.Normal;
|
||||
temp.Mult( height );
|
||||
CenterD.Add( temp );
|
||||
temp *= height;
|
||||
Vector3d.Add(ref CenterD, ref temp, out CenterD);
|
||||
|
||||
Vector2d.Lerp( ref this.ATexCoord, ref this.BTexCoord, 0.5, out TexCoordAB );
|
||||
Vector2d.Lerp( ref this.BTexCoord, ref this.CTexCoord, 0.5, out TexCoordBC );
|
||||
Vector2d.Lerp( ref this.CTexCoord, ref this.ATexCoord, 0.5, out TexCoordCA );
|
||||
TexCoordD = TexCoordAB;
|
||||
TexCoordD.Add( ref TexCoordBC );
|
||||
TexCoordD.Add( ref TexCoordCA );
|
||||
TexCoordD.Div( 3.0 );
|
||||
Vector2d.Add(ref TexCoordD, ref TexCoordBC, out TexCoordD);
|
||||
Vector2d.Add(ref TexCoordD, ref TexCoordCA, out TexCoordD);
|
||||
TexCoordD /= 3.0;
|
||||
#region 1
|
||||
first.APosition = this.APosition;
|
||||
first.ATexCoord = this.ATexCoord;
|
||||
|
@ -120,8 +120,8 @@ namespace Examples.Shapes
|
|||
|
||||
first.Normal = this.Normal;
|
||||
temp = ( this.APosition + CenterAB + CenterCA );
|
||||
temp.Div( 3.0 );
|
||||
temp.Add( this.Normal * -1.0 );
|
||||
temp /= 3.0;
|
||||
temp += this.Normal * -1.0;
|
||||
first.DPosition = temp;
|
||||
#endregion 1
|
||||
#region 2
|
||||
|
@ -137,8 +137,8 @@ namespace Examples.Shapes
|
|||
second.Normal = this.Normal;
|
||||
|
||||
temp = CenterAB + this.BPosition + CenterBC;
|
||||
temp.Div( 3.0 );
|
||||
temp.Add( this.Normal * -1.0 );
|
||||
temp /= 3.0;
|
||||
temp += this.Normal * -1.0;
|
||||
second.DPosition = temp;
|
||||
|
||||
#endregion 2
|
||||
|
@ -154,8 +154,8 @@ namespace Examples.Shapes
|
|||
|
||||
third.Normal = this.Normal;
|
||||
temp = CenterBC + this.CPosition + CenterCA;
|
||||
temp.Div( 3.0 );
|
||||
temp.Add( this.Normal * -1.0 );
|
||||
temp /= 3.0;
|
||||
temp += this.Normal * -1.0;
|
||||
third.DPosition = temp;
|
||||
#endregion 3
|
||||
#region 4
|
||||
|
|
|
@ -148,24 +148,24 @@ namespace Examples.Shapes
|
|||
{
|
||||
Vector3d temp1, temp2, temp3;
|
||||
|
||||
Vector3d.Sub( ref A, ref D, out temp1 );
|
||||
Vector3d.Sub( ref B, ref D, out temp2 );
|
||||
Vector3d.Sub( ref C, ref D, out temp3 );
|
||||
Vector3d.Subtract( ref A, ref D, out temp1 );
|
||||
Vector3d.Subtract( ref B, ref D, out temp2 );
|
||||
Vector3d.Subtract( ref C, ref D, out temp3 );
|
||||
|
||||
Vector3d.Add( ref temp1, ref temp2, out result );
|
||||
result.Add( ref temp3 );
|
||||
Vector3d.Add(ref result, ref temp3, out result);
|
||||
result.Normalize();
|
||||
}
|
||||
|
||||
internal static void FindNormal( ref Vector3d A, ref Vector3d B, ref Vector3d C, out Vector3d result )
|
||||
{
|
||||
Vector3d temp1, temp2;
|
||||
Vector3d.Sub( ref A, ref B, out temp1 );
|
||||
Vector3d.Subtract( ref A, ref B, out temp1 );
|
||||
temp1.Normalize();
|
||||
Vector3d.Sub( ref C, ref B, out temp2 );
|
||||
Vector3d.Subtract(ref C, ref B, out temp2);
|
||||
temp2.Normalize();
|
||||
Vector3d.Cross( ref temp1, ref temp2, out result );
|
||||
result.Mult( -1.0 );
|
||||
result *= -1.0;
|
||||
result.Normalize();
|
||||
}
|
||||
|
||||
|
|
|
@ -133,7 +133,7 @@ namespace Examples.Shapes
|
|||
Slerp( ref start, ref end, Multiplier, out temp[i].Normal );
|
||||
temp[i].Normal.Normalize();
|
||||
temp[i].Position = temp[i].Normal;
|
||||
temp[i].Position.Mult( scale );
|
||||
temp[i].Position *= scale;
|
||||
}
|
||||
|
||||
VertexArray = new VertexT2dN3dV3d[temp.Length * 2];
|
||||
|
@ -184,8 +184,8 @@ namespace Examples.Shapes
|
|||
double t2 = System.Math.Sin( ( 1.0 - factor ) * theta ) * temp;
|
||||
double t3 = System.Math.Sin( factor * theta ) * temp;
|
||||
|
||||
Vector3d v1 = Vector3d.Mult( a, t2);
|
||||
Vector3d v2 = Vector3d.Mult( b, t3 );
|
||||
Vector3d v1 = Vector3d.Multiply( a, t2);
|
||||
Vector3d v2 = Vector3d.Multiply( b, t3 );
|
||||
result = Vector3d.Add( v1, v2 );
|
||||
}
|
||||
|
||||
|
|
|
@ -93,7 +93,7 @@ namespace Examples.Shapes
|
|||
|
||||
for (int i=0; i<VertexArray.Length;i++)
|
||||
{
|
||||
VertexArray[i].Position.Add( ref offset );
|
||||
Vector3d.Add(ref VertexArray[i].Position, ref offset, out VertexArray[i].Position);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -44,12 +44,12 @@ namespace Examples.Shapes
|
|||
#region Find the Torus length
|
||||
Vector3d result;
|
||||
double[] Lengths = new double[pathsteps];
|
||||
Vector3d.Sub( ref PathPositions[pathsteps - 1], ref PathPositions[0], out result );
|
||||
Vector3d.Subtract( ref PathPositions[pathsteps - 1], ref PathPositions[0], out result );
|
||||
Lengths[0] = result.Length;
|
||||
double TotalLength = result.Length;
|
||||
for ( int i = 1; i < pathsteps; i++ ) // skipping
|
||||
{
|
||||
Vector3d.Sub( ref PathPositions[i - 1], ref PathPositions[i], out result );
|
||||
Vector3d.Subtract( ref PathPositions[i - 1], ref PathPositions[i], out result );
|
||||
Lengths[i] = result.Length;
|
||||
TotalLength += result.Length;
|
||||
}
|
||||
|
@ -72,12 +72,12 @@ namespace Examples.Shapes
|
|||
else
|
||||
last = PathPositions[i - 1];
|
||||
|
||||
Vector3d.Sub( ref next, ref last, out tangent ); // Guesstimate tangent
|
||||
Vector3d.Subtract( ref next, ref last, out tangent ); // Guesstimate tangent
|
||||
tangent.Normalize();
|
||||
|
||||
Vector3d.Add( ref next, ref last, out normal ); // Approximate N
|
||||
normal.Normalize();
|
||||
Vector3d.Mult( ref normal, radius, out normal );// scale the shape to desired radius
|
||||
Vector3d.Multiply( ref normal, radius, out normal );// scale the shape to desired radius
|
||||
|
||||
for ( uint j = 0; j < shapevertices; j++ )
|
||||
{
|
||||
|
@ -88,7 +88,7 @@ namespace Examples.Shapes
|
|||
Vector3d point = Vector3d.TransformVector( normal, RotationMatrix );
|
||||
Vector3d.Add( ref PathPositions[i], ref point, out VertexArray[index].Position );
|
||||
// Since the used shape is a circle, the Vertex normal's heading is easy to find
|
||||
Vector3d.Sub( ref VertexArray[index].Position, ref PathPositions[i], out VertexArray[index].Normal );
|
||||
Vector3d.Subtract( ref VertexArray[index].Position, ref PathPositions[i], out VertexArray[index].Normal );
|
||||
VertexArray[index].Normal.Normalize();
|
||||
// just generate some semi-useful UVs to fill blanks
|
||||
VertexArray[index].TexCoord = new Vector2d( (double)( i / TotalLength/ TexCount ), j / ( shapevertices - 1.0 ) );
|
||||
|
|
Loading…
Reference in a new issue