clean-up, comments
This commit is contained in:
parent
13aa51de41
commit
985e37eedb
|
@ -27,11 +27,6 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <GL/glut.h>
|
#include <GL/glut.h>
|
||||||
|
|
||||||
|
|
||||||
#define CI_OFFSET_1 16
|
|
||||||
#define CI_OFFSET_2 32
|
|
||||||
|
|
||||||
|
|
||||||
GLenum doubleBuffer;
|
GLenum doubleBuffer;
|
||||||
|
|
||||||
static void Init(void)
|
static void Init(void)
|
||||||
|
@ -45,7 +40,6 @@ static void Init(void)
|
||||||
|
|
||||||
static void Reshape(int width, int height)
|
static void Reshape(int width, int height)
|
||||||
{
|
{
|
||||||
|
|
||||||
glViewport(0, 0, (GLint)width, (GLint)height);
|
glViewport(0, 0, (GLint)width, (GLint)height);
|
||||||
|
|
||||||
glMatrixMode(GL_PROJECTION);
|
glMatrixMode(GL_PROJECTION);
|
||||||
|
@ -56,7 +50,6 @@ static void Reshape(int width, int height)
|
||||||
|
|
||||||
static void Key(unsigned char key, int x, int y)
|
static void Key(unsigned char key, int x, int y)
|
||||||
{
|
{
|
||||||
|
|
||||||
switch (key) {
|
switch (key) {
|
||||||
case 27:
|
case 27:
|
||||||
exit(1);
|
exit(1);
|
||||||
|
@ -75,7 +68,6 @@ static void quad( float half )
|
||||||
glVertex3f(-half/9.0, half/9.0, -25.0 - half);
|
glVertex3f(-half/9.0, half/9.0, -25.0 - half);
|
||||||
glVertex3f(-half/9.0, -half/9.0, -25.0 - half);
|
glVertex3f(-half/9.0, -half/9.0, -25.0 - half);
|
||||||
glEnd();
|
glEnd();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void Draw(void)
|
static void Draw(void)
|
||||||
|
@ -83,27 +75,24 @@ static void Draw(void)
|
||||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||||
glEnable(GL_DEPTH_TEST);
|
glEnable(GL_DEPTH_TEST);
|
||||||
|
|
||||||
|
/* red: offset back */
|
||||||
|
|
||||||
glEnable(GL_POLYGON_OFFSET_FILL);
|
glEnable(GL_POLYGON_OFFSET_FILL);
|
||||||
glPolygonOffset(1, 0);
|
glPolygonOffset(1, 0);
|
||||||
|
|
||||||
glColor3f(1,0,0);
|
glColor3f(1,0,0);
|
||||||
quad(9);
|
quad(9);
|
||||||
|
|
||||||
|
/* green: no offset */
|
||||||
glDisable(GL_POLYGON_OFFSET_FILL);
|
glDisable(GL_POLYGON_OFFSET_FILL);
|
||||||
glColor3f(0,1,0);
|
glColor3f(0,1,0);
|
||||||
quad(6);
|
quad(6);
|
||||||
|
|
||||||
|
/* black: offset zero, should not be visible because of z test */
|
||||||
glEnable(GL_POLYGON_OFFSET_FILL);
|
glEnable(GL_POLYGON_OFFSET_FILL);
|
||||||
glPolygonOffset(0, 0);
|
glPolygonOffset(0, 0);
|
||||||
|
|
||||||
/* Black - should not be visible
|
|
||||||
*/
|
|
||||||
glColor3f(0,0,0);
|
glColor3f(0,0,0);
|
||||||
quad(6);
|
quad(6);
|
||||||
|
|
||||||
|
/* blue: offset forward */
|
||||||
glEnable(GL_POLYGON_OFFSET_FILL);
|
glEnable(GL_POLYGON_OFFSET_FILL);
|
||||||
glPolygonOffset(-1, 0);
|
glPolygonOffset(-1, 0);
|
||||||
glColor3f(0,0,1);
|
glColor3f(0,0,1);
|
||||||
|
@ -163,5 +152,5 @@ int main(int argc, char **argv)
|
||||||
glutKeyboardFunc(Key);
|
glutKeyboardFunc(Key);
|
||||||
glutDisplayFunc(Draw);
|
glutDisplayFunc(Draw);
|
||||||
glutMainLoop();
|
glutMainLoop();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,11 +27,6 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <GL/glut.h>
|
#include <GL/glut.h>
|
||||||
|
|
||||||
|
|
||||||
#define CI_OFFSET_1 16
|
|
||||||
#define CI_OFFSET_2 32
|
|
||||||
|
|
||||||
|
|
||||||
GLenum doubleBuffer;
|
GLenum doubleBuffer;
|
||||||
|
|
||||||
static void Init(void)
|
static void Init(void)
|
||||||
|
@ -45,7 +40,6 @@ static void Init(void)
|
||||||
|
|
||||||
static void Reshape(int width, int height)
|
static void Reshape(int width, int height)
|
||||||
{
|
{
|
||||||
|
|
||||||
glViewport(0, 0, (GLint)width, (GLint)height);
|
glViewport(0, 0, (GLint)width, (GLint)height);
|
||||||
|
|
||||||
glMatrixMode(GL_PROJECTION);
|
glMatrixMode(GL_PROJECTION);
|
||||||
|
@ -56,7 +50,6 @@ static void Reshape(int width, int height)
|
||||||
|
|
||||||
static void Key(unsigned char key, int x, int y)
|
static void Key(unsigned char key, int x, int y)
|
||||||
{
|
{
|
||||||
|
|
||||||
switch (key) {
|
switch (key) {
|
||||||
case 27:
|
case 27:
|
||||||
exit(1);
|
exit(1);
|
||||||
|
@ -75,7 +68,6 @@ static void quad( float half )
|
||||||
glVertex3f(-half/9.0, half/9.0, -25.0 - half);
|
glVertex3f(-half/9.0, half/9.0, -25.0 - half);
|
||||||
glVertex3f(-half/9.0, -half/9.0, -25.0 - half);
|
glVertex3f(-half/9.0, -half/9.0, -25.0 - half);
|
||||||
glEnd();
|
glEnd();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void Draw(void)
|
static void Draw(void)
|
||||||
|
@ -83,27 +75,34 @@ static void Draw(void)
|
||||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||||
glEnable(GL_DEPTH_TEST);
|
glEnable(GL_DEPTH_TEST);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Because of clamping, the Z values of the first polygon may
|
||||||
|
* be 1.0 (the same as the clear value) so nothing would be
|
||||||
|
* drawn if the depth func is GL_LESS. Set it to GL_LEQUAL
|
||||||
|
* so we can see polygons with Z==1.
|
||||||
|
*/
|
||||||
|
glDepthFunc(GL_LEQUAL);
|
||||||
|
|
||||||
|
/* red: offset back */
|
||||||
glEnable(GL_POLYGON_OFFSET_FILL);
|
glEnable(GL_POLYGON_OFFSET_FILL);
|
||||||
glPolygonOffset(0, 4);
|
glPolygonOffset(0, 4);
|
||||||
|
|
||||||
glColor3f(1,0,0);
|
glColor3f(1,0,0);
|
||||||
quad(9);
|
quad(9);
|
||||||
|
|
||||||
|
/* black: no offset */
|
||||||
glDisable(GL_POLYGON_OFFSET_FILL);
|
glDisable(GL_POLYGON_OFFSET_FILL);
|
||||||
glColor3f(0,0,0);
|
glColor3f(0,0,0);
|
||||||
quad(6);
|
quad(6);
|
||||||
|
|
||||||
|
/* green: offset 0 (this should obscure the black quad) */
|
||||||
glEnable(GL_POLYGON_OFFSET_FILL);
|
glEnable(GL_POLYGON_OFFSET_FILL);
|
||||||
glPolygonOffset(0, 0);
|
glPolygonOffset(0, 0);
|
||||||
|
|
||||||
glDepthFunc( GL_EQUAL );
|
glDepthFunc( GL_EQUAL );
|
||||||
glColor3f(0,1,0);
|
glColor3f(0,1,0);
|
||||||
quad(6);
|
quad(6);
|
||||||
|
|
||||||
|
/* blue: offset forward */
|
||||||
glDepthFunc( GL_LESS );
|
glDepthFunc( GL_LESS );
|
||||||
|
|
||||||
|
|
||||||
glPolygonOffset(0, -4);
|
glPolygonOffset(0, -4);
|
||||||
glColor3f(0,0,1);
|
glColor3f(0,0,1);
|
||||||
quad(3);
|
quad(3);
|
||||||
|
@ -162,5 +161,5 @@ int main(int argc, char **argv)
|
||||||
glutKeyboardFunc(Key);
|
glutKeyboardFunc(Key);
|
||||||
glutDisplayFunc(Draw);
|
glutDisplayFunc(Draw);
|
||||||
glutMainLoop();
|
glutMainLoop();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue