Это именно так, как говорит Матиас, но вы также должны помнить, что для того, чтобы получить «прозрачность», как предполагается, сначала должны быть нарисованы все непрозрачные примитивы в сцене, а прозрачные должны быть нарисованы вправильный порядок, от задней части Z-буфера к передней части.
Причина этого заключается в том, что OpenGL на самом деле не поддерживает прозрачность, он эмулирует ее посредством альфа-смешения, и поэтому, если новый объект рисуется за «прозрачным» примитивом после того, как он уже отрендерен,новый объект не будет виден через него.