[.net] Tao users, please respond

Started by
7 comments, last by MButchers 17 years, 12 months ago
How complete is the OpenGL support? There doesn't seem to be a lot of documentation for it. Actually, scratch that, it looks like there is NO documentation for it. There are a few auto-generated interface summaries, big whoop. Are there better .NET OpenGL alternatives to Tao? I'm using JOGL in Java right now, because I have a task at work for a Java app with OpenGL map rendering. There is a lot of language politics in the company I work for, so I'm trying to get my bases covered in case I do get kicked over to C#. Frankly, I would prefer it, but Java isn't too bad right now. Right now there aren't a lot of people working on Java in the company, so whenever I do Java work I'm usually working alone, which is a big plus.

[Formerly "capn_midnight". See some of my projects. Find me on twitter tumblr G+ Github.]

Advertisement
If your question is about the level of OpenGL support, it supports GL 2.0 and all current extensions. If your question is where are the documents, there aren't any. The API is basically identical to native GL, as such you can use any documents available covering GL. As best as I can surmise from browsing the docs for JOGL they don't provide method-level documentation either. It'd be handy if the ARB's specs were XML and included documentation, but they aren't and they don't and I wouldn't wish documenting the whole API by hand on anybody. As far as completeness goes I don't believe there's a more complete binding for GL, particularly one that runs on 1.0, 1.1, and 2.0 (doing extensions is much easier in 2.0, I don't think there's any other one that handles extensions for 1.0 and 1.1). Nvidia is using it for various upcoming tools I do believe.
--Ridge
I just look at the C OpenGL documentation. Add "Gl." before any OpenGL stuff and you're good to go. There's an insane number of overloads for various types; if I throw it the data in whatever type I have it stored, it'll usually work, whether I have my texture in a float[] or a double[,,].

I'm pretty sure the lack of documentation is because automatic documentation tools don't work well with the custom post-processing they use on the MSIL, and no one wanted to put in the effort to do it by hand when the C documentation works just fine.

I haven't used extensions with it, though, so I can't comment on that.
I have to say I too was a stimied by Tao's lack of documentation ... not the lack of documenting the API which , as mentioned, is just OpenGL ... but the lack of something giving the 5 minute view of ... Create this to get a viewport, call normal OpenGL functions on this, here are the enumerations ...

Don't get me wrong, a current OpenGL experienced programmer could pick this stuff up in context fairly easily, but for OpenGL newbies there is no starting point to connect them back to things they can read in the Red Book, etc ...

(if I had time / interest enough / energy I'd help out myself, but truth be told I haven't yet acomplished anything cool with Tao just yet - although I have plans to try again soon.)
the OpenGL calls themselves are not an issue, certainly. It's readily apparent that Tao.OpenGL is a wrapper/port/whatever around the basic C library. However, it would be nice to have some supplemental documentation about use Tao.OpenGL with WinForms. There are a lot of examples that come with the distribution, but they either interop with Win32 or use GLUT, greeeaaat.

[Formerly "capn_midnight". See some of my projects. Find me on twitter tumblr G+ Github.]

Quote:Original post by capn_midnight
the OpenGL calls themselves are not an issue, certainly. It's readily apparent that Tao.OpenGL is a wrapper/port/whatever around the basic C library. However, it would be nice to have some supplemental documentation about use Tao.OpenGL with WinForms. There are a lot of examples that come with the distribution, but they either interop with Win32 or use GLUT, greeeaaat.
If you're talking about the SimpleOpenGlControl, it's available in the Tao.Platform.Windows assembly.

Some people have had troubles with it in the past though, so DaWanderer "wandered" along and put together the OpenGLWinFormsControl. I personally haven't tried it out, but I've heard good things. Apparently it speeds up performance over the SimpleOpenGlControl as well.

Quote:Original post by Xai
I have to say I too was a stimied by Tao's lack of documentation ... not the lack of documenting the API which , as mentioned, is just OpenGL ... but the lack of something giving the 5 minute view of ...
I agree, not so much with the documentation on how to get OpenGL running (there are loads of tutorials out there to help you with the APIs), but to get introducted to the Tao library and how things work. Hopefully now that Tao's website is back in business, some tutorials will come around. There's still much to be done on that front.

Quote:Original post by nagromo
I'm pretty sure the lack of documentation is because automatic documentation tools don't work well with the custom post-processing they use on the MSIL, and no one wanted to put in the effort to do it by hand when the C documentation works just fine.
Tao.OpenGl XML Documentation is actually on Randy's todo list [wink].
Rob Loach [Website] [Projects] [Contact]
I have done a significant amount of GLSL work using a Tao/C# test container, and have yet to run into any snags. I highly recommend it.

It does everything I've ever done in C++, in terms of OpenGL.
Actually, using extensions with Tao is ridiculously easy. You just call GlExtensionLoader.LoadAllExtensions() and it--follow me here--loads all of the extensions! I'm not sure off the top of my head if that is the precise class/method name but its close. If you don't want to wait for every extension to load (it takes at least a couple of seconds), you can load individual ones.

I did get a couple of weird NullReferenceException problems with Tao. Like one time, for example, I found that any time I called the refract function in a GLSL shader, it would trash the Gl reference and crash. I never figured out why that happened. Overall though, I was very impressed with it.
I've been using it for the past couple of years and have found it in the most part trouble free, the main issues I had were early on when trying to use the GLSL methods, however I just wrote my own COM wrapper around these and this now works exactly as I wanted it to.

The Tao bindings for the GLSL methods have probably changed since though so I should get around to re-visiting this area :) and removing the COM objects!


This topic is closed to new replies.

Advertisement