Main page   Download   Documentation   Coding   Site Map   Forum     Links   About
[an error occurred while processing this directive]

Chapter 4
Полезные и бесполезные мелочи

4.6  Плоскости отсечения

     Если вам требуется нарисовать сферу или любой другой объект урезанным, то плоскости отсечения это то, что вам надо. Плоскостей отсечения может быть шесть штук. По умолчанию они все запрещены. Плоскость отсечения включается командой glEnable(GL_CLIP_PLANE0). Ноль на конце GL_CLIP_PLANE означает нулевую плоскость; можно указать один, два, три и т.д. Сама плоскость устанавливается функцией glClipPlane. Первый аргумент этой функции - это плоскость, второй - это массив из четырех элементов, в котором хранятся коэффициенты уравнения плоскости. Для тех, кто не помнит уравнения плоскости в трехмерном пространстве, напоминаю: A*x+B*y+C*z+D = 0. Вот эти самые A,B,C,D и являются теми четырьмя коэффициентами. Создайте новый проект с именем ClipPlane и отредактируйте функцию display, как показано ниже.

void CALLBACK display(void)
{
GLdouble equation[4] = {-1,-0.25,0,2};
 glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );

 glEnable(GL_CLIP_PLANE0);
 glClipPlane(GL_CLIP_PLANE0, equation); 
 
    glColor3d(1,0,0);
    auxSolidSphere( 3 );

 glDisable(GL_CLIP_PLANE0);
 
  auxSwapBuffers();
}


Исходный файл смотрите здесь. Исполняемый файл здесь.


[an error occurred while processing this directive]
© 1999-2000 Создание сайта «Веб-студия ITSoft»