Hello Peter,
The Linux version has no graphical glitch so far. Now, we are adjusting the interaction with the Steam API, but we do not have access to Steam to test it properly. Could you send some Steam codes for testing?
We have been investigating the Mac issue with the sketchbook in the intro, but we have not been able to find out exactly what is going on. Also, we have seen that it happens with more than just that object as the game progresses. It seems that since the Beta the materials have been getting more complex and the problem has been getting worse.
Given that there is a lack of tools on Mac for OpenGl, as it is deprecated, we have been trying to isolate the problem simplifying the complexity itself:
* We have removed, except the transformation, the calculations and parameters that the vertex shader exchanges with the fragment shader
* We have removed the fragment shader processing so that it only sends constant output values.
* Simplify parameter structs, which are shared with the rest of the shaders, would not be a quick task. So we have not been able to simplify that part.
Using this simplified shaders does not corrupt the graphic card or the frame rendering( although it paints a constant flat colour). Only when the fragment shader contains and uses uniforms is when we do not know why the content of any of the uniforms is corrupted and everything is broken.
We think that the problem occurs either at a driver level or at a gpu level, since the way to fill the uniforms blocks works well in general for pc and mac. At a cpu level we have verified that the sizes that opengl uniform blocks expects match with the ones that from c++ are sent, so we don't understand why apparently a uniform is overwritten.
Although we have found ways, sacrificing quality, to avoid render failure, we have not found a patch that works in all cases.
We don't know if complexity is part of the issue, but maybe we could try a simpler scene with the sketchbook and a pair of other objects. The problem is that we don't know how to get that kind of scene.
-------------------------------
-------------------------------
-------------------------------
-------------------------------
-------------------------------
-------------------------------
-------------------------------
-------------------------------
-------------------------------
-------------------------------
-------------------------------
-------------------------------
-------------------------------
-------------------------------
-------------------------------
Hola Peter,
Hemos estado trabajando duro en los glitches graficos durante las ultimas semanas y no hemos sacado nada. Creemos que seria sensato retrasar la salida de la version de Mac.
Hemos estado investigando el issue de Mac que sucede con el block de notas en la intro aunque no hemos logrado averiguar exactamente que es lo que pasa. Ademas, recientemente hemos visto que no solo pasa con ese objeto si no con mas segun se avanza en el juego. Parece que desde la Beta los materiales han ido adquieriendo complejidad y el problema se a agravado.
Para intentar diagnosticar el problema, hemos hecho que ese objeto usara una variante del shader que hemos ido simplificando:
* hemos quitado, excepto la transformacion, los calculos y parametros que intercambia el vertex shader con el fragment shader
* hemos quitado proceso que hacia el fragment shader para que unicamente mande valores constantes de salida.
* simplificar los structs de parametros, que al estar compartidos con el resto de shaders no seria una tarea rapida. Parece que de alguna forma uno de los uniform se corrompe
Usando este fragment shader de esta forma no se corrompe la tarjeta grafica y el pintado del frame (aunque pinte un color constante plano), Solo cuando el fragment shader tiene y usa uniforms es cuando no sabemos por que se corrompe el contenido de alguno de los uniforms y se rompe todo.
Sospechamos que el problema ocurre o a nivel de driver o a nivel de gpu, ya que la forma de rellenar los bloques de uniforms funciona bien en pc y en mac, a nivel de cpu hemos comprobado que los tamaños que opengl espera concuerdan con los que desde c++ se le envian, por lo que no entendemos por que aparentemente ese uniform se sobreescribe.
Pese a que hemos encontrado formas de, sacrificando calidad, no se estropee el pintado, no hemos logrado un parche que funcione en todos los casos, por lo que intentaremos probar en otros macs para ver si obtenemos informacion que nos ayude a aclarar y solucionar o parchear el problema.
No sabemos si la complejidad de la escena afecta pero quiza podriamos probar con una escena mas sencilla con el libro de notas y un par de objetos mas. El problema es que nosotros no sabemos llegar a conseguir un escenario asi.