sangala
07-16-2002, 03:19 AM
Is possible use the StencilBuffer in glRenderMode(GL_SELECT) ??? -- I think no.
If I use this code (for check):
--------------
glRenderMode(GL_RENDER);
gluPickMatrix(for full view);
glOrtho ....
glEnable(GL_STENCIL_TEST);
glClear(GL_STENCIL_BUFFER_BIT);
glStencilFunc(GL_ALWAYS,1,1);
glStencilOp(GL_REPLACE,GL_REPLACE,GL_REPLACE);
DrawPolygonSelect();//Drawing some select
polygon
glStencilFunc(GL_EQUAL,1,1);
glStencilOp(GL_KEEP,GL_KEEP,GL_KEEP);
DrawScene();//drawing scene
glFinish();
SwapBuffer();
------------------------
I can see corect,- only the elements included in polygon.
But if I use this code:
-------------------------
glRenderMode(GL_RENDER);
gluPickMatrix(for full view);
glOrtho ....
glEnable(GL_STENCIL_TEST);
glClear(GL_STENCIL_BUFFER_BIT);
glStencilFunc(GL_ALWAYS,1,1);
glStencilOp(GL_REPLACE,GL_REPLACE,GL_REPLACE);
DrawPolygonSelect();//Drawing some select
polygon
glStencilFunc(GL_EQUAL,1,1);
glStencilOp(GL_KEEP,GL_KEEP,GL_KEEP);
glSelectBuffer(xxx,SelectBuffer);
glRenderMode(GL_SELECT);
DrawSceneSelect();//included glLoadName etc.
found = glRenderMode(GL_RENDER);
---------------------
in SelectBuffer is all elements from view. Stencil buffer is not used.
Where is my mistake ??? Help me !
Thanks
If I use this code (for check):
--------------
glRenderMode(GL_RENDER);
gluPickMatrix(for full view);
glOrtho ....
glEnable(GL_STENCIL_TEST);
glClear(GL_STENCIL_BUFFER_BIT);
glStencilFunc(GL_ALWAYS,1,1);
glStencilOp(GL_REPLACE,GL_REPLACE,GL_REPLACE);
DrawPolygonSelect();//Drawing some select
polygon
glStencilFunc(GL_EQUAL,1,1);
glStencilOp(GL_KEEP,GL_KEEP,GL_KEEP);
DrawScene();//drawing scene
glFinish();
SwapBuffer();
------------------------
I can see corect,- only the elements included in polygon.
But if I use this code:
-------------------------
glRenderMode(GL_RENDER);
gluPickMatrix(for full view);
glOrtho ....
glEnable(GL_STENCIL_TEST);
glClear(GL_STENCIL_BUFFER_BIT);
glStencilFunc(GL_ALWAYS,1,1);
glStencilOp(GL_REPLACE,GL_REPLACE,GL_REPLACE);
DrawPolygonSelect();//Drawing some select
polygon
glStencilFunc(GL_EQUAL,1,1);
glStencilOp(GL_KEEP,GL_KEEP,GL_KEEP);
glSelectBuffer(xxx,SelectBuffer);
glRenderMode(GL_SELECT);
DrawSceneSelect();//included glLoadName etc.
found = glRenderMode(GL_RENDER);
---------------------
in SelectBuffer is all elements from view. Stencil buffer is not used.
Where is my mistake ??? Help me !
Thanks