   [.net] OpenGL in .NET
  HiI recently wrote a CSG map editor for a university project using wxWidgets in the wxDevC++ IDE.  wxDevC++ isnt a bad IDE, but I have begun using VS.NET 2003 at my new job, and frankly, its awsome productivity wise for GUI development.  i wont go into some of my .NET questions here, I will save that for the .NET forum, but I do have some Direct3D related questions.I plan to keep my engine SDL based, but my editor I dont mind being platform bound (at least dont mind as much).  I have been thinking about porting it to .NET, probably using C++...maybe C#, I dont know yet.I am less keen about moving to Direct3D, however...I use OpenGL and have for a while now, and am trying to merge my editor and engine renderers together...i dont want to have to maintain 2 seperate renderers in 2 APIs.My question comes: Can OpenGL apps be built in the .NET framework, and can they be built as managed applications, or does the OpenGL code have to encapsulated in unmanaged code (not a big issue mind you)?  For that matter what about OpenAL in a .NET program...I am guessing this would all be very messy and not worth the effort.Finally, what if I want to use C# for the GUI (cause damn it makes GUI work easy) and C++ for my hardcore editor code...I know they can be mixed which is half the point of .NET, but I have no idea how multiple languages interact with eachother...pointing to a decent article here would suffice.Thanks for the help   
  You can use GL in C# via Tao. I think  this is the download page, though it's different from the page I last saw the Tao project at.   ;  The word "via" makes things sound messy.  I will settle for C++ which I prefer for its pointer access.I would only use C# for windows and toolbars and widgets...but i guess OpenGL is in a window...so C# is out.  Still my other questions stand.   ;  I'am into similar problem atm. I want to make an editor for my particle system, so i decided to use windows forms through managed c++, which gives you c++ and c# advantages.   ;  Actually the Tao GL bindings aren't that bad. It's more or less like how you would use GL through C or C++, just wrapped in managed code.   ;  Why use Tao at all.  Just use regular OpenGL with C++ .NET.  Its the exact same as its always been, except to pass in the HWND of your window, you use Form->Handle.   ;  Can you explain it a little?I am trying atm to get it to work, but no success. I heard there were some changes in framework 2.0   ;Open GL Framework 2.0. Well it's all in C# and there's a free edition and a paid edition. It comes with the source code so you can make any changes or additions you want. Anyway, just pointing out another alternative.   ;  My biggest problem to get mc++ to load win32 functions. i included opengl initalization, it compiles fine, but nothing happens after i press the button   ;  The true question you should be asking is what you need in your project and how you'd like to accomplish it.  You have a number of options when it comes to .NET.  The website that SiCrane mentioned is the offical Tao Framework website.  There you'll find straight .NET bindings to a number of APIs such as OpenGL, GLFW, SDL, etc.You mentioned that you wanted to keep your engine SDL based.  There is Tao.Sdl for direct bindings to SDL, but it's not very nice to deal with unmanaged code in .NET (IntPtrs don't look nice).  This is where SDL.NET comes in.  SDL.NET provides a layer ontop of Tao.Sdl to make it object oriented.  Instead of dealing with IntPtrs in the direct bindings of Tao.Sdl, you're dealing with objects which have a large amount of functionality and give easy access to other libraries like SDL_gfx, SDL_mixer, SDL_ttf, etc.  It also provides functionality of all OpenGL features held in SDL.  SDL.NET and Tao.OpenGl are a very nice combo.  There are a large amount of the NeHe Lessons in SDL.NET + Tao.OpenGl form available.Quote:Original post by oconnellseanmWhy use Tao at all.  Just use regular OpenGL with C++ .NET.  Its the exact same as its always been, except to pass in the HWND of your window, you use Form->Handle.... Because "regular OpenGL" doesn't provide .NET bindings for your code to call.  Tao.OpenGl gives an interface for you to call "regular OpenGL" from .NET through direct bindings.  C++.NET also isn't compatible with Mono, meaning it can't be ported to Mac or Linux.   