I'm working on an OpenGL based game using MonoTouch for the iPhone, which uses OpenTK. I actually started my game in native Objective-C, but then decided to explore MonoTouch (since I have a lot of .NET/C# experience) and am now porting it over. The problem I'm facing is that I'm trying to blend multiple transparent textures. This worked perfectly in the native Objective-C version, but not with OpenTK.
The problem is that I have a black background with a transparent white texture that I'm drawing in multiple overlaps. On my original version if I drew the texture once it showed a grey image (transparent white on black). If I then draw the same texture again overlapping that then it should make the overlapped area brighter by adding more white to it. Instead what I'm getting is that each successive overlap makes the grey color darker.
I believe the relevant code is just this:
GL.Enable(All.Blend); GL.BlendFunc(All.One, All.OneMinusSrcAlpha);
Is there any reason this wouldn't work in OpenTK when it worked fine in native OpenGL?