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�� ���������� OpenGL�� ����ϴ� ����� ���� ���߿������� ù��°�Դϴ�. �� ���� �ڽ��� �������α׷��� ������ 2����/3���� �׷����� �߰��ϰ� ���� ���α׷��Ӹ� ���Ͽ� ��������




�� ���� OpenGL�� ���������� OpenGL�� ����ϴ� ����� ���� ���߿������� ù��°�Դϴ�. �� ���� �ڽ��� �������α׷��� ������ 2����/3���� �׷����� �߰��ϰ� ���� ���α׷��Ӹ� ���Ͽ� ��������.

OpenGL�� �ǽ��� ������ ���� ���� �θ� �����ִ� 2����,3���� �׷������α׷� ���� ���� ǥ�� API�̴�. OpenGL�� SGI���� �������̼��� ���п�, ���п�, �Ǵ� Ư��ȿ�����߿� �÷������� �α��ְ� ������� ����� Sillicon Graphics���� IRIS GL���̺귯���� ����� ������ �νĵǰ� �ִ�. SGI�� OpenGL�� ���� ���� �̿��� �� �ְ� �������̸� �̷��� ����Ͽ� ��Ʈ��ũ���� ������ API�� �� �� �ֵ��� ���� �������� �����ϰ� �ִ�. ���ÿ� �츮�� SGI�簡 ����ǥ�ص��� �߿伺�� �ν��ϰ� �ִٰ� ������ �ϴ�. ��� �ϵ����, ����Ʈ���� �����ڴ� OpenGL�� ������ ���ϴµ� �����ϰ� ������ �̸� �����ϰ� �ִ�. �� ���п� OpenGL�� �̿��� ���α׷��� ���� ���忡 ���� �ִ� �������� ��� �÷������ε� ���� �̽ĵǾ��� �� �ִ�. �̹� Windows95�� ����ϴ� ���ο���ǻ�Ϳ��� �츮���� �ڶ������� �������ý���, ������ ���н� ��ũ�����̼ǻӸ� �ƴ϶� ���������ӱ��� ������ǻ�ͱ����� ���� �̽ĵȴ�. Architectural Review Board�� ���캸�� OpenGL�� �Ծ�� ��ȭ�� ���� ����Ǿ����� �Ǵ� �źεǾ����� ���ȵ� ���� �˻翡 ��ġ���� ���� �� �� �ִ�.

���� SGI���� IRIS GL���̺귯���ʹ� �޸� OpenGL�� �÷����̳� �ü���� ���������� ����Ǿ���. �̷��� ���� ��Ʈ��ũ�� ������ ����̸� ���� OpenGL�������α׷��� �ִ� ������ �׷��ȷ������۾��� �����ϴ� Ŭ���̾�Ʈ�� �и��Ǿ� �ִ� �͵� �����ϰ� �ȴ�. ������ Ŭ���̾�Ʈ���� ��Ʈ��ũ�� �̿��Ͽ� OpenGL���ɾ �����ϵ��� �ϴ� ���������� �ִ�. �ü���� �������� �������� ���Ͽ� ������ Ŭ���̾�Ʈ�� ������ �÷����� �ʿ�� ����. �Ϲ������� ������ �ſ� ������ �ùķ��̼��� �����ϴ� ������ǻ���̸�, Ŭ���̾�Ʈ�� �׷����� �����ִ� �۾����� ����ϴ� ������ ��ũ�����̼��� ��찡 ����. ���� �����ڴ� OpenGL�� �̿��ϸ� ���� �÷������� �۵��ϴ� ���α׷��� ������ �� �ִ�.

���� ���뿡���� ���� OpenGL�� �ֽ��� ������ �׷��� ������ ���̺귯���̸� OpenGL�� �⺻��Ҹ� �ϵ������ؿ��� �����ϴ� Ư���� 3���� ī�峪 ���ӱ���� ������ �׷���ī�嵵 ���ߵǾ� �ִ�. ������� ������ �׷���ī����� �ſ� ���������� SGI�������̼��̳� UNIX�������̼ǿ����� ����� �� �ִ� ���� ��κ��̾���.�Ǹ��ܱ׷��Ȼ��� ������ ���̼�����å�� ����̹� ����Ŷ���п� �ſ� ���� ��ȭ�� �̷���� ������ PC����ڸ� ���� OpenGL�ϵ��� ���� �þ�� �ִ�. ����������� ���� �̷� ��ȸ�� �� �̿��Ͽ� ��� �� �ִ�. �ٷ� 3Dfx Interactive�簡 3���� �׷���ī�� �ø�� �����ϰ� ������ Glide ���̺귯���� �̿��Ͽ� �������ü���� �����ϰ� �ִ�. ���⿡ ���ؼ��� Phillip Ross���� �� �ٸ� ���(3Dfx �׷���ī��)�� ���캸�� �ٶ���. �� �ۿ����� 3Dfxī�带 �̿��ϴ� ����� �ڼ��� �����ϰ� �ִ�. �̷��� ����� ��κ��� �ϵ���������ڵ��� ������ ���强�� �ν��Ͽ� �µ��� ��ȭ�� ���̰� �ִٴ� ���� �������� �����ش�. �����������ڵ��� �̷��� ��ȭ�� �����ϸ� �ݷ��Ѵ�.

OpenGL�� �ϵ���� �������� ��� ���Ͽ� ������ �۾��� ���õ� �����̳� ������� �Է��� �޴� �κ��� �����ִ�. ��� ���� OepnGL�� ����ϴµ� �߿��� ������ �� �� �ִ�. �׷��� ������ ���ؼ��� ���� ������ �ʿ����. (GLUT ���α׷��� ������ �о�� �ٶ���.) ������� ���õ� �۾��̳� ����� �Է��� ȹ���ϴ� ���� ����ϴ� ������ �ٸ� ���α׷��� ���̺귯���� �̿��Ͽ� OpenGL�������α׷��� ������ �� �ִ�. ���� OpenGL�� ����,�����,��,����� ���� ������ ���� �����ϴ� ���ɾ �������� �ʴ´�. �׷��� �������� ���� �⺻���� �������� ������ ���� ��, �׸��� �ٰ����� �̿��Ͽ� �������� ���� ��Ÿ���� �Ѵ�. ������ ���� ����� �� �ֵ��� ���ִ� OpenGL���� ���̺귯���� �����Ƿ� �̸� �̿��ϸ� �ȴ�.

OpenGL���α׷��ֿ� ���� ������鿡���� C�������̽��� ����� ���̴�. C�� ���� �α��ִ� OpenGL�� ���α׷��� ȯ���̴�. �׷��� �������� FORTRAN, C++, Ada, Java�� ���� �� ����Ͽ� ���α׷��� �ۼ��� �� �ִ�. �� ���縦 ������ ���鼭 OpenGL�� ���� C�������̽��� ����� ���� ���� OpenGL�� C++Ȯ�� ���̺귯���� Open-Inventor�� ���ؼ��� ���캸�ڴ�.

�����ϰ� OpenGL�� ����Ư¡ ����� ���캸��:

  • �������� �⺻���� ������ ������ ���Ͽ� ��ü�� ������ �� �ִ�. ���� �⺻�������� ��, ��, �ٰ���, �̹���, ��Ʈ���� �����Ѵ�.
  • �������� RGBA (Red-Green-Blue-Alpha) �Ǵ� �ε����� ������ ����
  • ��� �𵨸� 3���� ȭ�鳻�� ��ü���� ��ġ��Ű��, ī�޶� �������� �̸����� �ű� �� ������, �������� ����� �ٶ󺸴� ������ ������ �� �ִ�.
  • �ؽ��� ���� ���� �����ϰ� �ִ� �ٰ����� �鿡 ���ǰ��־�̵��� �̹����� �������Ͽ� ����ó�� ���̵��� ���ش�.
  • ������ �� ����� 3���� �׷��ȿ� �ʼ����� �κ��̴�. OpenGL�� �־��� ������ ������ �Ӽ��� ���� � ��ġ�� ������ ����ϴ� ������ �����Ѵ�.
  • ���߹��� �ִϸ��̼ǽ� �����Ÿ��� �����ش�. �ִϸ��̼ǿ��� �� �������� �������� ������ �� �޸𸮿��� �̷������ �������� �������� ������ �������� �ȴ�.
  • ��Ƽ�ٸ���� ��ǻ�� ȭ�鿡 �׷����� ������ ���ȿ���� �۰����ش�. ���߳����� ���� ���� �׷����� ���� ���� �ػ󵵸� ������ �Ǵµ�, ��Ƽ�ٸ���̱���� �������� ���߳������� �����ֱ� ���Ͽ� ���� ����� �ȼ��� ����� ������ ������ �ִ� ��ǻ�ͱ׷����� �Ϲ����� ����̴�.
  • Gouraud ���̵� 3���� ��ü�� �ε巯�� ���̵��� �ο��ϰ� ǥ�鿡 �����ϴ� �̹��� ������ ���̸� ��Ÿ���� ���ش�.
  • Z-���۸� 3���� ��ü�� Z��ǥ���� ����Ʈ���� ������ �ִ�. Z-���۴� �����ڰ� ���� ��ü�� �������� ��Ÿ���µ� ���ȴ�. ���� ����(������) ���ſ� �߿��� ������ �Ѵ�.
  • ���ȿ�� �Ȱ�, ����, �������̵�� ���� ���ȿ���� �����ϰ� �Ͽ� �־��� ������ ���� ���ǰ��� �����ش�. ���� ���ȿ���� �������� �ʴ´ٸ� ������ ������ ������������ �����ϰ� ���� ���̴�. �Ȱ�ȿ���� ��������, �Ȱ�, ������ ���ȿ���� ������ ���ȿ������ ������ �˰������� �⺻�̴�. �̸� �̿��Ͽ� ���� ���� ���� ������ �� �ִ�.
  • ���� ������ RGBA���� ���İ�(�߻�-���� ��)�� ����� �� �־ �����ӹ��ۿ� �̹� ����Ǿ� �ִ� �ȼ��� �κл���� ó���Ǿ�� �� ������ �Բ� ���� �� �ִ�. ���� ��� ������ ���ھտ� ���� �����Ǵ� Ǫ���� â�� �׸��ٰ� ������ ����. ���ĺ������� ����â�� �������� �䳻���� ����â���� �� ���ڰ� ������� ������ ���ش�.
  • ���ٽ�������(Stencil Plane) ȭ���� Ư������������ �׷������� ������ �ݴϴ�.
  • ���÷��� ����Ʈ ���� �������� ���� ����Ʈ������ ���� �׸���������Դϴ�. �����ϰ� ���Ǹ� ������ ���ɿ� ��û�� ������ �����ɴϴ�.
  • ���׽� ��� non-uniform rational B-splines�/���� �����մϴ�. �̸� �̿��ϸ� ���̿� �����ϴ� ���� ���� ������ �ʿ� ���� ��� �������� ������ �ε巯�� ��� �׸� �� �ֽ��ϴ�.
  • �ǵ��, �������ð� ��ü���� �� ����� �̿��Ͽ� ȭ�鿡 �׷��� ��ü�� ȭ���� ������ ������ �� �ִ�. �ǵ���带 �̿��Ͽ� �����ڴ� ����������� ����� ���� �� �ִ�.
  • ������ �⺻���� (��Ʈ�ʰ� �ȼ� �簢��) 
  • �ȼ� ����
  • ��ȯ: 3�������� ȸ��,���,Ȯ��,�̵�,������ ���� ��ȯ�� ����

�̹� ���߾����� OpenGL�� �̽ļ��� ���� �÷����� ���������� �۵��ϰ��Ϸ��� ������ý��۰��� �������̽��� ����ϴ� ��� ���ɾ ����� ���ۿ� ����. ���� ��� ���ο� â�� ���ų� �ݰų�, â�� ũ�⸦ ���̰� ���̰�, â�� ����� �ٸ��� �ϰ� Ŀ���� ��ġ�� ���ϸ�, ����ڷκ��� Ű���� �Է��� �޴� ���� �����Ǿ� �ִ�. �̷��� ����� �ü���� ���� ���õǾ� �ִ�. ���� GL���̺귯���� �ڽ��� â�� �ΰ���ġ�� �ٷ�� ���� Ư���� ���ɾ ������ �־���. �װ��� SGI���� UNIX�ü������ �۵��ϴ� IRIX�� �ش�� ���̾���. �ᱹ �ڽ��� ����ϴ� �ü������ â�� �ٷ�� �����ϴ� ���� OpenGL�����ڰ� �ڽ��� �÷����� �󸶳� �˰� �ִ°��� �޷��ִ�.

SGI���� Mark J. Kilgard�� ���п� �̷��� ������ �ذ����ִ� �ΰ����̺귯���� ���ߵǾ� �ִ�. Mark���� ������ AUX���̺귯��(AUX���̺귯���� �������� �������� ����, �׳� �ؾ��������!)�� ��ü�� �� �ִ� GL��ƿ��Ƽ ���̺귯���� GLUT���̺귯���� �����Ͽ���. GLUT���̺귯���� �����Ӱ� �̿��� �����ϴ�.OpenGL�� ���������� ������������ �� ���̳ʸ� �����̳� �ҽ��ڵ带 ���� �� �ִ�. GLUT���̺귯���� �÷����� �������̸� ������� �μ���ġ���� �ٷ�� ���� �������� �з������� ������ �ش�. ���� OpenGL���α׷����� �׷��� �ִϸ��̼��� ���� ���ο� â�� �ϳ� ������ �Ҷ� GLUT����� �̿��ϸ� �۵��ϴ� ������ý��ۿ��� �̷��� �۾��� �������ش�. ���� ���ϸ� GLUT�� �����ڰ� Ư���� ������ý���(X11,��������,��Ƽ��..���..)�� �ٷ�� ���� �������� ������ �ڼ��� �κ��� ���ʿ䰡 ���� �̷��� �κ��� ���߾� �ֹǷ� �����ִ� �۾�-OpenGL�ڵ�-���� ��� �����ϸ� �Ǵ� ���̴�. GLUT�� �̿��� �� �Ǵٸ� ���� ���� �������� �ڵ尡 �÷����� �������̶�� ���̴�. ���ڴ� ���������� GLUT�� OpenGL�� ����Ͽ� �ܹ����� ���� �ùķ��̼��� ������ ���� �ִµ� �ƹ��� �������� �� ������ �÷��� �����ڵ���� ���ڱ�� ������, ���ı�� ������, ��������95���� �� ������ �Ǿ� ������ �� �־���.(�����ϰ� ���ϸ� ���ڴ� ���� �������� 95�� ����Ѵ�) ���ڴ� �������� OpenGL�������α׷��� �����ϴµ� ������ �ִٸ� ������ȯ���� �ٷ�� ���Ͽ� GLUT���̺귯���� �̿��϶�� ������ ��õ�ϴ� ���̴�.

GLUT�� ��� ����ϴ��� Ȯ���� �ƴ� ���� OpenGL�� ���µ� ��� �߿��ϴ�. �׷��� ��������Ŀ���� OpenGL�� ���� �����翡���� �ܰ躰�� GLUT�� ��� ����ϴ���, �׸��� ��� �ΰ���ġ�� �ٷ� �� �ִ����� ���� ���� ��縦 ���� ���캼 ���̴�.

���� ��ġ�� ���� "������ ����" Brian Paul���� ���� �Ұ��� �����Ƽ��� �ȵ� ���̴�. �״� ������ ���������� OpenGL�� ���� �۵��ϴ� ���̺귯���� Mesa�� ������ ���� �ִ�. ���� Mesa�� ����Ʈ��� ���ؼ��� ������ �۾��� �����ϹǷ� �������۾��� �����ϴµ� �ɸ��� �ð��� CPU�� �����̳� 3�������� �ϵ������ ���ɿ� �޷� �ִ�. �׷��� Mesa�� �ϵ����ӱ�� ����̹��� ����� �� �ֵ��� ���ִ� ��(hook)����� ���������� �����Ѵ�.. ���� Mondello, S3 Virge (Win95�븸), GLINT,Voodoo 3DfxĨ �迭�� �̷� ����̹��� �����ִ�. David Bucciarelli���� Voodoo�� ����̹��� ������ �� ���п� ������ SGI�������̼ǰ� ������ ���ɼ��ر��� Mesa���� �̿��� �� �ִ�. ���� �������� 3���� �׷����� �����ϰ��� �Ѵٸ� �ٷ� 3DfxĨ�� ����ϴ� �׷���ī�带 �����ϱ� �ٶ���.

ù��° ���縦 �������鼭 ������ ������ǻ��(21164 550MHz, 164MRam, Linux 2.0.32)������ ������ �̾߱� �ϰڴ�.���ڴ� Mesa���̺귯���� �̿��Ͽ� �� �ùķ��̼� ���α׷��� �����Ͽ���. Glide���̺귯���� ������� ���Ŀ����δ� ���ߵǾ� ���� �ʴ�.(���� �� ����� ����...) ��. ���ڿ� Phil Ross���� Matrox Millenniumī�带 ������ ������ ������ǻ�Ϳ� Rhil���� 3Dfxī�带 ������ ��Ƽ�� ��ǻ�Ϳ��� ������ �� �ִϸ��̼��� ������Ѻ��Ҵµ� ����Ե� Phil�� ��ǻ�Ϳ��� ����Ǵ� ��ŭ ������ ��ǻ�Ϳ����� �ε巴�� �ִϸ��̼��� ����Ǿ���. ������ OpenGL�������α׷��� ������ ��ǻ�Ϳ��� ���� ������ ����Ͽ���(���� �̶� �ؽ��ı���� ������� �ʾҴ�.) �� ���� �ᱹ OpenGL�� �������� �ʴ� �ϵ������ ������ ����CPU�� ������ ������ �������شٰ� �� �� �ִ�. �� �ִϸ��̼��� �� �������� 10���� �� �𵨱����� �׷��ִµ� �� ���� 1000���� ���� �Ǹ����� ��� ��������� �����ϴ� �ִϸ��̼��̴�. PC������ ����� Intel CPU�� ��ɶ����� ����� ���� �������� ���Ͽ� ���� �ܷ�ü(ȭ�п��)���� ���� ���� �� �� ��������...�ݸ� ������ǻ�Ϳ����� �ƹ� ������ ������! ���ڴ� 3Dfx�� ������ ������ǻ�Ϳ� Mesa�� �����ϴ� �ϵ��� ��ٸ� �� �ۿ� ����.


�� �ڼ��� �˰���������?:



���� : ����ȣ


�� ������Ʈ�� Miguel Angel Sepulveda���� ���� �����˴ϴ�.
© Emre Demiralp 1998
LinuxFocus 1998