2014-09-15 3 views
0

OpenGL ES 2.0을 사용하기 시작하고 정점 배열을 구성하는 가장 좋은 방법이 궁금합니다. 바로 지금, 나는 구조체에 새로운 vertex를 계속 추가하고있다. 5000 번 (1 씩 증가).루프에서 정점 배열 만들기 - OpenGL

나를 위해, 이것은 정점 배열을 생성하는 상당히 느린 방법 인 것 같습니다.

아마도 모든 값은 생성 될 때 한 번만 저장해야합니까? 그런 다음 파일의 시작 부분에 다음과 같이 입력하십시오.

정점 꼭지점 {{{1, -1, 0}, {1,0} {1, 1, 0}, {0, 0, 1, 1}} ... }};

더 좋습니까? 아니면 다른 선택의 여지가 있습니까?

답변

1

버텍스가 상수이고 수량이 큰 경우 응용 프로그램을 시작할 때 이진 파일로 저장하고 서버 측 메모리에로드하는 것이 좋습니다 (using glBufferData).

데이터 순서에 대해 질문하는 경우 데이터를 vertexAttribPoint에 의해 읽히는 순서로 저장하는 것이 좋습니다. 예를 들어, 3 개의 꼭지점 좌표 (X, Y, Z)와 4 개의 꼭지점 색 (R, G, B, A)이있는 경우 GPU는 glBuffer 내부에서이 순서대로 데이터를 만드는 경우 데이터를 더 빠르게 읽습니다. {X1, Y1, Z1, R1, G1, B1, A1, X2, Y2, Z2, R2, G2, B2, A2 ....

일반적으로 문제는 응용 프로그램에서 정점 데이터를 작성 /로드하는 데 낭비되는 시간이 아니라 이러한 데이터를 렌더링하는 데 낭비되는 시간입니다.

그러나 모든 것은 신청서에 따라 다릅니다.