Advertisement

[.net] C#-based OpenGL Engine?

Started by March 01, 2006 10:18 AM
32 comments, last by cody 18 years, 6 months ago
wow, sounds cool, i will try it tomorrow.
Quote: Original post by cody
im programming a game with c#/opengl, too, you can see pics and videos here:
link to the thread
What are you using for text output?

I've just been using textured quads to display letters from a texture. There is this P/Invoked FreeType/2 wrapper, but when I implemented it into my system, the characters were just showing up as null characters.
Rob Loach [Website] [Projects] [Contact]
Advertisement
I would not really suggest using the SimpleOpenGlControl, it's pretty ghetto. I added it for people who were complaining that they either didn't have GLUT or thought that 'normal' Windows context creation was too hard. I believe this was also before Dave's SDL was available. It also never worked right across frameworks, if I recall I added it during 1.0 and then updated it for 1.1 and then it wouldn't work for 1.0. I believe that the designer was requiring the exact strongly named Windows.Forms dependency as it was built with when it instantiated it within the designer...

I'd suggest 'normal' context creation under Windows and if you're wanting to support non-Windows as well then abstract the context creation and do 'normal' platform context creation (I think someone has now done some GTK stuff), or just use SDL. However, the last time I checked, which was like a month or so ago, Mono's got some perf issues with numeric calculations. I mentioned it to Miguel and he said they're having some register problems that they think they have some solutions for, I'm not sure on the timeline for those...

As far as Tao on 2.0, I do recall that before I 'went away', I had tracked down the issue with the post processor on 2.0, but I never implemented and submitted the fix. If I recall something changed in either Reflection or Reflection.Emit between 1.1 and 2.0 which caused the breakage. It looked pretty trivial, but offhand I don't recall the details. Personally, I would suggest just dropping support for 1.0 and 1.1, the advantage would be that most of the post process stuff could just go away (everything related to extensions) since they added Marshal.GetFunctionPointerForDelegate/GetDelegateForFunctionPointer. No longer would you have to munge the IL to get extensions working. While I'm somewhat proud of getting that working under 1.0/1.1, it was always a kludge, but at the time it was the only way to get it to work. The downside is that I'm sure people would complain about no 1.0/1.1 support. Some of the post processor would have to stay, offhand I think it would still need to munge the IL to support CDECL callbacks in various places...

Anywho, that's my $0.02.
--Ridge
my font is just a texture, too.
and there are problems with variable-width characters.

but of course having a truetype font would be cool.

edit: read your link, which answered my question.:)

This topic is closed to new replies.

Advertisement