Stencil буфер

Всем привет.
Сталкнулся с такой траблой: не хочет работать 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 - сам элемент
0       1260        10.06.2011        2

0  
09.07.2011 00:00:00
Скинь весь проект на файлообменик и кинь сюда ссылку, а то с c# давно не работаю в падлу проект создавать.
0  
15.09.2011 00:00:00
Дело скорее всего не в коде, а в компоненте simpleOpenGlControl. Нужно в настройках инструмента (категория OpenGL Properties) Stencil Bits переправить с 0 на 8 бит.
^