News - page 4

the Fiddler's picture

Mono 1.9 Released!

Grab it from mono-project.com.

New features include performance and memory optimizations, compiler support for C# 3.0 constructs, Linq to Objects and Linq to XML. Windows.Forms have been improved (over 100 bugs fixed) and support has been added for the Design-Time framework (System.Design) and the Dynamic Language Runtime. On another note, the latest Mono debugger finally adds support C# 2.0 (you'll need to checkout from SVN: svn co svn://anonsvn.mono-project.com/source/trunk/debugger).

As you can see, this is an exciting release. Mono 1.9 is now considered feature complete and is supposed to be the last version before Mono 2.0.

OpenTK will currently build and run on Mono 1.2.4+, but newer runtimes provide stability and performance enhancements. OpenTK 1.0 will officialy target Mono 2.0.


the Fiddler's picture

Anonymous comments disabled. CLS-compliant OpenAL API. Help wanted.

Spam bots have started becoming bolder lately, bypassing captcha checks and posting about those "medicine" links we all love so much. I'm looking for alternatives, but for now I've been forced to disable anonymous comments. Annoying as that may be, please consider registering a handle (a mere two clicks away, and thankfully without a round trip through your emails).

We have been silent the past few days, but we are slowly ramping up for the 0.9.1 release. Inertia is currently working on CLS-compliant overloads to OpenAL, while I am trying to improve OpenTK on Linux (having completely moved my main system over) - we have encountered some problems with OpenAL/Linux and are currently implementing workarounds.

All in all we feel 0.9.1 will be a strong release, with many new features. 0.9.2 will be mainly focused on bugfixes and documentation, while the main missing features (joysticks and native Mac OS X drivers) are scheduled for 0.9.3 and later releases.

If you have some spare time and would like to lend us a hand, here are some things OpenTK could use:


the Fiddler's picture

Site upgrade: Forums and Private Messages

A site upgrade has just taken place. If your browser misrenders forum posts or comments, press Ctrl+F5 to reload the stylesheet from the server.

What's new:

  • New forums: Personal Projects, Off-topic discussions, General Programming and Game Design.
  • Private Messages: you can now PM other site users.
  • Updated looks: comments now look much better. Your own posts are highlighted (orange), to make them easier to pick out, as are posts by administrators (light yellow) and moderators (light blue).
  • Comment titles: you can now set an optional title to your comments.
  • Reduced overhead: front page should now load faster.

If you don't already have an account, just pick a username and password (no confirmation email needed). Thanks!


the Fiddler's picture

0.9.1 progress report: Fullscreen support round 2

After a long fight with cryptic Xlib documentation, OpenTK gained the ability to change display resolutions under Linux. The current implementation uses XRandR, so it will only work on fairly new distributions, but fallbacks will be added in later versions to improve compatibility.

This means that fullscreen modes and resolution changing are now supported under both Linux and Windows. There are still a few rough edges (gnome panels stay in front of the window on x86_64 linux, but work correctly on x86), but these will be ironed out gradually.

So what else to expect in 0.9.1? Inertia has written a few OpenAL and GLSL examples which will show up in Examples.exe; JTalton's double precision math routines are slowly being merged; the AudioContext class will take over ALC and ALUT (these will not be publicly available anymore); multiple contexts will share resources by default; a few namespaces will change slightly; and several parts of OpenTK will attain beta status.

Wait, what? (read more)


the Fiddler's picture

0.9.1 progress report: Fullscreen support!

As of right now, OpenTK applications are able to switch screen resolutions and use fullscreen modes! Two new classes, OpenTK.Graphics.DisplayDevice and OpenTK.Graphics.DisplayResolution help enumerate available displays and resolutions (yes, the code is multi-monitor aware ;) ), and provide methods to change the settings of any display. The GameWindow.Fullscreen property is finally implemented, allowing to switch between fullscreen/windowed mode at any time. While this property isn't available in GLControl, it is easy to implement manually: just maximize the containing form and hide its window decorations.

For the moment this functionality is only available on Windows (checkout from SVN). There are a couple of rough edges left to iron out and Linux support will follow shortly. It is now time to start discussing a native Mac OS X port for OpenTK, so if you happen to be a Mac OS X developer who is fairly proficient with C#, please drop by our irc channel (de.quakenet.org:6669, #opentk). Thanks!


the Fiddler's picture

0.9.1 progress report: OpenAL round 2

Creative have responded on the matter of the proprietary EAX<->EFX conversion algorithms, indicating a very simple solution: run the EAX presets through the closed API and include the results in OpenTK (many thanks!). This effectively puts an end to this issue, which means OpenTK 0.9.1 will contain the most complete OpenAL bindings for .Net/Mono.

During the past few days, a strange segfault has hampered work on the AudioContext class. It was finally traced to a bug in the ALSA OpenAL implementation, which has now been worked around by disabling support for multiple AudioContexts under Linux - a better solution has been designed and will be included in the future.

Some new functionality is currently being worked on:

  1. List sharing is now enabled for OpenGL contexts by default (this can be controlled through the GLContext.ShareContexts property)
  2. Work is undergoing on a new class, called DisplayDevice, which is able now enumerate available display devices (monitors) and switch their resolutions.
  3. OpenGL contexts will have more flexible pixel format/visual selection.

It is not currently known when OpenTK 0.9.1 will be released. As always, you can check progress through the project roadmap.


the Fiddler's picture

0.9.1 progress report: OpenAL bindings

Inertia added support for the EFX OpenAL extensions this weekend, completing support for the open part of the OpenAL API. The only missing bits are the proprietary functions that translate Creative's EAX presets to EFX. Creative have been contacted on this matter, so there are two courses of action right now: either they release the code and we add it to OpenTK.OpenAL (with a note of gratitude), or they don't and we have to do some clean room reverse engineering to get these to work. There is also discussion on adding a few OpenAL helper functions, please voice your opinion on this forum post on OpenAL 1.1.

On another note, an 'AudioContext' class has been added to help in the creation of OpenAL context's. Some unforseen problems have arisen on Linux (AudioContext.MakeCurrent() crashes), but hopefully they will soon be resolved.

As always, you can download the latest code from Sourceforge, and join the development channel on IRC (irc://de.quakenet.org:6669#opentk).


the Fiddler's picture

0.9.1 progress report: GLU Tesselation

The OpenTK.OpenGL.Glu has been updated with preliminary tesselation support. Anyone interested, please download the attached zip and test it (the source is availble through SVN) and try using the code. A small example will be added to the OpenTK manual soon.

I am afraid that without feedback, no further updates will be done to this code. I strongly recommend to avoid using the GLU tesselation functions and prefer a managed triangulation solution instead.

As always, you may check progress in the Roadmap section and join our development discussions on on IRC (de.quakenet.org:6669, #opentk).

Update 1: OpenTK.OpenGL.Glu now works correctly. For now, only low-level access is provided to the tessellator functions (which may require the use of pointers in some cases). If you wish to help develop a safe managed wrapper over these functions, please make a post.


the Fiddler's picture

Introducing OpenTK 0.9.0

At long last, OpenTK 0.9.0 is here! Inertia has joined the OpenTK development team, and has worked on many shiny new features (cheers!):

  • Massively improved OpenGL bindings. All core functions have specific enums now, no more hunting through the "All" or "VersionXY" enums to find out which token to use. *Much* more intuitive and elegant. Safer, too.
  • OpenAL support.: AL, ALC and ALUT bindings pave the way to audio! There's some work left for OpenAL extensions (XRam, EFX), context creation and audio format support - for now wavs play fine.
  • Rewritten input driver for Windows. Should be much more efficient, and works on Windows 9x and 2000, too.
  • Many minor and not-so-minor bugfixes in Math, Fonts and Input handling.

Check the Documentation/ folder for more details and the Release.txt file, which contains important information on moving from 0.3.13 to 0.9.0 (please read that!)

So what's with the version bump? This release is the second big milestone towards OpenTK 1.0: audio support. There is still a lot of way before 1.0, but the versions will now better reflect actual progress towards that.


the Fiddler's picture

Temporary website issues (resolved)

Following the recent site update, some pages of the Open Toolkit Manual have been taken offline. The missing content will be restored during the next few hours.

Update 1: The issue has been traced, and the pages are back online. Syntax highlighting of code-blocks has been temporarily disabled for security reasons.

Update 2: Syntax highlighting will stay disabled for a little while. A small inconvenience, but the content is online and readable.

Update 3: Issue resolved, code highlighting works once more.