Home Map Index Search News Archives Links About LF
[Top Bar]
[Bottom
Bar]
[Photo of the
Author]
Miguel Angel Sepúlveda
���� �Ұ�: 1993�⿡ �����ϴ���(�̱�)�� �����ߴ�. ������, �̽���, �Ϻ�, �̱����� ���п��� �о߿��� ���Ѵ�. Ŀ�� 0.98����� �������� �˰� �Ǿ���. (ù���� ���ߴ�) ����� ���� �ð��� ������ ��Ŀ���� ���������� ���Ѵ�.

���ڿ��� �����ϱ�

���� ��

�����

���� �ٰ��� �׸���

����

���� ���翡��

OpenGL���α׷���:������ �ٰ��� ������

���: OpenGL���α׷��� ù ����� ������ �������۾��� ���Ͽ� �˾ƺ��ϴ�.




���� ��

�� ���� 2����/3���� �׷����� �����ǥ���� OpenGL�� ���� �������� ù��° ���̴�. ('OpenGL�̶� �����ΰ�?'��� �۵� �Բ� �ִ�.) �� ���� �д� �������� �������� C�����÷����� �̹� �ͼ��ϰ� GLUT���̺귯���� �ణ�� ������ ������ �ִٰ� �����ϰ� �����ϰڴ�.(���� ó�� ���Ѵٸ� ��������Ŀ���� "GLUT���α׷���"�̶� ���� ���� �б� �ٶ���.) ���ڴ� ���������� �����Ӱ� ����� �� �ִ� ȯ������ OpenGL�� ������ �����ִ� Mesa���̺귯���� �̿��϶�� ��õ�Ѵ�. Mesa�� �ϵ���������� �����ϴ� ��ǰ�� �̹� ������ �ִ�.(���� ���� '3Dfx �׷���ī��'�� �о��.)

���ο� OpenGL ���ɾ�� �� ����� ������ ���Ͽ� ����Ǵ� ����� �� �� ���� ���̴�. ���� �츮�� �̷��� �� ���̴�. �� ������ ���������� ������ OpenGL�� ������ ���� �ùķ��̼��� �ҽ��ڵ带 ���� �� ���̴�.

���� �����ϱ⿡ �ռ� ���� ���ڴ� �������̹Ƿ� OpenGL�� ����� ����� ��ټ��� ���� ���ڳ� ������ �ý����� �ùķ��̼��ϱ� ���� ������ ����ߴ� ����� ���� �����д�. �׷��� �׷��� ���ڰ� ���� ���� �������� �� �׷������� ġ��ģ ���� �����ʾ� �ִ� ;-) �������� �ٸ� ������ ���� �����ʹٸ� ���ڿ��� �˷��ֱ� �ٶ���.

OpenGL�� ��κ� 3���� �׷����̳� ȯ������ Ư��ȿ��, ���ǰ� ������ ����ȿ���� ���� ������ ������ ���õǾ� �ִ�. �׷��� OpenGL�� 2���� �׷����� ���������ִ� ��ɵ� �ִ�. ������ 3���� ���ù��̳� �� ������, ����ȿ��, ī�޶� ��ġ ����� ���� ���� 2�������� �� �� �ִ� �͵��߿��� �������� �˾Ƶξ�� �� ���� ���ٴ� ���� �����ؾ� �Ѵ�. ���� ����/���� �������α׷��� 2�������� �������Ǿ�����. �׷��� ������ 2���� �ִϸ��̼��� ����� ����� ���캸��� ����.

�� ���

OpenGL�� ��,��, �ٰ����� ���� ��� �������� ��Ҹ��� ������ �ִ�. �̷��� �������� ��ҵ��� �׵��������� ������� ǥ���ȴ�. �� ��(vertex)�� 2�� �Ǵ� 3���� �Ǽ������� ��Ÿ���µ�, ������ǥ������ 2���� ���� (x,y)��, 3���� ���� (x, y, z)�� ǥ���ȴ�. ������ǥ��� ���� �Ϲ����� ��ǥ���̴�. �׷��� ��ǻ�� �׷��Ⱥо߿����� 4���� �Ǽ��� (x, y, z, w)�� ǥ���Ǵ� ȣ�����Ͼ ��ǥ�迪�� ���� ���ȴ�. ���� 3���� �������� ��� �⺻ ������ ���캸�� �ٽ� �̾߱� �ϵ��� ����.

OpenGL���� ��� �������� ��ü�� ������ ������ ���� �������� �������� ǥ���DZ� ������ ������ �����ϴ� ��ƾ�� �ִ�. �� ������ ������ ����.:

void glVertex{234}{sifd}[v](TYPE coords); 

���� ���� ǥ����� �ͼ��������� �ʿ䰡 �ִ�. �߰�ȣ�� �� ����� ����ϴ� �Լ����� �Ϻ��̴�. ���� �Լ��� ��� �Ķ���ͷ� 2,3,4 �� �ϳ��� ���� �� ������ ���� short, long, float, double ���� ������ Ÿ�Ա��� ������ �� �� �ִ�. ���û������� �� �Ķ���͵��� ������������ ������ ���� �ִµ�, �� ��쿡�� v-������ ��ƾ���� ����� �� �ִ�. ���ݱ��� �̾߱��� �͵��� ������ ����� ��� ���̴�.:

void glVertex2s(1, 3);
void glVertex2i(23L, 43L);
void glVertex3f(1.0F, 1.0F, 5.87220972F);

float vector[3];
void glVertex3fv(vector);

�̷� ��� ��ƾ���� �׳� �����ϰ� glVertex*��� �θ���.

OpenGL���� ������ ������ ������ ���ǵ� ������ ������. ������ ������ glBegin(GLenum mode)�� glEnd() ���̿� ���ǵȴ�.glVertex*���� mode���� ���� �ǹ̰� �޶�����. ���� ����.:
glBegin(GL_POINTS);
glVertex2f(0.0, 0.0);
glVertex2f(1.0, 0.0);
glVertex2f(0.0, 1.0);
glVertex2f(1.0, 1.0);
glVertex2f(0.5, 0.5);
glEnd();

2���� ��ǥ�迡 5���� ���� �׸��� ���̴�. GL_POINTS�� OpenGL�� ��������� <GL/gl.h>.�� ���ǵ� ǥ������ �ϳ��̴�. �̿��� �� �ִ� ��尡 ������ ���⼭�� �ʿ��� ����鸸 ���캸��� �Ѵ�.

�� ������ OpenGL�� ���º����� ������ۿ� �ش��ϴ� ������ �׷�����. ���� ������ �ٲٷ��� glColor*���� ��ƾ�� ����ϸ� �ȴ�; ������ �����ϰ� �ٷ�� ����� ���� �� ���� ������ �� ������ �ٸ� ��翡�� �ٷ� ���̴�. ������ ���캸�� 0.0���� 1.0������ �ε����Ǽ� 3���� �̿��Ͽ� RGB(����-���-û��;Red-Green-Blue) ���ڵ������ ǥ���� �� �ִ�.;
glColor3f(1.0, 1.0, 1.0); /* ��� */ 
glColor3f(1.0, 0.0, 0.0); /* ������ */ 
glColor3f(1.0, 1.0, 0.0); /* ����� */ 
���... 

�����ޱ�: Makefile, ��������(example1.c), ��������(example2.c)

���ݱ��� ��� ���� �̿��ϰ� �ΰ��� ������ �ۼ��� ������ ����. ù��° ������ ī������(�Ϲ����� ����)���� ���� �˵��� �׷��ִ� ������ OpenGL���α׷��̴�. �������� ������ ����� ����̳� ǥ�� ������ ���Ͽ� �� ���� ���ص� �� ������ ���� �ʴ´�. ������ �����ڸ� ������ �� ���� ���ϰ� �� ���� �̸� ���ǵ� �Ŀ� �����Ͽ� ���ο� ���� �����Ͽ� �ٽ� �����ϴ� ���·� ������ �׸��� ���̴�. �̶� ����ϴ� ���� ������ ����.:

yn+1 = yn + K sin(xn)
xn+1 = xn + yn+1

ǥ�ظ��� ���ڰ��ӱ��� ���Ӱ�θ� ���� ȸ���ϰ� �ִ� ���⸦ �� ���ڰ� ����� ������ ���ӱ� �ܸ��� ������ ������ ��Ÿ����. ǥ�ظ��̳� �ٸ� �ʵ��� �Ӽ��� �����ϴ� ���� �̿°�����ġ���� ������ ������ �������� �����ϱ� ���Ͽ� �����п��� �߿��ϴ�. ǥ�ظ��� �� �Ķ������ ��� �������� ���� ����ϴ�. K�� ī���������� ��Ÿ���ش�. ���� �����п��� ���� ������ ������ ������ �׷����ڵ带 �����ϰ��� �ϴ� ����鿡�� �ʰ� �� �Ӽ��� ���캼���� ���̴�. ���� �ؽ���, ȭ���Ҳ�, ����, ��������� �����ϴ� ���� �˰������� �� ������ �ʿ� �����ϰ� �ִ�.

����1(example1.c)�� �ҽ��� ���캸��:

    
#include <GL/glut.h>
#include <math.h>  

const  double pi2 = 6.28318530718;

void NonlinearMap(double *x, double *y){
    static double K = 1.04295;
    *y += K * sin(*x);
    *x += *y;
    *x = fmod(*x, pi2);
    if (*x < 0.0) *x += pi2;
};

void winInit(){
    /* ��ǥ�踦 �����Ѵ�. */
    gluOrtho2D(0.0, pi2, 0.0, pi2);
};

void display(void){
    const int    NumberSteps = 1000;
    const int    NumberOrbits = 100;
    const double Delta_x = pi2/(NumberOrbits-1);
    int step, orbit;

    glColor3f(0.0, 0.0, 0.0);
    glClear(GL_COLOR_BUFFER_BIT);
    glColor3f(1.0, 1.0, 1.0);

    for (orbit = 0; orbit < NumberOrbits; orbit++){
      double x, y;
      y = 3.1415;
      x = Delta_x * orbit;

      glBegin(GL_POINTS);
      for (step = 0; step < NumberSteps; step++){
        NonlinearMap(&x, &y);
        glVertex2f(x, y);
      };
    
      glEnd();
    };

    for (orbit = 0; orbit < NumberOrbits; orbit++){
      double x, y;
      x = 3.1415;
        y = Delta_x * orbit;

        glBegin(GL_POINTS);
        for (step = 0; step < NumberSteps; step++){
          NonlinearMap(&x, &y);
          glVertex2f(x, y);
        };
        glEnd();

     };
};

int main(int argc, char **argv) {
  glutInit(&argc, argv);  
  glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);  
  glutInitWindowPosition(5,5);  
  glutInitWindowSize(300,300);  
  glutCreateWindow("Standard Map");  
  
  winInit();
  glutDisplayFunc(display);  
  glutMainLoop();  
  
  return 0;  
}  
  
���� �ڵ忡 ���� glut* ��ƾ�� ������ �����Ϸ��� ���� GLUT ���α׷�����縦 �б� �ٶ���. �� ���α׷��� ���Ϲ��ۿ� RGB��带 ���� �׷���â�� �׸��� ����. ������ �׸��� �ݹ��Լ��� �̸��� display()�̴�.: ���� ����(������)�� �����Ѵ�.; glClear(GL_COLOR_BUFFER_BIT) ���簪���� ������۸� �ʱ�ȭ��Ų ���� glColor�Լ��� �̿��Ͽ� ����� �����Ѵ�. ���� NonlinearMap()�Լ��� ȣ���Ͽ� ������ �ݺ��Ͽ� GL_POINTS���� glVertex*�� ���ǵǴ� ������ ȭ�鿡 �׸���. ���� �����ϴ�.

������ �ʱ�ȭ�� ���� winInit()��ƾ�� ���캸��. �� ��ƾ���� �ܿ� ���ٷ� �� OpenGL��ƿ��Ƽ ��Ŷ�� �Լ�gluOrtho2D()�� ���Ǿ���. �� �Լ��� ��ǥ�踦 2���� ������ǥ��� ������ ���̴�.�� �Լ����� "�ּ� x, �ִ� x, �ּ� y, �ִ� y��ǥ��"�� ���޵ȴ�. ����: ���ڴ� �׸��� ��� �׷��������� ���캸�� ���Ͽ� ���ϸ�� ������� �ſ� ���� ������ �̿��Ͽ� �׸����� �Ͽ���. ũ�Ⱑ ũ�ų� �ð��� ���� �ɸ��� �׸�, �׸��� OpenGL��ƾ�� ���� �������� ȭ�鿡 �׸��� �׷����µ� ���� �ɸ��� �͵��� �ַ� ���ϸ�带 ����ϴ� ���� �Ϲ����̴�.

�Ʒ� �׸��� ���� 1�� ���� �� �� �ִ� �׸��̴�.:

 

�ι�° ���α׷�, ���� 2(example2.c)�� ���캸��.:

    
#include <GL/glut.h> 
#include <math.h>

const  double  pi2 = 6.28318530718; 
const  double  K_max = 3.5;
const  double  K_min = 0.1;
static double  Delta_K = 0.01;
static double  K = 0.1;          


void NonlinearMap(double *x, double *y){
    /* ǥ�� �� */
    *y += K * sin(*x);
    *x += *y;

    /* ���� x�� 2���̷� ���� ���̴�.*/
    *x = fmod(*x, pi2);
    if (*x < 0.0) *x += pi2;
};


/* �ݹ��Լ�: 
  �Է¾��� ������ �� ���ΰ� */
void  idle(void){
    /* Ȯ���� �Ķ���͸� ������Ų��.*/
    K += Delta_K;
    if(K > K_max) K = K_min;

    /* ȭ���� �ٽ� �׸���.*/
    glutPostRedisplay();
};


/* �׷��� â(������)�� �ʱ�ȭ �Ѵ�.*/
void winInit(void){
    gluOrtho2D(0.0, pi2, 0.0, pi2);
};

/* �ݹ��Լ�:
    ȭ���� �ٽ� �׸��� ��� �� ���ΰ�?*/
void display(void){
    const int    NumberSteps = 1000;
    const int    NumberOrbits = 50;
    const double Delta_x = pi2/(NumberOrbits-1);
    int step, orbit;

    glColor3f(0.0, 0.0, 0.0);
    glClear(GL_COLOR_BUFFER_BIT);
    glColor3f(1.0, 1.0, 1.0);
                
    for (orbit = 0; orbit < NumberOrbits; orbit++){
        double x, y;
        y = 3.1415;
        x = Delta_x * orbit;

        glBegin(GL_POINTS);
        for (step = 0; step < NumberSteps; step++){
          NonlinearMap(&x, &y);
          glVertex2f(x, y);
        };
        glEnd();
     };

     for (orbit = 0; orbit < NumberOrbits; orbit++){
        double x, y;
        x = 3.1415;
        y = Delta_x * orbit;

        glBegin(GL_POINTS);
        for (step = 0; step < NumberSteps; step++){
          NonlinearMap(&x, &y);
          glVertex2f(x, y);
        };
        glEnd();
     };

     glutSwapBuffers();
};


int main(int argc, char **argv)  {  
  /* GLUT�ʱ�ȭ */
  glutInit(&argc, argv);  
  glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA);  
  glutInitWindowPosition(5,5);  
  glutInitWindowSize(300,300);
  
  /*â�� �ϳ� ����. */
  glutCreateWindow("Order to Chaos");  
  
  /* â�� �ʱ�ȭ �Ѵ�. */
  winInit();

  /* �ݹ��Լ��� ����Ѵ�. */
  glutDisplayFunc(display);  
  glutIdleFunc(idle);

  /* �̺�Ʈó���⸦ �����Ѵ�.*/
  glutMainLoop();  
  
  return 0;  
}  
  
    
    
�� ���α׷��� ���� 1(example1.c)�� �����Ͽ� ���������. ����1�� ū �������� �����츦 ���߹��۸��� ���ٴ� �Ͱ� �� �Ķ������ K�� ���α׷��� ����Ǵ� ���� ��� �ٲ�ٴ� ���̴�. ���ο� �ݹ��Լ��� idle()�� GLUT�� glutIdleFunc()�̺�Ʈ ó����� ��ϵǾ���.; �� �Լ��� ������� �Է��� ������ �̺�Ʈó���Ⱑ ������ �ϴ� �Լ��̴�. idle()�ݹ��Լ��� �ִϸ��̼����α׷��ֿ� ���� �����ϴ�. ���� 2���� �� �Լ��� �� �Ķ������ ���� ���ݾ� �ٲ��ִ� ����� �Ѵ�. idle()�Լ��� �������� �ִ� glutPostResDisplay()�Լ��� ����â�� �ʱ�ȭ�� �״�� ������ ä�� �����츦 �ٽ� �׸��� ���� ������ GLUT�����̴�. �Ϲ������� �׳� display()�� �ѹ��� ȣ���ϴ� �ͺ��� �ξ� ȿ�����̴�.

display()�Լ��� �ڿ� ���� glutSwapBuffers()�Լ��� ������ ���캼���� �Լ��̴�. �� �������� ���߹��۸��� �����찡 �ʱ�ȭ�Ǿ��� ������ ������۷� �������� ������ ������ �� �ִ�. ;�� ��� �׷����� ���� ����ڴ� �׷����� ����� �� �� ����. �׷��� �׸�(�� ������)�� ������ �׷����� glutSwapBuffers()�Լ��� ���Ͽ� ������۰� �ٷ� �������� �ȴ�. �� �� ���� �׷��� �ִ� ���۴� ���� ���۷� ��ȯ�ȴ�. �� ����� �̿��Ͽ� �ִϸ��̼��� �ε巴�� �� �� �ִ� ���̴�.

�Ʒ� �׾ִϸ��̼��� ����Ǵ� ������ ��� ȭ���̴�.:

 

�߿�! ���� �Ҿ�~ : The display() �ݹ��Լ��� �׻� idle()������ �ѹ� ����ȴ�. �������� �̰��� ���ο� �ΰ� �ִϸ��̼� ����� ���α׷��Ҷ��� display()�� idel()���� ����� ��ɵ��� �����Ͽ��� �� ���̴�.

���� �ٰ��� �׸���

�����ޱ�:
���� 3(example3.c)

�տ��� glBegin(GLenum mode)���� �پ��� ��尡 �����ϸ� �̿� ���� ����v0, v1,v2, v3,v4,... vn-1���� ������ �ǹ̰� Ư���� �ǹ̷� �ؼ��ȴٰ� �ߴ�. ��忡 ����� �� �ִ� ���� ���� �� �ִ� ������ ������ ����.:

  • GL_POINTS    n���� ������ ���� �׸���. 
  • GL_LINES    ����Ǿ� ���� ���� ���� �׸���. �� ���׸�Ʈ�� v0�� v1, v2�� v3,...����̴�. ���� n�� Ȧ����� ���׸�Ʈ�� �������� ���� vn-1�� ���õȴ�. 
  • GL_POLYGON    ���������� ���� v0, v1,..,vn-1�� ������ �ٰ����� �׸���. ������ ��� 3���̻��̾�� �ϸ� ���� �׷��� �ʴٸ� �ƹ��͵� �׷����� �ʴ´�. ���� �ٰ����� �̷�� �ִ� ���鳢�� �����ؼ��� �ȵǸ� (�ϵ����˰������� ���Ѽ����� ���Ͽ�) �ݵ�� �ٰ����� ���������߸� �Ѵ�. 
  • GL_TRIANGLES    ���� v0, v1, v2�� �̿��Ͽ� �ﰢ���� �׸��� v3, v4, v5���� �̿��Ͽ� �ﰢ���� ��� �׸���. ���� �����ִ� ���� 3���� �ȵȴٸ� ���õȴ�.
  • GL_LINE_STRIP    v0���� v1��, v1���� v2�� �� ���� ������� ���� �׸���. ������ vn-2���� vn-1�� ���� �׷� �� n-1���� �������׸�Ʈ�� �׸���. ���� �׸��µ� �ʿ��� ������ ������ �ƹ��� ���������� �����Ƿ� ���� �����ϴ� ������ �׸� �� �ִ�.
  • GL_LINE_LOOP    GL_LINE_STRIP�� ���������� �������� vn-1���� v0�� �մ� ���� �׷��� ������� �����Ѵ�.
  • GL_QUADS   ���� v0, v1, v2, v3�� �̿��Ͽ� �簢���� �׸���. ����ؼ� v4, v5, v6, v7�� �̿��ؼ� �׸���.
  • GL_QUAD_STRIP    �簢���� �׸��µ� �簢���� �̷�� �ִ� �� ������ ������ v0, v1, v3, v2 �� �̿��ؼ� �׸� ���� v2, v3, v5, v4�� �̿��ؼ� �簢���� �׸��� �����̴�.
  • GL_TRIANGLE_STRIP    �ﰢ���� �׸��µ� �ﰢ���� ������ ������ v0, v1, v2�� �׸���, v2, v1, v3�� �׸���, v2, v3, v4������ �׸��� ���̴�. �� ������ �ﰢ���� ����� ��ġ�� �������� ������ ���ָ� �̸� �̿��Ͽ� ���/���� �Ϻθ� ��Ÿ���µ� ���ȴ�.
  • GL_TRIANGLE_FAN    GL_TRIANGLE_STRIP�� ����ϴ� �׷��� �ﰢ���� �׸��� ���� v0, v1, v2�� �̿��Ͽ� �׸���, v0,v2, v3�� �̿��ؼ� �׸���, v0, v3, v4�� �̿��ؼ� �׸��� ����� ���ϴ� ������ �ٸ���. ��� �ﰢ���� ���������� ���� v0�� ������ �ִ�.
����° �������α׷����� GL_LINES�� GL_POLYGON�� �̿��� �ٸ� �ִϸ��̼����α׷��� ������� ����. ���α׷��� �������� ���� �ҽ��ڵ带 ���캸�鼭 �̰��� � ������ �ϰ� �ִ��� ���캸��. �� �ҽ��ڵ�� ����2(example2.c)�� �ſ� ����ϴ�. ȭ���� �׸��� �ſ�ܼ��� ���ڸ� ��Ÿ����. �� �ִϸ��̼��� �̻����� ������ �������� �䳻�� ���̴�. �ִϸ��̼����� ������� ������ ����.:
 

���� idle()�ݹ��Լ��� Ŭ���۵��ð��� �״�� ���������ش�(time������ ������Ʈ �ذ��鼭) display()�Լ������� �� �����ٰ� ���� ������ 2���� ��ü�� �׷��ش�. �������� �������� xcenter�� ycenter�� ���� ���Ŀ� ���Ͽ� ���Ѵ�.: 

    

void display(void){
  static double radius = 0.05;
  const double delta_theta = pi2/20;
  double xcenter , ycenter;  
  double x, y;
  double theta = 0.0;

  double current_angle = cos(omega * time);

  glColor3f(0.0, 0.0, 0.0);
  glClear(GL_COLOR_BUFFER_BIT);
  glColor3f(1.0, 1.0, 1.0);

  /*������ ���� �׸���. */  
  glColor3f(1.0, 1.0, 1.0);
  glBegin(GL_LINES);
  glVertex2f(0.0, 0.0);
  xcenter = -cord_length * sin(current_angle);
  ycenter = -cord_length * cos(current_angle);
  glVertex2f(xcenter, ycenter);
  glEnd();

  /* �����߸� �׸���. */
  glColor3f(1.0, 0.0, 0.0);
  glBegin(GL_POLYGON);
  while (theta <= pi2) {
    x = xcenter + radius * sin(theta);
    y = ycenter + radius * cos(theta);
    glVertex2f(x, y);
    theta += delta_theta;
  };
  glEnd();
  
  glutSwapBuffers();
};

    
    

����

���ݱ��� ��� ������ �̿��Ͽ� ���� ������������ �غ��� �ٶ���.:

  • ����1(example1.c)�� �̿��Ͽ� �ٸ� �ʵ��� ������ ����. �̸� ���Ͽ� ���� �������� ���� ȥ��(ī����;Chaos)�̷а� ����Ż(Fractals)�̷п� ���� å�� �ѱ� ��� ����. �Ƹ� å�� ���� ������ ���� ���̴�. �Ķ���Ͱ��� ��ǥ���� ���� �ٲپ� ���� �������� ���� ������ ����. ����ִ� ������ �� ���̴�.
  • ����2(example2.c)���� �� ���鿡 ������ ��������. ���� ���ڸ�  (Physics Review Letters Vol 63, (1989) 1226�� �����Ͽ�) �˵��� �������� ���� ���� �ٸ� ������ �����غ���. �Ƹ� ȥ�������� �������� ������ ���� ���� �� ���̴�. ���� ��� ������ �� ��ó������ Ǫ�� ���� �� ���̴�. ���� �������� �� ȿ���� �� �� �ִ� �ڵ带 �ۼ��� �� �ִٸ� �츮�� ���� ����� �ʵ��� �����мӼ��� ���� ��Ȯ�� �� ���̴�. ���� �̺й������� ����� �ʴ��� �� ������ ���� ������ ���� �þ ���̴�. ���� �������� ��ǻ�� �׷��ȿ��� ���ΰ� �������� �̿��ϰ��ʹٸ� �̺й������� ���� ���� ����� ��ġ�� �ִ� ���̴�.
  • ����3(example3.c)�� �̿��Ͽ� ���������� ���� �̿��Ͽ� ��ũ �� �׸��� ���α׷��� �ۼ��� ����. GL_LINES, GL_TRIANGLES,����� �̿��� ����. ��� ���̴°�. ��ũ�� �����ϴ� �ڵ带 ����ȭ �غ���. ���� sin�� cos�� �̿����� �ʴ´ٸ� �� �����ӿ��� ������ ��ũ�� �׸��� ���� �ð��� ���� �ɸ� ���̴�.  �������� �� ������ �迭�� ���·� ������ �� �ִ�. �ٰ����� �̿��Ͽ� �������ڳ� ���̾��� �Ǵ� ������ ���� ���𰡸� �׷�����. �� ������ ���� �����̰ų� ���� �浹�ϴ� �� ���ڸ� �׸��� ���α׷��� �ۼ��ϴ� �͵� ���� ���� �� ���̴�.

���� ���翡����

�� �ۿ��� �ٷ���� �ϴ� ������ ������. �ٰ����� ���Ͽ� �� �̾߱� �غ��͵��� ����. ����ȣ(1998�� 3��ȣ)������ ����ؼ� �ٰ����� ���캸�� �������� �̹� �ͼ����� ���ɵ��� �� �� �ڼ��� �ٷ��� �𵨸��ϴ°ͱ��� ���캸�ڴ�.


�� �ڼ��� �˰� �����ø�:



���� : ����ȣ


�� ������Ʈ�� Miguel Angel Sepulveda���� ���� �����˴ϴ�.
© 1998 Miguel Angel Sepúlveda

LinuxFocus 1998