bunklung wrote: ↑Wed Aug 14, 2019 10:06 pm
How did you get q3lite? Built it yourself?
Yeah cdev-tux has made it pretty straightforward, just
sudo make-raspberrypi.sh; sudo make-raspberrypi.sh install and this barely takes any time on a Pi 4. There are aspects that could use some cleanup, but the script is fairly self-documenting so whatever you need to fix or tweak it gives a great starting point.
Gavinmc42 wrote: ↑Fri Aug 16, 2019 2:22 am
glxinfo reports things like this.
It also includes the GLSL ES version further down:
Code: Select all
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 19.1.0-devel
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
If you disable the accelerated OpenGL driver in raspi-config or run
LIBGL_ALWAYS_SOFTWARE=1 glxinfo it'll report capabilities as high as OpenGL 3.3, but this is Mesa's software renderer (slow).
SlySven wrote: ↑Thu Aug 15, 2019 11:49 pm
If it is the former [GLES] then it MUST be a GLSL using system and if the latter [GL] then I guess it still is using a reasonably modern version that does not have the
direct mode support that was phased out somewhere around OpenGL 2.0 .
It sounds like you're referring to the fixed-function pipeline. However, you also seem to assume that by the driver supporting OpenGL 2.1 you lose access to OpenGL 1.5. That is not the case. Your program can request and use an older GL profile.
With GLES things are a bit more complicated because recent versions of Mesa as used on Raspbian Buster have dropped support for OpenGL ES 1.x. Fortunately it turns out you can still access these functions and that was demonstrated with Wolfenstein Enemy Territory and (quite on-topic now) q3lite. This is discussed in
raspberrypi/firmware#1171.
The more troublesome aspect of supporting GLES in the Pi ecosystem is that prior to the Pi 4 there were two different GLES implementations and it takes some effort to support both dynamically. Relatively few applications/frameworks (e.g. Minecraft Pi, JOGL/Processing, and Qt) have done so. If you need your code to run on a classic Pi or Pi Zero you'll have to deal with this split, while another option is to move forward with Mesa and expressly not support older boards.
A good place to ask these kinds of questions is the
Graphics programming subforum. It garners more attention from the Raspberry Pi engineers than Gaming.
Welcome and good luck building out Mudlet.