#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 |