OpenGL
Как реализуется прозрачность объектов в OpenGL ?
Прозрачность достигается с помощью смешения цветов (alpha blending). Для этого:
Желательно, но не обязательно сортировать полигоны "от дальнего к ближнему"
При выводе прозрачных полигонов включать режим смешивания: glEnable(GL_BLEND),
Предварительно установить желаемый способ смешивания; это делается с помощью функции glBlendFunc(src, dst)
Наиболее часто используется glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA), поскольку она не требует аппаратных альфа-плоскостей; последние поддерживаются далеко не всеми видеокартами.
Разумеется, этого недостаточно для получения реалистичных стекол и воды, но общий принцип таков