OpenGL в Delphi

       

Если на сцене присутствует




На Рисунок 4. 31 изображен снимок работы программы из подкаталога Ex51 оба объекта стали действительно полупрозрачны при любых положениях в пространстве.
Решение состоит в том, чтобы согласовать содержимое буфера смешения и буфера глубины, первым нужно воспроизводить наиболее удаленный объект

glEnable(GL_BLEND);
glEnable(GL_CULL_FACE);
If Angle < 180 then begin
// сфера за конусом, первой воспроизводим сферу
glCullFace(GL_FRONT); // вначале задние стороны
draw_sphere(Angle + 45. 0);
draw_cone;
glCullFace(GL_BACK); // затем передние
draw__sphere(Angle + 45. 0);
draw_cone();
end
else begin
// конус за сферой, первым воспроизводим конус
glCullFace(GL_FRONT); // вначале задние стороны
draw_cone();
draw_sphere(Angle + 45. 0);
glCullFace(GL_BACK); // затем передние
draw_cone();
draw_sphere(Angle + 45. 0);
end;
glDlsable(GL_CULL_FACE);
glDisable(GL_BLEND);

Рисунок 4 32 демонстрирует работу еще одного красивого примера, проекта из подкаталога Ex53



Содержание раздела