Yesterday, I started studying a tutorial about impostors and I came across a strange problem when running the source to see the result.
There are two implementations of an impostor - the one is with a geometry shader and the other uses only vertex and fragment shaders. When running the former one there aren't any problems. However, when I try to run the latter there is this strange flickerring effect:
The lower-left half of the sphere is sometimes not drawn, sometimes fills the whole left corner of the billboard and so on. This happens to the other spheres also if they are switched to be drawn as impostors and not meshes. Here is a video where you can see what exactly happens.
The code which I use is identical to the one from the tutorial. I checked it also with the other implementation which works, and didn't notice any differences (except that it uses a geometry shader and the consequential source changes because of that).
Because I suspect an API implementation bug, here are my videocard characteristics:
- Nvidia GeForce GTX 560 Ti/PCIe/SSE2
- 1023 MB RAM
Also, I can't tell exactly which section of the code, if any, may cause this bug so here is the source code repository.
And the quesions: What can cause this problem? And how it can be fixed?