Commit graph

395 commits

Author SHA1 Message Date
the_fiddler
e5278cf454 Added ChangeSize function to TexturePacker. 2007-10-20 10:36:27 +00:00
the_fiddler
a19c45e895 Added Resources class to Examples. 2007-10-20 10:35:32 +00:00
the_fiddler
a072f32920 Simplified ExampleLauncher. Better naming scheme. 2007-10-20 10:34:29 +00:00
the_fiddler
b269cc2832 Added Fonts example (Tutorial 6) that showcases the use of the TextureFont class. 2007-10-20 10:32:52 +00:00
the_fiddler
42761d0f25 Added TextureFont class. Right now it can Load and Print fonts. Missing documentation. Slow. 2007-10-20 10:31:59 +00:00
the_fiddler
433562e99d Cleaned up and simplified the ExampleLauncher reflection functions. Can now launch "console" examples (which utilize neither GameWindow nor Windows.Forms). Better naming scheme for loaded examples. 2007-10-20 10:29:39 +00:00
the_fiddler
ac2d5046b8 The Resize event is now fired before the Load event. 2007-10-20 10:28:02 +00:00
the_fiddler
6559df8533 GameWindow constructor now creates a window. Made CreateWindow private. Added InputDriver. 2007-10-19 20:03:53 +00:00
the_fiddler
91b52b5143 Added WMInput driver. 2007-10-19 20:02:34 +00:00
the_fiddler
e81a6fdfbc InputDriver now checks for pre-XP windows versions, and instantiates the WMInput driver. 2007-10-19 20:01:41 +00:00
the_fiddler
c8f6708acc Removed the InputDriver from the INativeGLWindow interface. It now resides lower, in the GameWindow class. 2007-10-19 20:00:45 +00:00
the_fiddler
1d5ec163c1 Initial commit of TexturePacker. 2007-10-17 21:16:22 +00:00
the_fiddler
7dac34f2bb Initial commit of OpenTK.Fonts. 2007-10-17 21:16:00 +00:00
the_fiddler
3e425f23ca Deleted obsolete tests. 2007-10-17 21:14:36 +00:00
the_fiddler
7ee58e02b9 Added ability to launch console applications. 2007-10-17 11:33:11 +00:00
the_fiddler
ca79c08c7f Improved Call Performance test. It now outputs to the console / log file, and provides much better results. 2007-10-17 11:32:36 +00:00
the_fiddler
f69be39f20 Fixed build (changes to GLControl). 2007-10-15 11:16:53 +00:00
the_fiddler
2922a8c054 VSync now responds to changes. Contains a true DisplayMode. New constructor. 2007-10-15 11:16:20 +00:00
the_fiddler
85ced6d7ed Added CreateContext and DestroyContext functions. Better handling of DisplayModes. Added Mode property. 2007-10-15 11:15:34 +00:00
the_fiddler
cfd383fd03 Now loads GL and Glu functions. 2007-10-15 11:14:41 +00:00
the_fiddler
f5ead52dd1 Removed Fullscreen property (fixes build issue). 2007-10-15 11:13:51 +00:00
the_fiddler
f0e5cbb8aa Major update! Updated timing routines. Added documentation. Added VSync property. 2007-10-15 11:12:56 +00:00
the_fiddler
f647ae14d8 INativeGLWindow no longer inherits from IGLcontrol. Fixes build problems, too. 2007-10-15 11:11:38 +00:00
the_fiddler
fa5e22da79 Removed loading of GL and Glu functions. This now happens lower in the hierarchy, inside GameWindow. 2007-10-15 11:06:58 +00:00
the_fiddler
4d90ee15a0 Added Exceptions.cs which contains OpenTK exceptions. 2007-10-15 11:03:57 +00:00
the_fiddler
8eb779558c Disabled support for multiple devices to minimize memory and CPU usage. 2007-10-15 11:02:14 +00:00
the_fiddler
605225822a Removed the glControl.CreateControl() calls. 2007-10-05 07:46:56 +00:00
the_fiddler
65e2c7830c Constructor now throws ArgumentNullException instead of ArgumentException. 2007-10-05 06:54:36 +00:00
the_fiddler
5467bc9567 Fixed issue with multiple GLControls becoming invisible. Simplified GLControl, the platform dependent code now resides in GLContext and WindowInfo - GLControl itself is platform independent, just like GameWindow. This allowed to remove IGLControl.cs, WinGLControl.cs, X11GLControl.cs and DummyGLControl.cs 2007-10-05 06:52:40 +00:00
the_fiddler
0ea1aaf6cf Deleted obsolete examples. 2007-09-30 14:11:46 +00:00
the_fiddler
96b6ccebd8 Big update: added timing information. Improved update and render frequency limiting algorithms (they extremely accurate now!) Added VSync property and VSyncMode enum. Adaptive VSync not available yet. 2007-09-30 12:44:42 +00:00
the_fiddler
b8ce1d4818 Fixed a warning. 2007-09-30 12:42:43 +00:00
the_fiddler
b9cd62e372 Now uses disposable pattern when launching GameWindows and Forms. 2007-09-30 12:38:40 +00:00
the_fiddler
1e33b950c7 Updated to use the new Shapes.Cube interface. 2007-09-30 12:36:41 +00:00
the_fiddler
0b92d270df Added some debug information. Updated to use the new Shapes.Cube interface. 2007-09-30 12:35:35 +00:00
the_fiddler
3cd9a23b17 Fixed memory corruption issue with (Cube's vertices were being moved by the GC). I think. 2007-09-30 12:34:20 +00:00
the_fiddler
60fdfdcdcf Preparatory stuff for naming convention changes. 2007-09-30 12:33:27 +00:00
the_fiddler
bd1bf3ca39 Fixed a bug in GL.Load() where the GetProcAddress function was never called. 2007-09-29 15:27:18 +00:00
the_fiddler
f86e6583e3 Added Wgl.EXT.SupportsExtension and optimized Wgl.ARB.SupportsExtension function. Fixed a bug in Wgl.Load() function, where wglGetProcAddress was never called. 2007-09-29 15:26:39 +00:00
the_fiddler
34d3a715a5 Added VSync property to IGLContext. 2007-09-29 15:24:55 +00:00
the_fiddler
0328e31356 Correct class names. 2007-09-27 01:14:09 +00:00
the_fiddler
1c1f5a8d98 Fix build on Mono 1.2.4 2007-09-27 00:40:28 +00:00
the_fiddler
8970ad4c94 Added UnLoad event handler. 2007-09-26 23:31:53 +00:00
the_fiddler
e2fbd2e264 OnLoad event updated to better demonstrate its usage. 2007-09-26 23:15:18 +00:00
the_fiddler
e99d642792 Rewrote from scratch, using direct OpenGL methods. Added OnUnload override to cleanup resources. 2007-09-26 23:14:50 +00:00
the_fiddler
9aaa45ace2 Added Unload event. 2007-09-26 23:13:57 +00:00
the_fiddler
41f6619652 Marked as obsolete. Use direct OpenGL methods instead. 2007-09-26 23:13:30 +00:00
the_fiddler
357c1405e9 Commented out Keymap struct in X11/API.cs, due to a bug in Mono's 1.2.5 gmcs compiler. 2007-09-26 16:57:43 +00:00
the_fiddler
80a951d20d Bumped version numbers. 2007-09-26 16:49:10 +00:00
the_fiddler
7e8f555329 Renamed T02 and T04 examples. 2007-09-26 16:37:24 +00:00
the_fiddler
eafe44f3b1 Added IsoSphere.cs which creates a sphere Shape using theta ad phi coordinates. 2007-09-26 16:14:32 +00:00
the_fiddler
bc2bbf9cf6 Local light for nicer looks :) 2007-09-26 16:12:59 +00:00
the_fiddler
35f154cb72 Problem with mouse wheel not getting updated. 2007-09-26 16:12:31 +00:00
the_fiddler
f769caa4f1 Updates to delta handling. Now uses x - last_x instead of storing a delta directly. 2007-09-26 15:48:11 +00:00
the_fiddler
e43b3e9fad Line endings. 2007-09-26 15:47:13 +00:00
the_fiddler
6f3e74b688 Added TODO caption to Visible property. 2007-09-26 15:44:32 +00:00
the_fiddler
40b6f1040f Added NotImplementedException to Visible property. 2007-09-26 15:43:28 +00:00
the_fiddler
d3da5a219a Improved mouse delta handling. WheelDelta is broken. 2007-09-26 15:42:01 +00:00
the_fiddler
aea2f77892 Polled mouse input through XQueryPointer. 2007-09-26 15:41:14 +00:00
the_fiddler
d6a001f878 Added Title property. Foundation of atoms. 2007-09-26 15:40:22 +00:00
the_fiddler
0e297c3c4e Added general documentation to Tutorials. 2007-09-26 15:39:32 +00:00
the_fiddler
a64fd74ac1 Added Shape.cs and Plane.cs, for use in Examples. Shape is an abstract class that is parent to all shapes, and Plane derives from Shape, implementing a configurable plane (with vertex, normal, index and texcoord arrays). 2007-09-26 12:00:29 +00:00
the_fiddler
ff871cff50 Updated Keyboard and Mouse handling. Mouse now uses XQueryPointer. Keyboard relies on X11 events. Still missing mouse delta support. 2007-09-26 11:58:55 +00:00
the_fiddler
ae1c9d8642 Updated to reflect renames (Windows.API -> Windows.Functions, Keyboard/Mouse -> Keyboard-/MouseDevice) 2007-09-26 11:57:32 +00:00
the_fiddler
8026e15c5b Implemented Visible and Title properties. 2007-09-26 11:55:55 +00:00
the_fiddler
547e85a8cf Renamed Windows.API to Windows.Functions 2007-09-26 11:55:24 +00:00
the_fiddler
308ffef918 Renamed Windows.API to Windows.Functions, in accordance to X11.Functions 2007-09-26 11:54:43 +00:00
the_fiddler
50465e3569 Added Visible and Title properties. 2007-09-26 11:53:41 +00:00
the_fiddler
2ba903154a Removed multiple keyboard/mouse support. 2007-09-26 11:53:19 +00:00
the_fiddler
0e4479c846 Disabled initialization from Windows.Forms. InputDriver now needs a GameWindow to function. 2007-09-26 11:52:40 +00:00
the_fiddler
7f721e3d3f Renamed Keyboard/Mouse to Keyboard-/MouseDevice. Avoids name clashes. 2007-09-26 11:51:49 +00:00
the_fiddler
8138033b2a Improved documentation. Split On*** event methods between On***Internal and On***, to protect user's from forgetting to call base.On*** (no need to call that now). Improved Resize event handling (goes through OnUpdateFrameInternal now, removes duplicate events). 2007-09-26 11:50:44 +00:00
the_fiddler
7c159bc2df Bumped version number. 2007-09-26 11:48:11 +00:00
the_fiddler
8a3ad855b0 Updated all examples. Added documentation and generally cleaned them up. 2007-09-26 11:47:30 +00:00
the_fiddler
73903b3865 Bumped version number. 2007-09-26 11:30:55 +00:00
the_fiddler
c5444179ba Renamed Keyboard and Mouse to KeyboardDevice and MouseDevice respectively, to avoid name classes. 2007-09-26 11:30:18 +00:00
the_fiddler
8efe9afe2e Delete IKeyboard.cs and IMouse.cs interfaces. Not needed, as the MouseDevice and KeyboardDevice classes are sealed. 2007-09-26 11:29:18 +00:00
the_fiddler
a267b4a381 Vector and example updates. 2007-09-25 21:11:16 +00:00
the_fiddler
42c1affe34 Added X11 Mouse support. X11 Keyboard support is faster now.
Made GameWindow.Dispose() virtual.
2007-09-25 16:45:12 +00:00
the_fiddler
9720d96410 Bumped version number. 2007-09-25 16:13:01 +00:00
the_fiddler
1b60956d3a Disabled test - InputDriver does not work with Mono's Linux Winforms yet. 2007-09-25 15:47:39 +00:00
the_fiddler
146fef1135 Complete Vector2, Vector3 and Vector4 structs. 2007-09-25 15:46:52 +00:00
the_fiddler
a25784c84e Enabled X11Input mouse driver. 2007-09-24 21:23:27 +00:00
the_fiddler
0346c7ba35 InputDriver now correctly interfaces with its mouseDriver. 2007-09-24 21:10:52 +00:00
the_fiddler
97f7f4c7f5 Added X11Mouse driver. 2007-09-24 20:56:50 +00:00
the_fiddler
27d8c47403 Fixed cast issues with Math.Sqrt. 2007-09-24 20:56:17 +00:00
the_fiddler
d39787c9de Added length, normal and scale calculations. 2007-09-24 20:18:51 +00:00
the_fiddler
4b29b626b8 Vector23 math and operator overloads. 2007-09-24 20:11:44 +00:00
the_fiddler
61102b359d Work on X11 mouse driver. 2007-09-24 20:10:14 +00:00
the_fiddler
66dfecfee7 Bumped version numbers. 2007-09-24 19:58:45 +00:00
the_fiddler
c204763f3a W03_Extensions now uses the Application.Idle event to load extensions instead of the OnLoad event. Fixes flickering problems. 2007-09-24 19:57:37 +00:00
the_fiddler
4af4ca65c4 Start of T04_Lighting example. Slight updates to T10_GLSL_Cube. Updates to ExampleLauncher exception handling. 2007-09-23 13:38:03 +00:00
the_fiddler
cc00d875d5 Updated update and render frequencies for all examples. 2007-09-23 12:49:38 +00:00
the_fiddler
80f541bd17 Fixed renderFrequency and updateFrequency (they were render_frequency and update_frequency respectively). 2007-09-23 12:39:15 +00:00
the_fiddler
700393b688 Added GameWindow.SwapBuffers(). Fixed T02_Vertex_Array_Cube to 60Hz. 2007-09-23 12:37:07 +00:00
the_fiddler
a696bbc765 Added constant and variable time-step update logic to GameWindow. Updated examples to use the new GameWindow UpdateFrame and RenderFrame events. 2007-09-23 12:09:42 +00:00
the_fiddler
e361e4c10b Added timing information to UpdateFrame.
Removed T02_Resizable_Window.cs and added T02_Vertex_Array_Cube.cs
Added Shapes/Cube.cs to Examples.
2007-09-22 22:01:43 +00:00
the_fiddler
0712635670 Fixed build. 2007-09-22 15:07:28 +00:00
the_fiddler
26f5d0dff4 Updated BindStreamWriter to better handle endlines. Reverted WinRawInput to standard reads. 2007-09-22 14:59:33 +00:00
the_fiddler
e277e3b272 Windows raw input now works. 2007-09-22 13:13:17 +00:00
the_fiddler
0e3a330065 Added initial OpenTK.Math implementation. Contains Vector2, Vector3 and Vector4 structs. 2007-09-21 23:38:19 +00:00
the_fiddler
ce48c29668 Added license to S04. 2007-09-21 23:36:59 +00:00
the_fiddler
52a6690150 Removed Move event from IMouse (too inefficient). Polled input only.
S04 now polls for the mouse position.
Keyboard now handles events generated from code and not from physical devices.
2007-09-21 22:49:42 +00:00
the_fiddler
21d6030a6a Corrected Windows.API.RawMouse class. Mouse input now works! 2007-09-21 22:39:16 +00:00
the_fiddler
b660f5af9b Updated Input Logger example. Better handling of mice. 2007-09-21 21:30:18 +00:00
the_fiddler
4bac183f77 Added S04: Input Logger test. 2007-09-21 20:45:47 +00:00
the_fiddler
597cc5c07f Small update to LoadAll(). 2007-09-21 20:36:41 +00:00
the_fiddler
980e7138d2 Work on MouseDriver. Windows raw driver works. 2007-09-21 20:34:07 +00:00
the_fiddler
0424887db2 Corrected some struct definitions in Windows.API 2007-09-21 20:31:47 +00:00
the_fiddler
dbb2d1a3d6 Enhanced WindowInfo API. A WindowInfo struct can now be initialized from any Control, Form, NativeWindow or GameWindow. 2007-09-21 20:07:30 +00:00
the_fiddler
73656192e6 Slight changes to InputDriver constructor. 2007-09-21 20:05:56 +00:00
the_fiddler
66b046a58c Added KeyRepeat to IKeyboard.
Multiple keyboards correctly reported under Windows (Raw input driver).
Corrected some key maps in X11 and Windows Raw keyboards.
2007-09-21 20:03:53 +00:00
the_fiddler
d6678f0587 Enhanced BindStreamWriter.Indent() and Unindent() implementation (they now change a simple counter).
Suppressed warning CS0649 (uninitialised field) in generated code for delegates.
2007-09-21 19:59:22 +00:00
the_fiddler
55a84c70c7 Added licensing information. Added Close() call on failed initialization of W01_First_Window. Moved GLContext to OpenTK namespace. 2007-09-09 16:07:39 +00:00
the_fiddler
00a184e24f Worked around a Mono 1.2.5 gmcs bug, where nested partial classes confuse the compiler. 2007-09-09 15:42:51 +00:00
the_fiddler
2ca6e6c617 Added OpenTK.Platform.WindowInfo and OpenTK.Platform.IMutableWindowInfo. Split IWindowInfo implementation to IWindowInfo and IMutableWindowInfo. Added several methods.
X11 and Windows GLControl and GLNative implementation now use IGLContext interfaces instead of direct X11GLContext and WinGLContext. Decouples the two (good!).
Updated all Native, Control, Context classes to use the new interfaces.
2007-09-09 15:10:21 +00:00
the_fiddler
2e572eb65a Added needed DisplayMode constructors. Fixed DisplayMode documentation. 2007-09-09 15:07:14 +00:00
the_fiddler
827b76b6e9 Improved documentation for DummyGLContext and Dummy.
Disabled S02_RawInput_Logger for updating.
Added WindowInfo.cs
2007-09-09 11:53:25 +00:00
the_fiddler
c1fa34087c Decoupled GLContext from GLControl/GameWindow even more, by using IWindowInfo to pass data between them.
Implemented the IWindowInfo.GetInfoFrom methods.
Removed said methods from OpenTK/Platform/Utilities.
2007-09-09 11:52:09 +00:00
the_fiddler
e0c514f96e Added partial modifier to internal Delegates and Imports class. Removed constructors (they now reside in GLHelper.cs). Renamed GL.DrawArray to GL.DrawArrays. 2007-09-05 19:59:54 +00:00
the_fiddler
184b3cee0d Sped up GL.LoadAll() and GL.Load() functions. 2007-09-05 19:53:48 +00:00
the_fiddler
e74cfac148 Updated W03_Extensions example (background loading of extensions). 2007-09-05 13:35:40 +00:00
the_fiddler
5e28f31660 Improved GL loading speed.
Added background worker thread to W03_Extensions.
Added debug output to failed WinGLContext.MakeCurrent() calls.
Removed object field from Windows.MSG struct.
2007-09-03 21:47:34 +00:00
the_fiddler
fe0b2c66db Synced 0.3.11 to trunk. 2007-09-02 23:40:50 +00:00
the_fiddler
296f83257b Adding asynchronous extension loading. 2007-09-02 23:26:12 +00:00
the_fiddler
105902336e Glu is now initialized under X11GLNative 2007-09-02 23:18:50 +00:00
the_fiddler
096d33dca4 Updated Documentation and version numbers for release. 2007-09-02 23:13:28 +00:00
the_fiddler
45a0efd9d1 Removed redudant GL.LoadAll call in WinGLNative
Added Glu.LoadAll call to GLControl.cs
2007-09-02 23:04:11 +00:00
the_fiddler
d757447a8f T04_Lit_Cube not ready yet. 2007-09-02 22:52:56 +00:00
the_fiddler
a813684176 Merged with Bind. Added GLU bindings. Corrected OpenGL overload trimming. 2007-09-02 22:52:00 +00:00
the_fiddler
0555cc2716 Corrected spelling. 2007-09-02 19:54:01 +00:00
the_fiddler
dfaaaf582f Added timing information in GL.LoadAll() 2007-09-02 19:30:25 +00:00
the_fiddler
58bad52607 Bumped version number. 2007-09-02 13:36:54 +00:00
the_fiddler
437d8fe627 Updated T10_GLSL_Cube to remove NRE exception on Mono 1.2.x.
Added debug info to the GL.LoadAll function.
Added W03_Extensions.cs example.
2007-09-02 13:34:44 +00:00
the_fiddler
1947662281 T10_GLSL_Cube now really exits when OpenGL 2.0 support is not available.
The ExampleLauncer example TextBox is now docked inside the parent form.
Bumped version numbers.
2007-09-02 08:25:10 +00:00
the_fiddler
7403987e5c Added DummyGLContext.cs amd DummyGLControl.cs drivers. 2007-09-02 08:09:01 +00:00
the_fiddler
6ddd024fbf Added System.Drawing.Color overload to GL.ClearColor.
Updated W01 and W02 examples to use this overload.
Removed 'Paint' message from W01 Paint event.
2007-09-02 08:08:12 +00:00
the_fiddler
00463df2e8 A DummyGLControl driver is now created when in DesignMode. Removes expensive GLContext initialization, and improves designer stability. 2007-09-02 08:07:09 +00:00
the_fiddler
fc4e0f3698 Added Glu and Glx generators to Bind. 2007-09-02 07:50:46 +00:00
the_fiddler
728a5c9ec6 Added Glu and Glx generators. 2007-09-02 00:58:10 +00:00
the_fiddler
2f09c15672 Trunk now compiles again. 2007-09-02 00:53:24 +00:00
the_fiddler
017a345927 Merged with bind branch: updated GL.cs wrappers, Glx and Glu implementation suppoort files, faster Bind. 2007-09-02 00:40:43 +00:00
the_fiddler
ce76c9ffc7 Bumped version number. 2007-09-02 00:19:19 +00:00
the_fiddler
3bf2d03def Beautified platform selection in GLControl.cs
Added missing ')' in Keyboard.ToString() function.
2007-09-02 00:19:01 +00:00
the_fiddler
9ac9af08ac Removed IDisposable from IGLControl
Added IDisposable to INativeGLWindow
2007-09-02 00:17:59 +00:00
the_fiddler
b89d2231d4 Changed API.* to * in order to reflect changes in OpenTK.Platform.Windows.API.
Improved Disposable pattern implementation in most Windows classes.
2007-09-02 00:16:22 +00:00
the_fiddler
b25edb985d Improved the Disposable pattern (finalizer was not needed).
Removed Dispose() call from glWindow_Destroy function.
Added obsolete warning to the Create and OnCreate events/methods.
2007-09-02 00:13:52 +00:00
the_fiddler
defa7aa9c5 Updated examples to reflect namespace change of DisplayMode and ColorMode.
Renamed T03_RotatingCube.cs to T03_Immediate_Mode_Cube.cs.
Renamed T07_DisplayLists_Cube.cs to T07_Display_Lists_Flower.cs.
Renamed Cube.cs to W02_Immediate_Mode_Cube.cs
Updated colors in T10_GLSL_Cube and T03_Immediate_Mode_Cube
Add S03_Stack_Imbalance.cs test.
Add T01_Simple_Window.cs and T02_Resizable_Window.cs tutorials.
2007-09-02 00:07:40 +00:00
the_fiddler
c2c3dac7df Moved ColorDepth and DisplayMode to the /OpenTK directory (where under /OpenTK/Platform).
Renamed ColorDepth to ColorMode, to avoid clash with System.Windows.Forms.ColorDepth
Updated examples to use the new namespace for DisplayMode and ColorMode.
2007-09-02 00:04:34 +00:00
the_fiddler
6af814b655 Example names are now more readable (ExampleLauncher.Load())
ExampleLauncher behavior is now more consistent when launching GameWindow and WinForm examples. The launcher becomes invisible, and the launched examples exist in the same thread as the launcher.
Better documentation for IExample.cs
2007-09-02 00:02:10 +00:00