Неплохо для новичка, но вертексный шейдер не нужен от слова вообще. Есть такая фигня емнип под названием bgl_RenderedTexture в которой хранится сама текстура и gl_Color, в которой цвет текущего пикселя. Также вместо ARB лучше использовать GL20, вот готовый класс для этого (и классы-наследники не совсем хороший вариант, т.к. хранят лишь ID)
https://bitbucket.org/AlexSocol/alfheim/src/master/src/main/java/alexsocol/asjlib/ASJShaderHelper.java