I was wondering is it worth it to learn .NET to program with OpenGL? If you could compare it to other languages like C++ or VB that would be great.
My main focus is speed, not how hard it is to code. I would like to know, do I get about the same FPS as c++?
Thanks for any input
Hello, i am writting an OpenGL program using C++ .NET, in a mixed app (managed and no-managed code), and, at the moment, i don’t see much diference in the FPS, but a real thing is that .NET slows down the app a bit.
I am using Windows Forms, and two opengl contexts (i am rendering to two Panels (512x512 and 256x256)), with an AMD 1Ghz and 3dLabs vp560 card i get near 600 fps ‘simultaneoulsy’ in the two contexts (both rendering at the form idle time). I doesn’t throwing a lot of vertices, only about 1400.
[This message has been edited by Ffelagund (edited 01-13-2004).]
I had to learn C#/OpenGl for a recent client and it was pretty painless.
The biggest hassle was dealing with managed data structures vs. OGL’s pointers, which gets very annoying with all the ‘fixed’ blocks. I wound up having to use C# like C++ in many cases, making unmanaged structures with a custom memory allocator.
So the net effect is that the OGL portions of the code are about as fast as C++, but gain nothing from C#'s extra management.
The thing I did not try was initializing extensions. Importing from DLLs is easy, but I didn’t see an easy way to set up function pointers (it could be easy – I just didn’t have time to explore it).
I’m moving this thread to the windows-specific forum…
I think you should really just forget about speed and use whatever lets you be the most productive. I really don’t expect the choice of language to make much of a difference unless you plan to do really CPU-intensive (i.e. non-graphics) stuff.
Thanks for the advice
As to you moderator, Srry, I wasn’t sure which to put it in… windows specific or advanced, so I put it in advanced.
I’m a total noob when it comes to .Net, so are there different types of .Net, like vb.net and c++.net, or just one? If it is multiples, which one would you recommend? (I haven’t bought anything yet, just looking to use it for a hobby; I’ve used opengl before with VB)
[This message has been edited by zix99 (edited 01-13-2004).]
.NET isn’t a language. .NET is a framework, a garbage collector, a security system, a new data access, and a lot of languages (C++ .NET, C# (windows and linux version (named ‘mono’), VB .NET, Gtk#, Cobol#, and so on. All of these languages are managed (garbage collector), but some of them (like C++ managed, allows a mixted mode, you can mix in the same app the standard C++ and the C++ .NET, the only diference (a grosso modo) id that the managed objects are collected by the garbage collector, and you mush explicity delete no-managed objects (as C++ standard). This allows the reusability of all your C++ libraries in the .NET platform
[This message has been edited by Ffelagund (edited 01-14-2004).]
Thanks for the explanation on .net, i knew it was a framework, just didn’t know much else.
Thanks you all again
Ffelagund, could you please provide an example of how u set up Opengl using Windows Forms and MC++. I’m used to the MFC way, and am just embracing .NET, which I must admit has been a cool experience.
Thanks, figured it out, it was surprisingly easy in the end . Thanks
This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.