2010년 4월 13일 화요일

glVertexPointer

기능
OpenGL 버텍스 배열 기능에 사용되는 버텍스 데이터 좌표 배열을 지정한다.

첨가 파일


 형식
void glVertexPointer(GLint 크기, GLenum 타입, GLsizei 간격, const GLvoid *포인터);

설명
OpenGL 에서 버텍스 배열 기능을 사용할 때 필요한 데이터의 위치, 구성, 타입을 지정하는함수.
이 함수에 의해 지정되는 버퍼에는 동적인 데이터가 포함될 수 있으나 반드시 유효한 데이터여야만 한다. OpenGL 이 버텍스 배열을 계산할 떄마다 여기서 지정된 데이터가 여기서 지정된 버텍스 배열 버퍼로부터 다시 읽혀진다.

OpenGL ES 에서 축소된 기능들

OpenGL ES의 다른 많은 특성들이 범위와 기능 면에서 상당히 축소 되었다.
OpenGL ES는 여전히 부동소수점이나 부동소수점 형식의 glColor4, glNormal3 그리고 MultiTexCoord4 명령을 사용해 색상과 법선, 텍스처 좌표 등을 지정하는 제한된 지원을 제공하고 있다.
이들 함수들은 예를 들어, 이들 상태 중 하나가 전체 버텍스 배열에서 상수로 유지될 때만 사용이 가능하다.
 전체 변환 파이프라인은 여전히 제자리를 유지하고 있지만 새로 지정된 데이터 타입(더블 등이 제거된)만 받을 수 있다. OpenGL ES 는 이외에도 전치 행렬을 지원하지 않으며, 모델 뷰 행렬 스택의 최소 깊이가 32에서 16으로 축소 되었다.

[텍스처 맵핑]
  • 2D 텍스처만 지원
  • 다중 텍스처는 선택사항
  • GL_COMBINE 텍스처 환경 제거됨
  • 텍스처 좌표 생성/큐브맵 지원 제거
  • 텍스처 테두리/wrap 모드 GL_CLAMP/GL_CLAMP_TO_BORDER 지원 하지 않음
  • 텍스처 프록시/LOD 고정/편의 인자 등 제거
  • 텍스처 압축 지원하나 압축되니 텍스처 다시 읽기는 불가능
  • 압축되지 않은 이미지를 압축하는데 glTexImage2D 사용 불가

[래스터 작업]
  • 대부분의 래스터 작업 제거됨
  • glPixelStore : 텍스처 데이터의 포장과 해제만 지원
  • glReadPixels : 픽셀 읽기 가능, 깊이/스텐실 버퍼의 값을 읽는데는 사용불가
  • glDrawPixels, glPixelTransfer, glPixelZoom 함수 지원 X
  • glReadBuffer, glDrawBuffer, glCopyPixels 함수 지원 X
  • 폴리곤 오프셋은 채움 모드에서만 지원됨.
  • glPloygonMode는 더이상 지원되지 않음.
[조명]
  • 최소 8개의 광원 지원해야 함.
  • 2면 조명 지원.(전면과 후면 재질 속성이 같아야 함)
  • 색상 재질 모드로 GL_AMBIENT_AND_DIFFUSE만 지원
  • 보조 색상 / 지역 관찰자 조명 모델 제거 됨  

[-- 내용 출처 : OpenGL SuperBible 3판 --]

OpenGL ES 에서 제거된 기능들

다음은 OpenGL -> OpenGL ES 로 가면서 제거된 기능들에 대한 목록이다.

  • 지오메트리 열거를 위한 Begin/End(OpenGL ES는 버텍스 배열만을 사용한다.)
  • 인터리브(interleaved) 배열 혹은 glArrayElement 지원
  • 출력 목록 
  • 평가자 
  • 색상 인덱스 모드
  • 사용자 정의 클리핑 평면
  • 선이나 폴리곤 점각법
  • glRect
  • 이미징 서브셋
  • 피드백
  • 선택
  • 누적 버퍼
  • 경계 플래그
  • glPolygonMode
  • GL_QUADS, GL_QUAD_STRIP, GL_POLYGON 기본 모델 들
  • 속성 저장 :  glPushAttrib, glPopAttrib, glPushClientAttrib 혹은 glPopClientAttrib

2010년 4월 1일 목요일

iPhone 프로그래밍 참고

 http://mygeni.tistory.com/category/%5BDev%20Zone%5D/iphone

내 블로그 목록

팔로어