Source code ¶
주석은 차후에 다시
#include <gl\freeglut.h> void Line() { glLineWidth(5); glColor3f(0, 0, 0); glBegin(GL_LINES); glVertex2f(-1.0, 1.0); glVertex2f(1.0, -1.0); glEnd(); } void Square() { glColor3f(1, 0, 0); glBegin(GL_LINE_LOOP); glVertex2f(-0.7, 0.7); glVertex2f(-0.7, 0.2); glVertex2f(-0.2, 0.2); glVertex2f(-0.2, 0.7); glEnd(); } void display() { glClearColor(1, 1, 1, 1); glClear(GL_COLOR_BUFFER_BIT); Line(); Square(); glFlush(); } int main(int argc, char**argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutInitWindowSize(600, 600); glutInitWindowPosition(200, 200); glutCreateWindow("Homework0_1"); glutDisplayFunc(display); glutMainLoop(); return 0; }
#include <gl\freeglut.h> #include <diging.h> float speed = 0; void Rec(float locationX, float locationY, float size) { vec2 rec[4] = { { -size + locationX, size + locationY }, { size + locationX, size + locationY }, { size + locationX, -size + locationY }, { -size + locationX, -size + locationY } }; glBegin(GL_QUADS); for (int i = 0; i < 4;i++) glVertex2fv(rec[i]); glEnd(); } void idle() { speed += 0.0005; glutPostRedisplay(); } void display() { glClearColor(0.5, 0.5, 0.5, 0.5); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); mat4 m(1.0); glMatrixMode(GL_MODELVIEW); glLoadMatrixf(matrix_to_float(m)); m *= Translate(speed, 0.0, 0.0); glPushMatrix(); glLoadMatrixf(matrix_to_float(m)); glColor3f(1, 1, 1); Rec(-1.0, 0.2, 0.2); m *= Translate(speed, 0.0, 0.0); glPushMatrix(); glLoadMatrixf(matrix_to_float(m)); glColor3f(0, 0, 0); Rec(-1.0, -0.2, 0.2); glutSwapBuffers(); } int main(int argc, char**argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB); glutInitWindowPosition(200, 200); glutInitWindowSize(600, 600); glutCreateWindow("Homework2-1"); glutIdleFunc(idle); glutDisplayFunc(display); glutMainLoop(); return 0; }
#include <gl\freeglut.h>
#include <math.h>
#include <math.h>
#define Round 0.2
#define PI 3.145926
#define radi2theta(x) x*PI/180.0
#define PI 3.145926
#define radi2theta(x) x*PI/180.0
void cycle(float x, float y, float r, float g, float b)
{
{
float dx = 0, dy = 0;
glColor3f(r, g, b);
glBegin(GL_POLYGON);
for (float i = 0; i < 360; i += 0.01)
{
glEnd();
}glColor3f(r, g, b);
glBegin(GL_POLYGON);
for (float i = 0; i < 360; i += 0.01)
{
dx = Round*cos(radi2theta(i));
dy = Round*sin(radi2theta(i));
glVertex2f(x + dx, y + dy);
}dy = Round*sin(radi2theta(i));
glVertex2f(x + dx, y + dy);
glEnd();
void display()
{
{
glClearColor(1.0, 1.0, 1.0, 1.0);
glClear(GL_COLOR_BUFFER_BIT);
cycle(-0.7, 0.7, 1, 0, 0);
cycle(-0.25, 0.7, 0, 1, 0);
cycle(0.2, 0.7, 0, 0, 1);
glFlush();
}glClear(GL_COLOR_BUFFER_BIT);
cycle(-0.7, 0.7, 1, 0, 0);
cycle(-0.25, 0.7, 0, 1, 0);
cycle(0.2, 0.7, 0, 0, 1);
glFlush();
int main(int argc, char** argv)
{
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(600, 600);
glutInitWindowPosition(200, 200);
glutCreateWindow("Homework0_3");
glutDisplayFunc(display);
glutMainLoop();
return 0;
}glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(600, 600);
glutInitWindowPosition(200, 200);
glutCreateWindow("Homework0_3");
glutDisplayFunc(display);
glutMainLoop();
return 0;