OS X 10.6.5: GLSL problems are solved

Thank you Apple, thank you. The latest OS X update solved my crashes and broken renderings when using GLSL. Apple does not state what has changed in the knowledge base, but my last assumption was that at least the GLSL compiler produced broken code. Apple uses the wonderful LLVM compiler infrastructure for GLSL, which is great, but also known to produce problems sometimes. But LLVM+GLSL has made great advances, and this update makes it even better. Here’s the correct rendering which I now can enjoy:

Update: I was too quick with my joy. The machine crashed again. But differently. It took much longer, and there was a hint screen this time, plus the machine sent a crash report after the reboot. Hopefully we are slowly getting to a solution… Ok, let’s reopen the bugreport at Apple…
Update 2: I investigated a little bit more. It seems that when I switch the MBP back to using the GeForce 9400M instead of the 9600M, the machine does not crash. I played around for a couple of minutes, and it seems to work fine. Of course it is horribly slow, because I am pushing it with a massive volume dataset and a marching raycaster, but it at least works. The 21″ iMac with the ATI card still fails miserably. Rendering is totally borked, but at least it does not crash.
Update 3: After two weeks of letting this rest, I tried today again, and I cannot manage to crash the whole machine anymore. I don’t know what Updates changed this behaviour, but I am glad anyway. The ATI card still produces garbage, but neither the 9400M, nor the 9600M GT nor the GT120 in the iMac crash at the moment. If the machine locks up again, I’ll report back with the panic log.

GLSL bugs in OS X still there

 Some time back I reported on crashing the Macs here using a non-trivial GLSL shader program. This bug still exists to this day. Now we’ve got a small, brand new 21″ iMac, fresh out of the box. It exhibits a similar problem. This time, the UI does not lock up, but the rendering is totally borked. Compare the two screenshots. The first one shows the correct rendering, on a Linux PC using an NVIDIA GTX285 GPU, the other one is from the 21″ iMac using an ATI GPU. The trick between crashing and not crashing seems to be the ATI brand…

Spherical Harmonics Explorer

I have written a neat little Spherical Harmonics explorer. Right now, the projection function has some weird bug still, but the basis functions, and arbitrary combinations of them can be viewed nicely. The tool is written in Python, using PyQt4 and PyOpenGL. Python is excellent for prototyping such a tool. It might not be as fast as C++, but the rendering speed using PyOpenGL is more than enough and very smooth. I might put the small 3D viewer widget online later, because it might be useful for many people. Here’s some eyecandy:

Update: Now the projection also works fine. See the example screenshot of an order 5 approximation. This still needs some more work, still using a very basic Monte Carlo sampling approach, which converges terribly slow. But I can already produce some results.