Revamped the sample based on comments by @brucelane: the sample may not work on all drivers, so it needs proper error handling. Also removed the slower shaders - we're trying to show how smooth things go and slow shader won't help to get the message across.