#pragma comment(lib, "glew32.lib") //p8
#pragma comment(lib, "OpenGL32.lib")
#pragma comment(lib, "glu32.lib")
#pragma comment(lib, "glaux.lib")
#include <stdio.h>
#include <stdlib.h>
#include <GL/glew.h>
#include <GL/glut.h>

void myDisplay(void)
{
 glClearColor(1.0, 1.0, 1.0, 1.0);
 glMatrixMode(GL_PROJECTION);
 glLoadIdentity();
 gluOrtho2D(0.0, 400.0, 0.0, 400.0);
 GLubyte fillPattern[] = {
  0xff, 0xfc, 0x3f, 0xff, 0xff, 0xfc, 0x3f, 0xff,
  0xff, 0xfc, 0x3f, 0xff, 0xff, 0xfc, 0x3f, 0xff,
  0xff, 0xfc, 0x3f, 0xff, 0xff, 0xfc, 0x3f, 0xff,
  0xff, 0xfc, 0x3f, 0xff, 0xff, 0xfc, 0x3f, 0xff,
  0xff, 0xfc, 0x3f, 0xff, 0xff, 0xfc, 0x3f, 0xff,
  0xff, 0xfc, 0x3f, 0xff, 0xff, 0xfc, 0x3f, 0xff,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 };
 
 glClear(GL_COLOR_BUFFER_BIT);
 glEnable(GL_LINE_STIPPLE);
 glPolygonStipple(fillPattern);
 glPolygonMode(GL_FRONT, GL_FILL);
 glBegin(GL_POLYGON);
 glColor3f(0, 0, 1); glVertex2i(100, 200);
 glColor3f(0, 1, 1); glVertex2i(50, 50);
 glColor3f(0, 1, 0); glVertex2i(350, 50);
 glColor3f(1, 0, 0); glVertex2i(250, 250);
 glEnd();
 glFlush();
}
int main(int argc, char** argv)
{
 glutInit(&argc, argv);
 glutInitDisplayMode(GLUT_RGB);
 glutInitWindowSize(500, 500);
 glutCreateWindow("My window");
 glutDisplayFunc(myDisplay);
 glutMainLoop();
 return 0;
}


/*

#include <gl/glut.h> //p7
void myDisplay(void)
{
 glClearColor(1.0, 1.0, 1.0, 1.0);
 glMatrixMode(GL_PROJECTION);
 glLoadIdentity();
 gluOrtho2D(0.0, 400.0, 0.0, 400.0);
 GLubyte fillPattern[] = {
  0xff, 0xfc, 0x3f, 0xff, 0xff, 0xfc, 0x3f, 0xff,
  0xff, 0xfc, 0x3f, 0xff, 0xff, 0xfc, 0x3f, 0xff,
  0xff, 0xfc, 0x3f, 0xff, 0xff, 0xfc, 0x3f, 0xff,
  0xff, 0xfc, 0x3f, 0xff, 0xff, 0xfc, 0x3f, 0xff,
  0xff, 0xfc, 0x3f, 0xff, 0xff, 0xfc, 0x3f, 0xff,
  0xff, 0xfc, 0x3f, 0xff, 0xff, 0xfc, 0x3f, 0xff,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 };
 
 glClear(GL_COLOR_BUFFER_BIT);
 glEnable(GL_POLYGON_STIPPLE);
 glPolygonStipple(fillPattern);
 glPolygonMode(GL_FRONT, GL_FILL);

 glBegin(GL_POLYGON);
 glColor3f(0, 0, 1); glVertex2i(100, 200);
 glColor3f(0, 1, 1); glVertex2i(50, 50);
 glColor3f(0, 1, 0); glVertex2i(350, 50);
 glColor3f(1, 0, 0); glVertex2i(250, 250);
 glEnd();
 
 glBegin(GL_POLYGON); 
 glColor3f(0.6, 0.3, 0.7); glVertex2i(40,40);
 glColor3f(0.6, 0, 0); glVertex2i(160,40);
 glColor3f(0, 0, 0.5); glVertex2i(160,110);
 glColor3f(0.4, 0.7, 0); glVertex2i(40,110); 
 glEnd();

 glFlush();
}
int main(int argc, char** argv)
{
 glutInit(&argc, argv);
 glutInitDisplayMode(GLUT_RGB);
 glutInitWindowSize(500, 500);
 glutCreateWindow("My window");
 glutDisplayFunc(myDisplay);
 glutMainLoop();
 return 0;
}
*/
/*
#include <gl/glut.h> //p6
void myDisplay(void)
{
 glClear(GL_COLOR_BUFFER_BIT);
 glClearColor(1.0f, 1.0f, 1.0f, 0.0f);
 GLint p[4][2] = { {0, 0}, {75, 110}, {100, 66}, {30, 80} };
 glLineWidth(8);
 glMatrixMode(GL_PROJECTION);
 glLoadIdentity();
 gluOrtho2D(-200.0, 200.0, -200.0, 200.0);
// glEnable(GL_LINE_SMOOTH);
 glEnable(GL_LINE_STIPPLE);
// glLineStipple(3, 0xff80);
 glLineStipple(1, 0xaa80);
 glBegin(GL_LINE_STRIP);
 glColor3f(1.0, 1.0, 0.0); glVertex2iv(p[0]);
 glColor3f(1.0, 0.0, 0.0); glVertex2iv(p[1]);
 glColor3f(0.0, 1.0, 0.0); glVertex2iv(p[2]);
 glColor3f(0.0, 0.0, 1.0); glVertex2iv(p[3]);
 glEnd();
 glFlush();
}
int main(int argc, char** argv)
{
 glutInit(&argc, argv);
 glutInitDisplayMode(GLUT_RGBA);
 glutInitWindowSize(400, 400);
 glutCreateWindow("novice");
 glutDisplayFunc(myDisplay);
 glutMainLoop();
 return 0;
}
*/
/*
#include <gl/glut.h> //p5
void myDisplay(void)
{
// glViewport(200, 200, 200, 200);
 glClear(GL_COLOR_BUFFER_BIT);
 glClearColor(1.0f, 1.0f, 1.0f, 0.0f);
 GLint p[4][2] = { {0, 0}, {75, 110}, {100, 66}, {30, 80} };
 glLineWidth(15);
 glMatrixMode(GL_PROJECTION);
 glLoadIdentity();
 gluOrtho2D(-200.0, 200.0, -200.0, 200.0);
// gluOrtho2D(0.0, 200.0, 0.0, 200.0);
// gluOrtho2D(0.0, 400.0, 0.0, 400.0);
 glBegin(GL_LINE_STRIP);
 glColor3f(1.0, 1.0, 0.0); glVertex2iv(p[0]);
 glColor3f(1.0, 0.0, 0.0); glVertex2iv(p[1]);
 glColor3f(0.0, 1.0, 0.0); glVertex2iv(p[2]);
 glColor3f(0.0, 0.0, 1.0); glVertex2iv(p[3]);
 glEnd();
 glFlush();
}
int main(int argc, char** argv)
{
 glutInit(&argc, argv);
 glutInitDisplayMode(GLUT_RGBA);
 glutInitWindowSize(400, 400);
 glutCreateWindow("OpenGL Hello World! ");
 glutDisplayFunc(myDisplay);
 glutMainLoop();
 return 0;
}
*/
/*
#include <gl/glut.h> //p4
void myDisplay(void)
{
 glViewport(200, 200, 300, 300);
 glClear(GL_COLOR_BUFFER_BIT);
 glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
 glColor4f(1.0, 0.0, 1.0, 1.0);
 glMatrixMode(GL_PROJECTION);
 glLoadIdentity();
 gluOrtho2D(0.0, 300.0, 0.0, 300.0);
 int k;
 glPointSize(5);
 glBegin(GL_POINTS);
 for(k=0; k<300; k++)
 {
   glVertex2i( 150, k);
 }
 glEnd();
 glFlush();
}
int main(int argc, char** argv)
{
 glutInit(&argc, argv);
 glutInitDisplayMode(GLUT_RGBA);
 glutInitWindowSize(500, 500);
 glutCreateWindow("fertile");
 glutDisplayFunc(myDisplay);
 glutMainLoop();
 return 0;
}
*/
/*
#include <gl/glut.h> //p3
void myDisplay(void)
{
 //glViewport(200, 200, 200, 200);
 glMatrixMode(GL_PROJECTION);
 glLoadIdentity();
 gluOrtho2D(0.0, 200.0, 0.0, 150.0);
 glClear(GL_COLOR_BUFFER_BIT);
 glClearColor(1.0f, 1.0f, 1.0f, 0.0f);
 glColor3f(1.0, 0.0, 0.0);
 glBegin(GL_TRIANGLES);
 glColor3f(1.0, 1.0, 0.0); glVertex3i( 150, 50, 0);
 glColor3f(1.0, 0.0, 0.0); glVertex3i( 50, 100, 0);
 glColor3f(0.0, 0.0, 1.0); glVertex3i( 0, 0, 0);
 glEnd();
 glFlush();
}
void main(int argc, char** argv)
{
 glutInit(&argc, argv);
 glutInitDisplayMode(GLUT_RGB);
 glutInitWindowSize(400, 400);
 glutCreateWindow("futile");
 glutDisplayFunc(myDisplay);
 glutMainLoop();
}
*/
/*
#include <gl/glut.h> //p2
void myDisplay(void)
{
 glMatrixMode(GL_PROJECTION);
 glLoadIdentity();
 glViewport(300, 300, 300, 300);
 gluOrtho2D(-1, 1, -1, 1);
 glClear(GL_COLOR_BUFFER_BIT);
 glClearColor(1.0f, 1.0f, 1.0f, 0.0f);
 glColor3f(1.0, 0.0, 0.0);
 glBegin(GL_TRIANGLES);
 glVertex2f(-0.5, -0.5);
 glVertex2f( 0.5, -0.5);
 glVertex2f( 1.0,  1.0);
 glEnd();
 glFlush();
}
void main(int argc, char** argv)
{
 glutInit(&argc, argv);
 glutInitWindowSize(600, 600);
 glutCreateWindow("resilient");
 glutDisplayFunc(myDisplay);
 glutMainLoop();
}
*/

 

/*
#include <stdlib.h>
#include <GL/glut.h>
void MyDisplay(){
 glClearColor(100,100,0,0);
 
 glClear(GL_COLOR_BUFFER_BIT);
 glMatrixMode(GL_PROJECTION);
 glLoadIdentity();
 gluOrtho2D(-100.0, 100.0, -100.0, 100.0);

 glViewport(0,0,300,300);
 glColor3f(0,0,1);
 glRectf(0.0, 0.0, 50.0, 30.0);

 glViewport(300,300,300,300);
 glColor3f(0,0,1);
 glRectf(0.0, 0.0, 30.0, 50.0);

 glViewport(0, 300, 150, 150);
 glColor3f(1,0,0);
 glRectf(0.0, 0.0, 30.0, 50.0);

 glutSwapBuffers();//GLUT_DOUBLE 아무것도 안나옴. buffer써야함.

 //glFlush();
}
void GNU_Keyboard(unsigned char key, int x, int y){
 if(key==27) exit(0);
}
int main(int argc, char **argv) {
 glutInit(&argc, argv);
 glutInitDisplayMode(GLUT_RGB|GLUT_DOUBLE);
 glutInitWindowSize(600,600);
 glutCreateWindow("patience");
 glutDisplayFunc(MyDisplay);
 glutKeyboardFunc(GNU_Keyboard);
 glutMainLoop();
 return 0;
}
*/
#include <GL/glut.h>
void MyDisplay(){
 glClearColor(1.0,1.0,1.0,1.0);
 glClear(GL_COLOR_BUFFER_BIT);
 glColor3f(0.0,0.0,1.0);
 glutWireTeapot(0.5);

 glFlush();
}
void GNU_Keyboard(unsigned char key, int x, int y){
 if(key==27) exit(0);
}
int main(int argc, char **argv) {
 glutInit(&argc, argv);
 glutInitDisplayMode(GLUT_RGBA);
 glutInitWindowSize(1280,1024);
 glutCreateWindow("Futile");
 glutDisplayFunc(MyDisplay);
 glutKeyboardFunc(GNU_Keyboard);
 glutMainLoop();
 return 0;
}

반응형

'대학 수강과목 > 컴퓨터그래픽스' 카테고리의 다른 글

[CG]11/26 실습  (0) 2014.11.26
[CG]11/19 실습  (0) 2014.11.19
[CG] 11/05 실습  (0) 2014.11.05
[CG] 10/29 실습  (0) 2014.10.29
[CG] 10/07 실습  (0) 2014.10.07

+ Recent posts