Всем добрый день.
Знает ли кто как в TaoFramework сделать сглаживание как в уроке 46 от NEHE?


Всем привет.
Сталкнулся с такой траблой: не хочет работать stencil. Вроде все правильно делаю.

Инициализация
private void InitGL()
       {
           float[] pos = { 3, 3, 3, 1 };
           float[] dir = { -1, -1, -1 };

           float[] mat_specular = { 1, 1, 1, 1 };

           Gl.glEnable(Gl.GL_DEPTH_TEST);

           Gl.glEnable(Gl.GL_COLOR_MATERIAL);

           Gl.glEnable(Gl.GL_LIGHTING);
           Gl.glEnable(Gl.GL_LIGHT0);

           Gl.glLightfv(Gl.GL_LIGHT0, Gl.GL_POSITION, pos);
           Gl.glLightfv(Gl.GL_LIGHT0, Gl.GL_SPOT_DIRECTION, dir);

           Gl.glMaterialfv(Gl.GL_FRONT, Gl.GL_SPECULAR, mat_specular);
           Gl.glMaterialf(Gl.GL_FRONT, Gl.GL_SHININESS, 128.0f);

           Glut.glutInit();

           ResizeGL();    
       }


private void ResizeGL()
       {
           Gl.glViewport(0, 0, OGLC.Width, OGLC.Height);
           Gl.glMatrixMode(Gl.GL_PROJECTION);
           Gl.glLoadIdentity();
           Gl.glOrtho(-5, 5, -5, 5, 2, 12);
           
           Gl.glMatrixMode(Gl.GL_MODELVIEW);
       }


private void Display()
       {
           

           Gl.glClear(Gl.GL_COLOR_BUFFER_BIT | Gl.GL_DEPTH_BUFFER_BIT | Gl.GL_STENCIL_BUFFER_BIT);
           Gl.glLoadIdentity();
           Glu.gluLookAt(0, 0, 5, 0, 0, 0, 0, 1, 0);

           // вращаем сцену
           Gl.glRotated(45, 1, 0, 0);
           Gl.glRotated(45, 0, 1, 0);
           Gl.glRotated(45, 0, 0, 1);

           // разрешаем тест трафарета
           Gl.glEnable(Gl.GL_STENCIL_TEST);

           // рисуем куб и заполняем буффер трафарета единицами
           // в том месте, где рисуется куб
           Gl.glStencilFunc(Gl.GL_ALWAYS, 1, 0);
           Gl.glStencilOp(Gl.GL_KEEP, Gl.GL_KEEP, Gl.GL_REPLACE);
           Glut.glutSolidCube(2.5);
           
           // заполняем буффер трафарета двойками
           // в том месте, где сфера закрывает куб
           Gl.glStencilFunc(Gl.GL_ALWAYS, 2, 0);
           Gl.glStencilOp(Gl.GL_KEEP, Gl.GL_KEEP, Gl.GL_REPLACE);
           Glut.glutSolidSphere(1.5, 20, 20);

           // очищаем буфферы цвета и глубины
           Gl.glClear(Gl.GL_COLOR_BUFFER_BIT | Gl.GL_DEPTH_BUFFER_BIT);
           Gl.glStencilFunc(Gl.GL_EQUAL, 2, 255);
           Gl.glColor3d(1, 1, 1);
           Glut.glutSolidCube(2.5);

           OGLC.Invalidate();
       }

OGLC - сам элемент


^