You cannot use any Fixed Function OpenGL pipeline calls in Rhino V6 (and you really shouldn’t have been using them in V5)… those are very old routines and only work for 2.0 and lower versions of OpenGL (where there’s an actual state machine). OpenGL 3.0 was/is supposed to have legacy support, but after 3.1, all fixed functions were deprecated. Things like matrix operations, rendering states, and primitive states simply do not work in a Programmable Pipeline. Chances are most configurations today will be using OpenGL 4.x, because Rhino uses and takes full advantage of whatever the latest version of OpenGL it finds.
With that said, many drivers support “compatibility profiles”, so it’s possible that things like primitive states (i.e. glBegin, glEnd) may work. However, things like the model view matrix and projection matrix do not exist, so things like glLoadMatrix, glMultMatrix, glPushMatrix, glPopMatrix, etc… simply will not work). Call lists are just compilations of OpenGL calls and functions, and should work as long as they do not include or expect to use any of the fixed function pipeline routines.
Everything done in a programmable pipeline architecture (OpenGL 3.0 and up) must be done through a shader. I’m not saying that you have to now write you’re own shaders, but what it does mean is that in order to draw something in Rhino now, you must use the provided “draw” routines in Rhino’s SDK (since they’re the only things that know how to interface with our internal shaders and programmable pipeline architecture), and not through using direct calls into OpenGL.
If you can provide me with your plugin source, I would be glad to go through it for you and determine what the best way(s) is to approach what it is you’re doing. If you’re not comfortable posting the source here, then email it to me directly…and if that still makes you nervous, then provide some kind of source code example that clearly demonstrates what it is you’re wanting to draw, when you want it to draw, and how you want it to draw, along with any kind of state changes that may impact any of the latter.
If you want more details about these differences and why they were done, then please consult the OpenGL pages… Here’s a place to start: https://www.khronos.org/opengl/wiki/Fixed_Function_Pipeline
Again, I will be more than glad to look at your plugin to see what can be done…but more importantly, it will provide me (us) with things we’ve missed and may/will need to add to Rhino’s SDK for plugin developers wanting to do similar things.
Thanks,
-Jeff