Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Gráficos (https://www.clubdelphi.com/foros/forumdisplay.php?f=8)
-   -   problemas con STENCIL TEST (https://www.clubdelphi.com/foros/showthread.php?t=91891)

FENIXadr 28-05-2017 04:00:24

problemas con STENCIL TEST
 
Hola gente tengo un problema con el STENCIL TEST de OpenGL. La idea es seleccionar objetos con el Mouse, con lo cual dibujo una mascara de los objetos y si hago click en la mascara por ende estoy haciendo click en el objeto.
En realidad el problema se genera en la función glStencilOp .

Este es el código del Stencil Test :

Código Delphi [-]
    glClearStencil(0);
    glClear(GL_STENCIL_BUFFER_BIT);

    glEnable(GL_STENCIL_TEST);

    glStencilFunc(GL_ALWAYS, 1, 255);
    glStencilOp(GL_KEEP, GL_KEEP, GL_REPLACE);

    RenderObject;

    glDisable(GL_STENCIL_TEST);

como ven estoy diciéndole por medio de glStencilOp que :

* cuando falle el STENCIL TEST, deje el Byte como esta.. (GL_KEEP)
* cuando falle el DEPTH TEST pero pase el STENCIL TEST también, que deje el Byte como esta .. (GL_KEEP)
* cuando pase el DEPTH TEST y el STENCIL TEST, que reemplace el valor del Byte.. (GL_REPLACE)

de esta manera el STENCIL BUFFER queda todo con "0" o sea borrado y esto se debe a que no pasa el DEPTH TEST..

Si yo tengo una sola figura como puede ser que no pase su propio test de profundidad..

Si en el segundo parámetro pongo GL_REPLACE o sea fallando el DEPTH TEST y pasando el STENCIL TEST, entonces funciona, tengo una mascara de la figura correctamente ... pero si no respeto el test de profundidad cuando tengo mas figuras no sabe cual esta adelante..

Alguna idea de que puede estar pasando?


Desde ya Muchas Gracias..


La franja horaria es GMT +2. Ahora son las 03:54:51.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi