This group looks fairly quiet, but I'll try to ask a question here anyway.
I'm a fairly experienced Python programmer, with reasonable knowledge of C =
and a smattering of C++. I have learned to use many scientific computing p=
ackages, but I've never had a need to do 3D rendering in one of my own prog=
rams until recently.=20
I am trying to accomplish this task with my standard toolkit: Python, the Q=
t GUI, and the PyQt5 bindings. Qt itself has bindings to OpenGL.
I have a modern computer with a recent GPU. I'm running Linux and the defa=
ult installation of OpenGL on my computer is also quite recent, version 4.5=
I am in over my head. There are too many concepts to absorb at once, and a=
ll the software I am using is in flux. I have identified three major probl=
1) I am finding many tutorials on-line which make use of the older "fixed p=
ipeline" versions of OpenGL (< 2.0). I don't think that I can use these ex=
amples. Either I have to give up PyQt5, or install a parallel, older versi=
on of OpenGL on my machine and somehow rebind Qt to that older version, or =
2) When I find a C++ example, I have to mentally translate the code I see i=
nto the PyQt5-wrapped equivalent. Also, PyQt4 code is still plentiful out =
there, and it handles the interface to OpenGL differently.
3) I have found some PyQt/OpenGL examples which are supposed to be simple, =
but which seem to have inline C++ code for shaders which gets compiled on t=
he fly. Is this really necessary? Shouldn't I have access to at least one=
default shader which can color the vertices of a triangle? Or an even sim=
pler one, which makes a triangle a uniform color?
I would be happy starting with a dumbed-down, boilerplate interface to Open=
GL. I hope I don't have to grasp all the intricacies of the OpenGL flexibl=
e pipeline, just to start drawing a few 3D triangles in a window.
I haven't been this frustrated with a programming task in 13 years. That's=
when I attempted to learn Java (and quit, when I discovered Python). For =
your amusement, my woes are documented here:
Thanks for any advice you can share.