diff --git a/Source/Examples/Examples.csproj b/Source/Examples/Examples.csproj
new file mode 100644
index 00000000..8e8e86c5
--- /dev/null
+++ b/Source/Examples/Examples.csproj
@@ -0,0 +1,329 @@
+
+
+ Local
+ 9.0.21022
+ 2.0
+ {4BE3065D-7798-4322-9356-C7259DDBD787}
+ Debug
+ AnyCPU
+
+
+
+
+ Examples
+ JScript
+ Grid
+ IE50
+ false
+ WinExe
+
+
+ Examples
+ Examples.ExampleLauncher
+
+
+ 2.0
+
+
+ publish\
+ true
+ Disk
+ false
+ Foreground
+ 7
+ Days
+ false
+ false
+ true
+ 0
+ 1.0.0.%2a
+ false
+ false
+ true
+
+
+ True
+ 285212672
+ False
+
+
+ TRACE;
+ OpenTK.xml
+ False
+ 4096
+ True
+ ..\..\Binaries\Release\Examples\
+ False
+ False
+ False
+ 4
+
+
+
+
+ True
+ 285212672
+ False
+
+
+ DEBUG;TRACE;
+
+
+ True
+ 4096
+ False
+ ..\..\Binaries\Debug\Examples\
+ False
+ False
+ False
+ 4
+
+
+
+
+
+ System
+ \System.dll
+
+
+ System.Drawing
+ \System.Drawing.dll
+
+
+ System.Windows.Forms
+ \System.Windows.Forms.dll
+
+
+ System.Data
+ \System.Data.dll
+
+
+
+
+
+ OpenTK
+ {BE736391-17D4-46AB-950D-673A4A32791F}
+ {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+
+
+
+
+ Code
+
+
+ Form
+
+
+ ExampleLauncher.cs
+ Code
+
+
+ Code
+
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Form
+
+
+ S04_Input_Logger.cs
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ UserControl
+
+
+ DerivedGLControl.cs
+ Code
+
+
+ Form
+
+
+ W01_First_Window.cs
+ Code
+
+
+ Form
+
+
+ W02_Immediate_Mode_Cube.cs
+ Code
+
+
+ Form
+
+
+ W03_Extensions.cs
+ Code
+
+
+ Form
+
+
+ W04_Multiple_GLControls.cs
+ Code
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+
+
+ False
+ .NET Framework 2.0 %28x86%29
+ true
+
+
+ False
+ .NET Framework 3.0 %28x86%29
+ false
+
+
+ False
+ .NET Framework 3.5
+ false
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Source/Examples/Examples.csproj.user b/Source/Examples/Examples.csproj.user
new file mode 100644
index 00000000..b5b3889f
--- /dev/null
+++ b/Source/Examples/Examples.csproj.user
@@ -0,0 +1,25 @@
+
+
+ Debug
+ AnyCPU
+
+
+ 8.0.50727
+ ProjectFiles
+ 0
+
+
+
+
+
+
+
+
+
+
+ en-US
+ false
+
+
+
+
\ No newline at end of file
diff --git a/Source/Examples/OpenGL/TessellatorClass.cs b/Source/Examples/OpenGL/TessellatorClass.cs
new file mode 100644
index 00000000..fb942670
--- /dev/null
+++ b/Source/Examples/OpenGL/TessellatorClass.cs
@@ -0,0 +1,321 @@
+#region --- License ---
+/* Copyright (c) 2006-2008 the OpenTK team
+ * See license.txt for licensing details
+ */
+#endregion
+
+using System;
+using System.Diagnostics;
+
+using OpenTK;
+using OpenTK.OpenGL;
+using OpenTK.OpenGL.Enums;
+using OpenTK.OpenAL;
+using OpenTK.OpenAL.Enums;
+using OpenTK.Audio;
+using OpenTK.Input;
+using System.Runtime.InteropServices;
+using OpenTK.Math;
+
+namespace Examples
+{
+#if false
+ ///
+ /// Defines a single Vertex in 3d space, with double-precision numerals.
+ ///
+ [StructLayout(LayoutKind.Sequential)]
+ class Vertex : CustomVertex
+ {
+ #region --- Constructors ---
+
+ ///
+ /// Constructs a new Vertex.
+ ///
+ /// The position of the Vertex on the x-axis.
+ /// The position of the Vertex on the y-axis.
+ /// The position of the Vertex on the z-axis.
+ public Vertex(double x, double y, double z)
+ : this(new Vector3d(x, y, z)) { }
+
+ ///
+ /// Constructs a new Vertex.
+ ///
+ /// The position of the Vertex.
+ public Vertex(Vector3d v)
+ {
+ Position = v;
+ }
+
+ #endregion
+
+ ///
+ /// The position of this verrtex.
+ ///
+ public Vector3d Position;
+
+ public override double[] ToArray()
+ {
+ return new double[] { Position.X, Position.Y, Position.Z };
+ }
+ }
+
+ [Example("GLU Tesselation Functions Test", ExampleCategory.OpenGL)]
+ public class GluTesselation : GameWindow
+ {
+ /*
+ Vertex[] rect = new Vertex[4]
+ {
+ new Vertex(50.0f, 50.0f, 0.0f),
+ new Vertex(200.0f, 50.0f, 0.0f),
+ new Vertex(200.0f, 200.0f, 0.0f),
+ new Vertex(50.0f, 200.0f, 0.0f)
+ };
+ */
+
+ Vertex[] rect = new Vertex[4]
+ {
+ new Vertex(50.0, 50.0, 0.0),
+ new Vertex(200.0, 50.0, 0.0),
+ new Vertex(200.0, 200.0, 0.0),
+ new Vertex(50.0, 200.0, 0.0)
+ };
+ Vertex[] tri = new Vertex[3]
+ {
+ new Vertex(75.0f, 75.0f, 0.0f),
+ new Vertex(125.0f, 175.0f, 0.0f),
+ new Vertex(175.0f, 75.0f, 0.0f)
+ };
+ double[][] star = new double[5][] {
+ new double[] {250.0f, 50.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+ new double[] {325.0f, 200.0f, 0.0f, 1.0f, 1.0f, 0.0f},
+ new double[] {400.0f, 50.0f, 0.0f, 0.0f, 1.0f, 1.0f},
+ new double[] {250.0f, 150.0f, 0.0f, 1.0f, 0.0f, 0.0f},
+ new double[] {400.0f, 150.0f, 0.0f, 0.0f, 1.0f, 0.0f}
+ };
+
+ Tessellator tess = new Tessellator();
+ int startList;
+
+ public GluTesselation()
+ : base()
+ {
+ Keyboard.KeyDown += KeyDownHandler;
+ }
+
+ #region --- GLU Tessellation callbacks ---
+
+ #region BeginHandler
+
+ void BeginHandler(BeginMode mode)
+ {
+ GL.Begin(mode);
+ }
+
+ #endregion
+
+ #region EndHandler
+
+ void EndHandler()
+ {
+ GL.End();
+ }
+
+ #endregion
+
+ #region VertexHandler
+
+ void VertexHandler(IntPtr v)
+ {
+ unsafe { GL.Vertex3((double*)v); }
+ }
+
+ #endregion
+
+ #region ErrorHandler
+
+ void ErrorHandler(GluErrorCode code)
+ {
+ System.Windows.Forms.MessageBox.Show(
+ String.Format("GLU Error {0}: {1}", code.ToString(), Glu.ErrorString(code)),
+ "An error occured while tesselating.");
+ this.Exit();
+ }
+
+ #endregion
+
+ #region CombineHandler
+
+ unsafe double*[] combineData = new double*[16];
+ int data_index = 0;
+ unsafe void CombineHandler(double[] coordinates, CustomVertex[] dataIn, float[] weight, out CustomVertex[] dataOut)
+ {
+ Vertex[] results = new Vertex[2];
+ Vertex[] data = (Vertex[])dataIn;
+
+ results[0].Position.X = coordinates[0];
+ results[0].Position.Y = coordinates[1];
+ results[0].Position.Z = coordinates[2];
+
+ results[1].Position.X = weight[0] * data[0].Position.X +
+ weight[1] * data[0].Position.X +
+ weight[2] * data[0].Position.X +
+ weight[3] * data[0].Position.X;
+
+ results[1].Position.Y = weight[0] * data[0].Position.Y +
+ weight[1] * data[0].Position.Y +
+ weight[2] * data[0].Position.Y +
+ weight[3] * data[0].Position.Y;
+
+
+ results[1].Position.Z = weight[0] * data[0].Position.Z +
+ weight[1] * data[0].Position.Z +
+ weight[2] * data[0].Position.Z +
+ weight[3] * data[0].Position.Z;
+
+ dataOut = (CustomVertex[])results;
+ }
+
+ #endregion
+
+ #endregion
+
+ #region KeyDownHandler
+
+ public void KeyDownHandler(KeyboardDevice sender, Key key)
+ {
+ switch (key)
+ {
+ case Key.Escape:
+ this.Exit();
+ return;
+ }
+ }
+
+ #endregion
+
+ #region OnResize
+
+ protected override void OnResize(OpenTK.Platform.ResizeEventArgs e)
+ {
+ GL.Viewport(0, 0, Width, Height);
+ GL.MatrixMode(MatrixMode.Projection);
+ GL.LoadIdentity();
+ Glu.Ortho2D(0.0, (double)Width, 0.0, (double)Height);
+ }
+
+ #endregion
+
+ #region OnLoad
+
+ public override void OnLoad(EventArgs e)
+ {
+ GL.ClearColor(System.Drawing.Color.SteelBlue);
+
+ // Create a rectangle with a triangle cut out from its middle.
+ tess.BeginCallback += this.BeginHandler;
+ tess.EndCallback += this.EndHandler;
+ tess.ErrorCallback += this.ErrorHandler;
+ tess.CombineCallback += this.CombineHandler;
+ tess.VertexCallback += this.VertexHandler;
+
+ startList = GL.GenLists(2);
+ GL.NewList(startList, ListMode.Compile);
+ GL.ShadeModel(ShadingModel.Flat);
+
+ tess.BeginPolygon(null);
+
+ tess.BeginContour();
+ tess.Vertex(rect[0], rect[0]);
+ tess.Vertex(rect[1], rect[1]);
+ tess.Vertex(rect[2], rect[2]);
+ tess.Vertex(rect[3], rect[3]);
+ tess.EndContour();
+
+ tess.BeginContour();
+ tess.Vertex(tri[0], tri[0]);
+ tess.Vertex(tri[1], tri[1]);
+ tess.Vertex(tri[2], tri[2]);
+ tess.EndContour();
+
+ tess.EndPolygon();
+
+ GL.EndList();
+
+ ErrorCode code = GL.GetError();
+ if (code != ErrorCode.NoError)
+ throw new Exception(String.Format("OpenGL Error \"{0}\": {1}", code.ToString(), Glu.ErrorString(code)));
+
+ tess.Dispose();
+
+ // Create a self-intersecting star
+ tess = new Tessellator();
+ tess.BeginCallback += this.BeginHandler;
+ tess.EndCallback += this.EndHandler;
+ tess.ErrorCallback += this.ErrorHandler;
+ tess.CombineCallback += this.CombineHandler;
+ tess.VertexCallback += this.VertexHandler;
+
+ GL.NewList(startList + 1, ListMode.Compile);
+ GL.ShadeModel(ShadingModel.Smooth);
+ tess.WindingRule(TessWinding.TessWindingPositive);
+
+ tess.BeginPolygon(null);
+
+ tess.BeginContour();
+ tess.Vertex(star[0], star[0]);
+ tess.Vertex(star[1], star[1]);
+ tess.Vertex(star[2], star[2]);
+ tess.Vertex(star[3], star[3]);
+ //tess.Vertex(star[4], star[4]);
+ tess.EndContour();
+
+ tess.EndPolygon();
+
+ GL.EndList();
+
+ tess.Dispose();
+ tess = null;
+
+ code = GL.GetError();
+ if (code != ErrorCode.NoError)
+ throw new Exception(String.Format("OpenGL Error \"{0}\": {1}", code.ToString(), Glu.ErrorString(code)));
+ }
+
+ #endregion
+
+ #region OnUnload
+
+ public override void OnUnload(EventArgs e)
+ {
+ GL.DeleteLists(startList, 3);
+ }
+
+ #endregion
+
+ #region OnRenderFrame
+
+ public override void OnRenderFrame(RenderFrameEventArgs e)
+ {
+ GL.Clear(ClearBufferMask.ColorBufferBit);
+
+ GL.Color3(1.0f, 1.0f, 1.0f);
+ GL.CallList(startList);
+ GL.CallList(startList + 1);
+ GL.Flush();
+
+ this.SwapBuffers();
+ }
+
+ #endregion
+
+ public static void Main()
+ {
+ using (GluTesselation test = new GluTesselation())
+ {
+ Utilities.SetWindowTitle(test);
+ test.Run(30.0, 0.0);
+ }
+ }
+ }
+#endif
+}
\ No newline at end of file
diff --git a/Source/Examples/OpenTK.xml b/Source/Examples/OpenTK.xml
new file mode 100644
index 00000000..86a7e59e
--- /dev/null
+++ b/Source/Examples/OpenTK.xml
@@ -0,0 +1,469 @@
+
+
+
+ Examples
+
+
+
+
+ Required designer variable.
+
+
+
+
+ Clean up any resources being used.
+
+ true if managed resources should be disposed; otherwise, false.
+
+
+
+ Required method for Designer support - do not modify
+ the contents of this method with the code editor.
+
+
+
+
+ Entry point of this example.
+
+
+
+
+ Required designer variable.
+
+
+
+
+ Clean up any resources being used.
+
+ true if managed resources should be disposed; otherwise, false.
+
+
+
+ Required method for Designer support - do not modify
+ the contents of this method with the code editor.
+
+
+
+
+ Entry point of this example.
+
+
+
+
+ Required designer variable.
+
+
+
+
+ Clean up any resources being used.
+
+ true if managed resources should be disposed; otherwise, false.
+
+
+
+ Required method for Designer support - do not modify
+ the contents of this method with the code editor.
+
+
+
+
+ Demonstrates how to load and use a simple OpenGL shader program. Example is incomplete (documentation).
+
+
+
+
+ This is the place to load resources that change little
+ during the lifetime of the GameWindow. In this case, we
+ check for GLSL support, and load the shaders.
+
+ Not used.
+
+
+
+ Called when the user resizes the window.
+
+ Contains the new width/height of the window.
+
+ You want the OpenGL viewport to match the window. This is the place to do it!
+
+
+
+
+ Prepares the next frame for rendering.
+
+
+ Place your control logic here. This is the place to respond to user input,
+ update object positions etc.
+
+
+
+
+ Place your rendering code here.
+
+
+
+
+ Entry point of this example.
+
+
+
+
+ Converts a System.Drawing.Color to a System.Int32.
+
+ The System.Drawing.Color to convert.
+ A System.Int32 containing the R, G, B, A values of the
+ given System.Drawing.Color in the Rbga32 format.
+
+
+
+ Required designer variable.
+
+
+
+
+ Clean up any resources being used.
+
+ true if managed resources should be disposed; otherwise, false.
+
+
+
+ Required method for Designer support - do not modify
+ the contents of this method with the code editor.
+
+
+
+
+ Entry point of this example.
+
+
+
+
+ This interface is is used by the ExampleLauncher to identify OpenTK examples,
+ your applications do not need to implement or use it.
+
+
+
+
+ Required designer variable.
+
+
+
+
+ Clean up any resources being used.
+
+ true if managed resources should be disposed; otherwise, false.
+
+
+
+ Required method for Designer support - do not modify
+ the contents of this method with the code editor.
+
+
+
+
+ Entry point of this example.
+
+
+
+
+ Demonstrates simple OpenGL Texturing.
+
+
+
+
+ Setup OpenGL and load resources here.
+
+ Not used.
+
+
+
+ Respond to resize events here.
+
+ Contains information on the new GameWindow size.
+ There is no need to call the base implementation.
+
+
+
+ Add your game logic here.
+
+ Contains timing information.
+ There is no need to call the base implementation.
+
+
+
+ Add your game rendering code here.
+
+ Contains timing information.
+ There is no need to call the base implementation.
+
+
+
+ Entry point of this example.
+
+
+
+
+ Shows how to render and scroll large amounts of text.
+
+
+
+
+ Entry point of this example.
+
+
+
+
+ Entry point of this example.
+
+
+
+
+ Demonstrates immediate mode rendering. Example is incomplete, and will probably go away in the future.
+
+
+
+
+ Called when the user resizes the window.
+
+ Contains the new width/height of the window.
+
+ You want the OpenGL viewport to match the window. This is the place to do it!
+
+
+
+
+ Prepares the next frame for rendering.
+
+
+ Place your control logic here. This is the place to respond to user input,
+ update object positions etc.
+
+
+
+
+ Place your rendering code here.
+
+
+
+
+ Entry point of this example.
+
+
+
+
+ The main entry point for the application.
+
+
+
+
+ Required designer variable.
+
+
+
+
+ Clean up any resources being used.
+
+ true if managed resources should be disposed; otherwise, false.
+
+
+
+ Required method for Designer support - do not modify
+ the contents of this method with the code editor.
+
+
+
+
+ Contains the information necessary to display and launch an example thorugh the ExampleLauncer.
+
+
+
+
+ Prepares the next frame for rendering.
+
+
+ Place your control logic here. This is the place to respond to user input,
+ update object positions etc.
+
+
+
+
+ Entry point of this example.
+
+
+
+
+ Demonstrates the GameWindow class.
+
+
+
+
+ Setup OpenGL and load resources here.
+
+ Not used.
+
+
+
+ Respond to resize events here.
+
+ Contains information on the new GameWindow size.
+ There is no need to call the base implementation.
+
+
+
+ Add your game logic here.
+
+ Contains timing information.
+ There is no need to call the base implementation.
+
+
+
+ Add your game rendering code here.
+
+ Contains timing information.
+ There is no need to call the base implementation.
+
+
+
+ Entry point of this example.
+
+
+
+
+ Tests Font loading and rendering.
+
+
+
+
+ To maintain high rendering performance, we need to cache the text
+ we wish to draw, for each font we want to draw it with. To achieve
+ this, we use the TextPrinter.Prepare() method, which returns a
+ TextHandle - i.e. a handle to the cached text.
+
+ We can use these TextHandles with the TextPrinter.Draw() method
+ to draw text with very high performance.
+
+
+
+
+
+
+ It is important that we need to call the Dispose() methods to reclaim of
+ each and every TextHandle and TextureFont to reclaim the unamanged
+ (OpenGL) resources they are using.
+
+
+
+
+
+ To render pixel-perfect text, we have to setup a 2d display projection
+ with a width/height that corresponds to our current Viewport.
+ In OpenGL this can be easily achieved using the GL.Ortho method.
+
+ It is still possible to render text in a 3d projection, but it will
+ be very hard to achieve pixel-perfect precision.
+
+
+ To achieve the highest possible performance, render your 3d scene first.
+ At the end of the RenderFrame call, setup a 2d projection and render all
+ text in one go.
+
+
+
+
+
+
+ Entry point of this example.
+
+
+
+
+ Demonstrates fixed-function OpenGL lighting. Example is incomplete (documentation).
+
+
+
+
+ Called when the user resizes the window.
+
+ Contains the new width/height of the window.
+
+ You want the OpenGL viewport to match the window. This is the place to do it!
+
+
+
+
+ Prepares the next frame for rendering.
+
+
+ Place your control logic here. This is the place to respond to user input,
+ update object positions etc.
+
+
+
+
+ Place your rendering code here.
+
+
+
+
+ Launches this example.
+
+
+ Provides a simple way for the example launcher to launch the examples.
+
+
+
+
+ Required designer variable.
+
+
+
+
+ Clean up any resources being used.
+
+ true if managed resources should be disposed; otherwise, false.
+
+
+
+ Required method for Designer support - do not modify
+ the contents of this method with the code editor.
+
+
+
+
+ Demonstrates Vertex Arrays (in system memory). Example is incomplete (documentation).
+ Broken since release 0.3.12.
+
+
+
+
+ Called when the user resizes the window.
+
+ Contains the new width/height of the window.
+
+ You want the OpenGL viewport to match the window. This is the place to do it!
+
+
+
+
+ Prepares the next frame for rendering.
+
+
+ Place your control logic here. This is the place to respond to user input,
+ update object positions etc.
+
+
+
+
+ Place your rendering code here.
+
+
+
+
+ Launches this example.
+
+
+ Provides a simple way for the example launcher to launch the examples.
+
+
+
+
diff --git a/Source/Examples/Tests/TestResolutionChanges.cs b/Source/Examples/Tests/TestResolutionChanges.cs
new file mode 100644
index 00000000..b353b66f
--- /dev/null
+++ b/Source/Examples/Tests/TestResolutionChanges.cs
@@ -0,0 +1,33 @@
+#region --- License ---
+/* Licensed under the MIT/X11 license.
+ * Copyright (c) 2006-2008 the OpenTK team.
+ * This notice may not be removed.
+ * See license.txt for licensing detailed licensing details.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Windows.Forms;
+using System.Diagnostics;
+
+using OpenTK.Graphics;
+
+namespace Examples.Tests
+{
+ [Example("Test Resolution Changes", ExampleCategory.Test)]
+ public class TestResolutionChanges
+ {
+ public static void Main()
+ {
+ foreach (DisplayDevice dev in DisplayDevice.AvailableDisplays)
+ {
+ Trace.WriteLine(dev.ToString());
+ //MessageBox.Show(dev.ToString());
+ //dev.ChangeResolution(640, 480, 32, 60.0f);
+ //dev.RestoreResolution();
+ }
+ }
+ }
+}
diff --git a/Source/Examples/Tutorial/T02_Vertex_Arrays.cs b/Source/Examples/Tutorial/T02_Vertex_Arrays.cs
index a6878462..a70a40ef 100644
--- a/Source/Examples/Tutorial/T02_Vertex_Arrays.cs
+++ b/Source/Examples/Tutorial/T02_Vertex_Arrays.cs
@@ -61,7 +61,7 @@ namespace Examples.Tutorial
public override void OnLoad(EventArgs e)
{
- GL.Enable(EnableCap.Texture2d);
+ GL.Enable(EnableCap.Texture2D);
GL.ClearColor(Color.CadetBlue);
GL.Enable(EnableCap.DepthTest);
diff --git a/Source/Examples/Tutorial/Textures.cs b/Source/Examples/Tutorial/Textures.cs
index 5bb992df..bb590573 100644
--- a/Source/Examples/Tutorial/Textures.cs
+++ b/Source/Examples/Tutorial/Textures.cs
@@ -40,23 +40,23 @@ namespace Examples.Tutorial
public override void OnLoad(EventArgs e)
{
GL.ClearColor(Color.SteelBlue);
- GL.Enable(EnableCap.Texture2d);
+ GL.Enable(EnableCap.Texture2D);
GL.Hint(HintTarget.PerspectiveCorrectionHint, HintMode.Nicest);
GL.GenTextures(1, out texture);
- GL.BindTexture(TextureTarget.Texture2d, texture);
+ GL.BindTexture(TextureTarget.Texture2D, texture);
BitmapData data = bitmap.LockBits(new Rectangle(0, 0, bitmap.Width, bitmap.Height),
ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
- GL.TexImage2D(TextureTarget.Texture2d, 0, PixelInternalFormat.Rgba, data.Width, data.Height, 0,
+ GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Rgba, data.Width, data.Height, 0,
OpenTK.OpenGL.Enums.PixelFormat.Bgra, PixelType.UnsignedByte, data.Scan0);
bitmap.UnlockBits(data);
- GL.TexParameter(TextureTarget.Texture2d, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.Linear);
- GL.TexParameter(TextureTarget.Texture2d, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Linear);
+ GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.Linear);
+ GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Linear);
}
#endregion
@@ -116,7 +116,7 @@ namespace Examples.Tutorial
GL.MatrixMode(MatrixMode.Modelview);
GL.LoadIdentity();
- GL.BindTexture(TextureTarget.Texture2d, texture);
+ GL.BindTexture(TextureTarget.Texture2D, texture);
GL.Begin(BeginMode.Quads);
diff --git a/Source/Examples/obj/Debug/Examples.csproj.FileListAbsolute.txt b/Source/Examples/obj/Debug/Examples.csproj.FileListAbsolute.txt
new file mode 100644
index 00000000..7a35d56f
--- /dev/null
+++ b/Source/Examples/obj/Debug/Examples.csproj.FileListAbsolute.txt
@@ -0,0 +1,27 @@
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Debug\Examples\OpenTK.dll.config
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Debug\Examples\Data\logo-dark.jpg
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Debug\Examples\Data\logo.jpg
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Debug\Examples\Data\metal.jpg
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Debug\Examples\Data\Poem.txt
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Debug\Examples\Data\.svn\all-wcprops
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Debug\Examples\Data\.svn\entries
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Debug\Examples\Data\.svn\format
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Debug\Examples\Data\.svn\prop-base\logo-dark.jpg.svn-base
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Debug\Examples\Data\.svn\prop-base\logo.jpg.svn-base
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Debug\Examples\Data\.svn\prop-base\metal.jpg.svn-base
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Debug\Examples\Data\.svn\text-base\logo-dark.jpg.svn-base
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Debug\Examples\Data\.svn\text-base\logo.jpg.svn-base
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Debug\Examples\Data\.svn\text-base\metal.jpg.svn-base
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Debug\Examples\Data\.svn\text-base\Poem.txt.svn-base
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Debug\Examples\Data\Shaders\Simple_FS.glsl
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Debug\Examples\Data\Shaders\Simple_VS.glsl
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Debug\Examples\Data\Shaders\.svn\all-wcprops
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Debug\Examples\Data\Shaders\.svn\entries
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Debug\Examples\Data\Shaders\.svn\format
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Debug\Examples\Data\Shaders\.svn\text-base\Simple_FS.glsl.svn-base
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Debug\Examples\Data\Shaders\.svn\text-base\Simple_VS.glsl.svn-base
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Debug\Examples\Examples.exe
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Debug\Examples\Examples.pdb
+E:\Documents\Projects\opentk\opentk\trunk\Source\Examples\obj\Debug\ResolveAssemblyReference.cache
+E:\Documents\Projects\opentk\opentk\trunk\Source\Examples\obj\Debug\Examples.exe
+E:\Documents\Projects\opentk\opentk\trunk\Source\Examples\obj\Debug\Examples.pdb
diff --git a/Source/Examples/obj/Debug/Examples.exe b/Source/Examples/obj/Debug/Examples.exe
new file mode 100644
index 00000000..f4aed15a
Binary files /dev/null and b/Source/Examples/obj/Debug/Examples.exe differ
diff --git a/Source/Examples/obj/Debug/Examples.pdb b/Source/Examples/obj/Debug/Examples.pdb
new file mode 100644
index 00000000..0f3fd926
Binary files /dev/null and b/Source/Examples/obj/Debug/Examples.pdb differ
diff --git a/Source/Examples/obj/Debug/ResolveAssemblyReference.cache b/Source/Examples/obj/Debug/ResolveAssemblyReference.cache
new file mode 100644
index 00000000..337348ad
Binary files /dev/null and b/Source/Examples/obj/Debug/ResolveAssemblyReference.cache differ
diff --git a/Source/Examples/obj/Release/Examples.csproj.FileListAbsolute.txt b/Source/Examples/obj/Release/Examples.csproj.FileListAbsolute.txt
new file mode 100644
index 00000000..a17baf08
--- /dev/null
+++ b/Source/Examples/obj/Release/Examples.csproj.FileListAbsolute.txt
@@ -0,0 +1,26 @@
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Release\Examples\OpenTK.dll.config
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Release\Examples\Data\logo-dark.jpg
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Release\Examples\Data\logo.jpg
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Release\Examples\Data\metal.jpg
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Release\Examples\Data\Poem.txt
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Release\Examples\Data\.svn\all-wcprops
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Release\Examples\Data\.svn\entries
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Release\Examples\Data\.svn\format
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Release\Examples\Data\.svn\prop-base\logo-dark.jpg.svn-base
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Release\Examples\Data\.svn\prop-base\logo.jpg.svn-base
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Release\Examples\Data\.svn\prop-base\metal.jpg.svn-base
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Release\Examples\Data\.svn\text-base\logo-dark.jpg.svn-base
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Release\Examples\Data\.svn\text-base\logo.jpg.svn-base
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Release\Examples\Data\.svn\text-base\metal.jpg.svn-base
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Release\Examples\Data\.svn\text-base\Poem.txt.svn-base
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Release\Examples\Data\Shaders\Simple_FS.glsl
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Release\Examples\Data\Shaders\Simple_VS.glsl
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Release\Examples\Data\Shaders\.svn\all-wcprops
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Release\Examples\Data\Shaders\.svn\entries
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Release\Examples\Data\Shaders\.svn\format
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Release\Examples\Data\Shaders\.svn\text-base\Simple_FS.glsl.svn-base
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Release\Examples\Data\Shaders\.svn\text-base\Simple_VS.glsl.svn-base
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Release\Examples\Examples.exe
+E:\Documents\Projects\opentk\opentk\trunk\Binaries\Release\Examples\OpenTK.xml
+E:\Documents\Projects\opentk\opentk\trunk\Source\Examples\obj\Release\ResolveAssemblyReference.cache
+E:\Documents\Projects\opentk\opentk\trunk\Source\Examples\obj\Release\Examples.exe
diff --git a/Source/Examples/obj/Release/Examples.exe b/Source/Examples/obj/Release/Examples.exe
new file mode 100644
index 00000000..31d2adb8
Binary files /dev/null and b/Source/Examples/obj/Release/Examples.exe differ
diff --git a/Source/Examples/obj/Release/ResolveAssemblyReference.cache b/Source/Examples/obj/Release/ResolveAssemblyReference.cache
new file mode 100644
index 00000000..2067b8c4
Binary files /dev/null and b/Source/Examples/obj/Release/ResolveAssemblyReference.cache differ