Cómo eliminar recursos no utilizados de un progtwig OpenGL

Estoy tratando de crear algo así como un sistema de efectos para OpenGL, y quiero poder definir una serie de shaders en el mismo archivo. Pero descubrí el siguiente problema. Digamos que tengo dos shaders: A y B. Shader A usa texA y shader B usa texB. Luego, a pesar del hecho de que ni el sombreador A utiliza texB ni el sombreado B usa texA, ambas texturas se enumerarán en ambos progtwigs (estoy usando progtwigs separados, por lo que cada sombreador corresponde a un progtwig). Una consecuencia es que no puedo tener muchas texturas definidas en un archivo ya que el sombreador no podrá vincularse (se comstack correctamente, pero el vinculador se queja de que el número de muestreadores de textura excede el límite de HW). Otro problema es que estoy haciendo un enlace automático de recursos y mis shaders tienen muchas dependencias de recursos falsos.

Entonces, ¿hay una manera de decirle al comstackdor / enlazador del sombreador que elimine todos los recursos no utilizados del progtwig separado?

Las unidades de muestreador de sombreado no están ahí para seleccionar texturas, sino para pasar las unidades de textura al sombreador. Las texturas mismas están unidas a las unidades de textura. Por lo tanto, la selección de la textura que se debe utilizar no debe hacerse en el sombreado, sino en el progtwig host.

O podría usar texturas sin enlaces si su implementación OpenGL (= controlador GPU) las admite.