mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 04:20:08 +01:00
press 'c' to toggle Z clear value between 0/1
This commit is contained in:
parent
8df4c3a21f
commit
83054d9297
1 changed files with 21 additions and 4 deletions
|
|
@ -56,6 +56,15 @@ static struct { GLenum func; const char *str; } funcs[] =
|
|||
#define NUM_FUNCS (sizeof(funcs) / sizeof(funcs[0]))
|
||||
|
||||
static int curFunc = 0;
|
||||
static double clearVal = 1.0;
|
||||
|
||||
|
||||
static void usage(void)
|
||||
{
|
||||
printf("t - toggle rendering order of triangles\n");
|
||||
printf("c - toggle Z clear value between 0, 1\n");
|
||||
printf("f - cycle through depth test functions\n");
|
||||
}
|
||||
|
||||
|
||||
static void init(void)
|
||||
|
|
@ -88,11 +97,13 @@ static void drawRightTriangle(void)
|
|||
|
||||
void display(void)
|
||||
{
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
|
||||
printf("GL_DEPTH_FUNC = %s\n", funcs[curFunc].str);
|
||||
printf("GL_CLEAR_DEPTH = %f GL_DEPTH_FUNC = %s\n",
|
||||
clearVal, funcs[curFunc].str);
|
||||
glClearDepth(clearVal);
|
||||
glDepthFunc(funcs[curFunc].func);
|
||||
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
|
||||
if (leftFirst) {
|
||||
drawLeftTriangle();
|
||||
drawRightTriangle();
|
||||
|
|
@ -120,6 +131,11 @@ void reshape(int w, int h)
|
|||
void keyboard(unsigned char key, int x, int y)
|
||||
{
|
||||
switch (key) {
|
||||
case 'c':
|
||||
case 'C':
|
||||
clearVal = 1.0 - clearVal;
|
||||
glutPostRedisplay();
|
||||
break;
|
||||
case 'f':
|
||||
case 'F':
|
||||
curFunc = (curFunc + 1) % NUM_FUNCS;
|
||||
|
|
@ -148,10 +164,11 @@ int main(int argc, char** argv)
|
|||
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
|
||||
glutInitWindowSize (200, 200);
|
||||
glutCreateWindow (argv[0]);
|
||||
init();
|
||||
glutReshapeFunc (reshape);
|
||||
glutKeyboardFunc (keyboard);
|
||||
glutDisplayFunc (display);
|
||||
init();
|
||||
usage();
|
||||
glutMainLoop();
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue