thefiddler
3856fcd48e
[OpenTK] More robust timing for UpdateFrame and RenderFrame
...
FrameEventArgs.Time should no longer drift from clock time measured
outside GameWindow.
2014-01-07 08:52:02 +01:00
Stefanos A.
83f54f70aa
[OpenTK] Simplify and improve timing calculations
...
This patch modifies GameWindow.Run() to use a single stopwatch instead
of two separate stopwatches for timing UpdateFrame and RenderFrame
events.
It improves timing accuracy for issue #20 (FrameEventArgs.Time
Inconsistencies)
2014-01-06 01:57:54 +01:00
thefiddler
6d0b5eb49f
Implemented SDL2 platform using sdl2-cs
...
This is a new platform that can be used then sdl2 is installed on the target system. SDL2 is commercially supported by Valve and provides better support for MacOS compared to our current implementation (Cocoa vs Carbon). It will also help us introduce faster support for new platforms. Existing platforms remain as a fallback and will be automatically used if sdl2 is not installed.
Please note that this is still a work in progress. The new mouse and keyboard API is not supported yet. Due to limitations of sdl2, multiple mice/keyboards are also not supported.
2013-09-27 14:41:37 +02:00
the_fiddler
7bcbfc7072
Added conditional compilation and the necessary classes to compile OpenTK without referencing System.Drawing.dll. To build without System.Drawing, add "MINIMAL" to the conditional compilation symbols. Note that this is an experimental feature that will result in a source- and binary-incompatible dll.
2011-12-08 00:03:14 +00:00
the_fiddler
656e18ed00
Protect against negative Stopwatch values on buggy systems. Fixes issue [#2740}: "OpenTK freeze in GameWindow main loop, and possible fix. (Copied from Development forum)".
2011-11-03 10:34:57 +00:00
the_fiddler
b3f846dbc6
Implemented IGraphicsContext.SwapInterval property that supersedes IGraphicsContext.VSync. Fixes issue [ #2671 ]: "Expose SwapInterval to GameWindow".
2011-09-06 12:06:30 +00:00
the_fiddler
5512776943
Fixed potential race condition when raising events: an event might be modified to null after the null check and before being raised.
2010-10-28 09:37:57 +00:00
the_fiddler
f6bf0c95c6
Fixed ambiguous documentation reference.
2010-10-28 09:31:20 +00:00
the_fiddler
19287142d3
Added missing documentation to OnResize.
2010-10-28 09:00:07 +00:00
the_fiddler
88e6aceae0
Synced trunk with 1.0 branch.
2010-10-02 18:52:34 +00:00
the_fiddler
bca3751e8b
Synced with 1.0 branch.
2010-03-11 22:53:11 +00:00
the_fiddler
53b84d18d4
Backported bugfixes from 1.0 branch.
2010-02-03 19:04:42 +00:00
the_fiddler
d00cc6bd86
Merged GameWindow timing fixes and release documentation from branches/1.0.
2009-11-17 14:54:30 +00:00
kanato
8bd20009b2
Mac OS X Fix for GameWindow to call glContext.Update when resized
2009-11-09 06:51:52 +00:00
the_fiddler
67fed8705f
Fixed spelling of hertz and fps. Fixes issue [ #1333 ]: "Spelling of SI units in documentation and captions". Patch by iRBiS.
2009-11-06 16:46:28 +00:00
the_fiddler
fa81d3daa8
Cleaned up a large number of documentation issues.
2009-11-04 20:48:02 +00:00
the_fiddler
68b2a5942b
Generate UpdateFrame events even if TargetUpdateFrequency is 0. According to the documentation, setting this value to 0 will result in unconstrained UpdateFrame frequency. Fixes issue [ #1294 ]: "OnUpdateFrame function does not work with maximum update rate".
2009-10-27 22:23:11 +00:00
the_fiddler
15cad88758
OnLoad/OnUnload should be protected, not public, to conform with the class library design guidelines. This issue was supposed to be fixed in 0.9.9-2, but was apparently overlooked.
2009-10-21 13:33:00 +00:00
the_fiddler
b896d8952c
* GameWindow.cs: Improved implementation of GameWindow.Exit(). It should now be possible to cancel the exit through the IsClosing event.
2009-10-07 16:13:46 +00:00
the_fiddler
64c6148f53
Generate Update/ResizeFrame events whenever the window is moved or resized. Partially fix for issue [ #1218 ]: "[NativeWindow] Avoid modal loop during window resize/movement".
2009-10-07 15:18:53 +00:00
the_fiddler
a028460f53
Refactored and simplified the Run() loop.
2009-10-07 13:08:13 +00:00
the_fiddler
59f9746665
Ensure the GameWindow is visible when the Run() method is called.
2009-09-19 21:56:13 +00:00
the_fiddler
572baf16be
Removed [Obsolete] attribute from Joysticks, Keyboard and Mouse properties until the new input API is ready.
2009-09-04 22:08:51 +00:00
the_fiddler
c730a706a6
Applied kvark's latest NativeWindow/GameWindow patch, which improves event handling, the shutdown sequence and documentation, while removing stale code.
2009-09-04 21:27:05 +00:00
the_fiddler
7970282d7b
Ensured System.Windows.Forms.NativeWindow is resolved correctly.
...
Renamed OpenTK.NativeWindow0 to OpenTK.NativeWindow.
2009-08-21 19:34:20 +00:00
the_fiddler
3095504dd1
Removed GameWindowExitException.
...
Modified Exit() method to call Close() instead of disposing of the GameWindow.
Check and exit main loop if Exists == false.
2009-08-20 22:26:31 +00:00
the_fiddler
618aa34df8
Committed initial NativeWindow implementation.
2009-08-20 22:22:38 +00:00
the_fiddler
5e80a061b8
Implemented INativeWindow.WindowBorderChanged and INativeWindow.WindowStateChanged events.
2009-08-17 09:34:15 +00:00
the_fiddler
0e02f67749
Moved OpenTK.Graphics.GL class to the OpenTK.Graphics.OpenGL namespace (reason: necessary for OpenGL|ES support; necessary for support of different OpenGL profiles). OpenTK.Graphics.GL has been moved to the OpenTK.Compatibility library.
...
Removed OpenTK.Graphics.Glu class (reason: deprecated upstream; most functionality provided by OpenTK math; not compatible with OpenGL 3.0+.) OpenTK.Graphics.Glu can be accessed through OpenTK.Compatibility.
Added OpenGL|ES-specific ErrorHelper classes.
Moved OpenTK.Graphics.DisplayDevice and OpenTK.Graphics.DisplayResolution to the root OpenTK namespace (reason: their functionality is not specific and does not depend on OpenTK.Graphics).
Split Graphics*Exception classes into different files.
Made GraphicsErrorException public (reason: necessary for OpenTK.Compatibility).
2009-08-14 13:13:28 +00:00
the_fiddler
4847646cc8
Added INativeWindow.CreateKeyboardDriver()
...
Added INativeWindow.KeyPress event (KeyPressEventArgs).
Removed INativeWindow.Icon property.
2009-07-19 17:49:51 +00:00
the_fiddler
57e4bb85bd
Moved GameWindowFlags enumeration to its own file.
...
Added GameWindowFlags.Default token.
2009-07-18 08:21:58 +00:00
the_fiddler
1bdc6b6634
Added missing XML docs.
2009-06-28 10:49:10 +00:00
the_fiddler
8e70a94d3d
Enabled xml documentation in debug builds.
...
Fixed a few XML documentation warnings.
2009-06-25 11:16:45 +00:00
the_fiddler
d5efed9045
Removed obsolete IResizable, DisplayMode and ColorMode APIs.
...
Marked carbon API class as internal.
Added a large number of missing XML comments.
2009-06-04 11:31:02 +00:00
the_fiddler
cb661c2dca
Merged gw-next2 branch to trunk.
2009-06-02 15:49:39 +00:00
kanato
25fac6226d
Implement PointToScreen via poor man's method of just inverting result from PointToClient.
2009-05-11 02:18:22 +00:00
kanato
f71fdac268
Correct PointToClient so that returned point is relative to upper left corner of game window, consistent with the documentation.
2009-05-11 02:13:46 +00:00
the_fiddler
2f54b29ed8
Added initial support for GameWindow.PointToClient.
2009-05-07 19:48:22 +00:00
the_fiddler
9265747541
Fixed all known build warnings, apart from missing xml comments.
2009-03-25 21:53:12 +00:00
the_fiddler
d43123f219
Added new GameWindow constructors that specify the desired GraphicsContext (OpenGL) version and flags.
2009-03-07 10:49:32 +00:00
the_fiddler
0dca74a232
Implemented JoystickDevice events.
...
Added GameWindow interface to JoystickDevices.
Added HID support to Tests/InputLogger.
2009-03-01 00:28:31 +00:00
the_fiddler
6ae75f0e08
Added Closing event that can be used to cancel a call to GameWindow.Exit().
...
Made GameWindow.Exit() thread-safe.
ExitAsync() is now privateee (use Exit() instead).
GameWindow.Exit() now correctly works when called from inside the OnLoad method or the Load event.
2009-02-22 15:48:31 +00:00
the_fiddler
a22019d890
Normalize line endings and set the mime-type=text/plain and eol-style=native properties on all files.
2009-02-22 10:43:35 +00:00
kanato
81e09a2066
Merged in macos branch for Mac OS X support.
2009-02-20 18:57:57 +00:00
kanato
b99e8c5829
Implement resize event in GameWindow.
2009-02-11 07:59:24 +00:00
the_fiddler
40a14fe8a8
Fixed build warnings.
2008-12-09 10:07:05 +00:00
the_fiddler
62ae3698ad
Library should not use Trace output.
2008-11-23 09:34:33 +00:00
kanato
8b65201145
Initial commit with Mac OS support.
2008-11-04 18:35:17 +00:00
the_fiddler
62cc647613
Follow recommended Disposable pattern.
2008-07-10 15:20:48 +00:00
the_fiddler
74d9f5a0af
Added regions to conform to naming conventions.
2008-06-22 18:07:22 +00:00