So I've been struggling through my first efforts to use OpenTK, and I thought perhaps writting my progress down would both help me and perhaps benefit others who may be having similar problems. I'm almost positive my ways are not necessarily the most efficient, but I'm not going to worry about that for now.
Right now the biggest thing I'm having problems with is textures, but I'll start from the beginning.
First, I have to say that graphics programming and app programming are two radically different things. I've programmed various basic apps for a while, but coming into the graphics world taught me the most valuable lesson anyone can really learn: I am a complete beginner when it comes to programming and I know nothing. Might seem like standard logic there, but when you get into a routine of programming the type of things you have familiarized yourself with (for me it was databases, ciphers, etc...) and dont try to expand, you really end up feeling like you a professional-level, technically competant programmer. So there's my lesson, I have a long way to go. I have never struggled through coding this much. There are a lot of unique concepts, and a lot of rituals and specific steps that, once learned, will be routine and commonplace, but to an outsider looking in it can be overwheleming.
When I look at code and examples, I don't like to see extra 'fluff'. by that, I mean I dont like to see optimized code, shortcut variables, and no comments. I've always felt examples are poorly explained and don't completely bridge the gap from a new person to a competant and capable person. When I say i don't like to see optimized code, I don't mean that I don't like it at all, it has a time and place, and it's great (and sometimes necessary) to learn. But when I'm trying to grasp the concepts for the first time, I don't need to see it. I'm more concerned with getting something onto the screen at all, rather than loading all kinds of buffers that a first program will never use (even if you might use them in later programs).
That having been said, my first program (i'm ashamed to say) took me an hour to figure out how to even initialize a screen properly. In all fairness, the books I am reading about OpenGL are all using GLUT and C++. I have one book that covers OpenGL in C# with TAO, which is the closest reference I have. It took me a while to figure out how to convert it because OpenTK is cleaned up. From one aspect, I'm glad it's cleaned up. From another aspect, I actually wish it weren't cleaned up so it is easier for me to learn (nearly) directly from the books. A lot of what these books are teaching become old messy techniques in OpenTK, and some of it is just unecessary. Take, for example, the lack of a need to initialize your GLControl, or even initializing a window at all.
Ultimately, we are all drawn together on to this site because of our love for programming, right? So I hope this can help the group (myself included because i'm certainly a straggler) stay together and move into a positive direction. What I'm going to ATTEMPT to do is read through the OpenGL SuperBible 4th Edition from Chapter 1 and translate it into OpenTK. Hopefully this helps me in the process.
There are a couple of classes that I got from the C# book that I use for things like looping, but the loop and precision timing are really the only ones I use (I'll post my code for them), but they call Windows APIs. There should be equivalents for anyone using MONO or something like that.
Anyways, that was my introduction, sorry for making it so long winded, but hopefully this will establish a good foundation. If any of the more experienced programmers would help me as I post the code up and either explain more efficient ways to do things, why a piece of code is not working, or how it works in OpenTK, it would be greatly appreciated. I'll try to post often, as the goal is to ultimately get a little practice in each night.