Итак, у меня есть программа opengl, которая рисует группу объектов. Когда я рисую эти объекты, я хочу использовать свою шейдерную программу, являющуюся вершинным шейдером и исключительно вершинным шейдером. По сути, я стремлюсь настроить высоту модели внутри вершинного шейдера в зависимости от расчета текстуры. И это все. В противном случае я хочу, чтобы объект рисовался, как будто с использованием открытого openGL (без шейдеров). Я не хочу реализовывать фрагментный шейдер.
Однако я не смог найти, как сделать так, чтобы у меня была шейдерная программа только с вершинным шейдером и ничем другим. Забыв часть о настройке высоты моей модели, до сих пор у меня есть:
gl_FrontColor = gl_Color;
gl_Position = modelViewProjectionMain * Position;
Он правильно трансформирует объект в правильное положение, однако, когда я это делаю, я теряю координаты текстуры, а также информацию об освещении (теряются нормали). Что мне не хватает? Как написать «ничего не делающий» вершинный шейдер? То есть вершинный шейдер можно было включать и выключать при отрисовке текстурированного .obj с нормалями, и разницы бы не было?
gl_Position = ftransform ();
. Конечно, это устарело, но ваш вопрос заставляет меня поверить, что это не имеет значения. - person Andon M. Coleman   schedule 18.05.2014