Usar un sombreador de vértices y fragmentos diferente para cada objeto en webgl

Tengo una escena con varios objetos en webgl. Para cada objeto quiero usar un vértice diferente y un sombreador de fragmentos. Mi primera pregunta es, ¿es posible tener un sombreador para cada objeto? Soy consciente de que es posible en opengl.

Este es un pseudocódigo similar de lo que tenía en mente. Cualquier ejemplo sería muy apreciado.

glenableshader
draw triangle
gldisableshader

glenableshader
draw square
gldisableshader

Gracias

Respuestas a la pregunta(1)

Su respuesta a la pregunta