Hacker News new | past | comments | ask | show | jobs | submit login

The reason for this (at least as I understand it, which could very well be incomplete and/or wrong, as I have little background in dealing with shaders) is that the version on itch.io (which is compiled from source code on github at https://github.com/gavanw/voxelquestiso or https://github.com/gavanw/vqisosmall ) has a bug in (at least) one of the shaders, compiled from /src/glsl/GenerateVolume.c:


The bug (or how I understand it, which, again, could be wrong) is that that specific shader is mixing sampler2D and sampler3D uniforms, which is forbidden by the Opengl 3.3 shader spec.

The reason it works at all on NVidia cards is that apparently NVidia's shader compiler plays fast and loose with that part of the shader specification and allows mixing sampler2D and sampler3D elements, while ATI/AMD and Intel's shader compilers will fail to compile that shader. Failure to compile the shader results in voxel quest only rendering the 'ocean' tiles, tree tiles (without lighting), and building tiles (again, without lighting), and everything else as background/sky gradient.

Someone committed a "fix" to one of the github trees which more or less patches out that shader or the offending part of it, but this just means it renders the wrong way on ALL cards, including NVidia ones.

Hopefully it will eventually be fixed properly in an opengl shader spec compliant way.


Yep agreed - I found that someone's fix broke it, and then I got employed and did not have time to go in and fix it, but you can look at older commits in the repository. AMD drivers may encounter fewer bugs in newer versions of the code, but I am not certain. I will try to clean up these things over time, when I get it :)

Applications are open for YC Summer 2020

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact