OpenGL - Day 3 #1

원종운·2020년 9월 22일
0

정점배열 그리기

glColor3fv

  • 색을 배열로 받아서 설정하여줍니다.
void glColor3fv(const GLfloat *v) 

glVertex3fv

  • 점을 그릴 좌표를 배열로 받아서 수행하여줍니다.
void glVertex3fv(const GLfloat * v)

시점 틀기

gluLookat

  • (eyex, eyey, eyez) : 카메라의 위치(눈의 위치)
  • (atx, aty, atz) : 카메라의 초점(눈의 초점)
  • (upx, upy, upz) : 카메라의 상향 벡터
void gluLookAt (
    GLdouble eyex, 
    GLdouble eyey, 
    GLdouble eyez, 
    GLdouble atx, 
    GLdouble aty, 
    GLdouble atz, 
    GLdouble upx, 
    GLdouble upy, 
    GLdouble upz
)

디스플레이 리스트

  • 그래픽 속도 향상 솔루션

    • Display Callback Function에서 Object의 색상, 점 등을 계산하면 렌더링시 부하가 크다
    • Object의 수가 많아지고 복잡해질수도로 속도 저하 발생
    • Object를 미리 만들어 list에 넣어 두고, 콜백함수에서 이를 재사용하는 기법을 의미
  • 리스트 : OpenGL에서 리스트란, 명령어의 집합을 의미하며, Object를 그리기 위한 명령어를 리스트 형태로 기록하는 것입니다.

    • Buffer라는 개념이 없던 시절에 나온 것이므로, 실제로 사용하는 것을 권장하진 않습니다.

glGenLists

  • 새로운 List를 생성하여 주며, List의 고유한 값(List Id)을 반환하여줍니다.
GLuint glGenLists(GLsizei range)

glNewList

  • 새로운 List의 명령어 기록을 시작합니다.
void glNewList (GLuint list, GLenum mode)

glEndList

  • List 생성 작업을 종료하여줍니다.
void glEndList()

glCallList

  • 지정한 list Id를 가진 List를 불러옵니다.
void glCallList (GLuint list)
profile
Java, Python, JavaScript Lover

0개의 댓글