Dear ROOT team,
I am using TEve for some event display. I am drawing calorimeter cells with markers (TPointSet). Depending on the computer I am using, the markers have a quite different size.
I chose them originally to be like that>
But on the computer of a collegue and if I look at the TEve event display via virtual network client (VNC) the markers are drawn as big blobs as shown in the following picture:
What could be the source of this difference?
I’m afraid these are bugs/limitations of the GL implementations on those machines.
What is the GL version (glxinfo) on your colleague’s machine and on the VNC server?
Installing hardware accelerated drivers usually helps (they have better support for various GL features).
Here are the three glxinfo files:
My own Desktop (running SLC5):
glxinfo_Desktop.txt (5 KB)
… there is actually an error message right at the beginning which might be related to the behaviour I see.
(ibGL warning: 3D driver claims to not support visual 0x5b)
When I connect via VNC to my own desktop, then I get nice markers with a marker size of 0.1 to 0.9 and big bubbles with a marker size of 5.
glxinfo_VNC.txt (3.68 KB)
The desktop of a collegue (SLC5 as well): He gets big bubbles with a marker size of 5 and it’s ok within 0.1 and 0.9.
glxinfo_Desktop_John.txt (3.56 KB)
I did some more checks: If I change the marker style I see, that triangles, squares and stars are drawn as squares. The asterisk and the cross (vertical/horizontal and diagonal) are drawn as horizontal/vertical crosses.
concluding from that I would think, that the issue is on my desktop, since there I get the error message.
What should be installed/should not be installed to get the right behaviour?
Your desktop has Mesa OpenGL version 1.3 with Intel hardware acceleration.
Both other options have Mesa OpenGL version 1.2 with software rendering only. In ROOT OpenGL we in principle require OpenGL version 1.4 … and the issues you see could either come from 1.2 being too low or from bugs in software renderer of Mesa GL-version 1.2.
Looking at lxplus and my own latest update of SLC5, the MEsa provided there supports OpenGL version 1.4. So maybe all you need to do is upgrade to the latest SLC5 (5.5) … see /etc/redhat-release file.
The circle/point size in pixels should be 5*(size given to TEvePointSet).
Now, about the triangles, stars etc … we don’t support that yet as there is no good way to do that in OpenGL-1.4 (which is our base-line, due to slc5). We included a intermediate library last year that in principle allows use to use GL extensions and do run-time detection of available GL functionality. With this, we could implement arbitrary shapes of markers, but that would require a higher level of GL support on the user machine. For example, none of the machines that you use would support that.
What people doing 3D graphics usually do is to buy a cheap ATI or NVIDIA card (50-100 CHF/EUR/USD should be more than enough) and install drivers provided by ATI or NVIDIA. Latest linux distributions (last 2,3 years) provide the ability to install them using their native package managers. Then you get the last GL version also on slc5.