Всем добрый день.
Знает ли кто как в 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 - сам элемент


^
Регистрация
Регистрируясь, вы принимаете правила сайта. Если вы не получили код подтв. регистрации - не забудьте проверить папку спам.
Логин*
Email*
Пароль*
Подтверждение пароля*
 
Логин*
Код*
 
×
Восстановление пароля
Пожалуйста, заполните поля, после чего вы получите код подтверждения на ваш Email. Если код не пришел в течении нескольких минут - проверьте папку спам.
Логин

или Email
Логин*
Код подтверждения*
Новый пароль*
Подтверждение пароля*
×
Авторизация
  • Используйте вашу учетную запись на Facebook.com для входа на сайт.
  • Используйте вашу учетную запись VKontakte для входа на сайт.
  • Используйте вашу учетную запись Google для входа на сайт.
Авторизуйтесь с помощью соц. сети или с помощью аккаунта на сайте:
×