본문 바로가기

glDrawElements

[Android Opengl es 2.0 ] 여러 Object를 한 번에 그리기. 코딩을 하는 도중... 만약에 1000개 이상의 Object들을 한꺼번에 그릴 려고 할 때, For문으로 1000개를 돌려야 할까요???? 개발 요구사항에 따라 다르겠지만, 만약 전체적인 회전이나 컬러 알파 정도는 수정할 수 있는 방법이 있었습니다. 바로!!! 1000개의 Object의 Vertex를 지정하고, 한번에 그리는 것입니다.!!! ( 제가 초보라서.. 이제 알게됨..^^;) Vertex와 Index 배열을 잘 이용하면 쉽게 그릴 수 있습니다. 먼저 테스트 해본 배열은 private final float[] mVerticesData = { // X, Y, Z, U, V,alpha,colorR,colorG,colorB,colorA 0.0f, 0.5f, 0, 1.0f, 0.0f,1.0f,0.0f,0.. 더보기
[ Android Opengl es 2.0 ] glDrawArrays 와 glDrawElements 사용법 여러 소스를 보다 보면, glDrawArrays를 사용하거나, glDrawElements를 사용하기도 합니다. 그래서, 저 같은 경우는 이해하기 쉬운 glDrawArrays를 많이 사용했는데요. // Vertex 배열을 만듬. private final float[] mVerticesData = { 0.0f, 0.0f, 0.0f, -0.5f, 0.5f, 0.0f, 0.5f, 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.5f, 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 0.5f, -0.5f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -0.5f, -0.5f, 0.0f, 0.5f, -0.5f, 0.0f, 0.0f, 0.0f.. 더보기
[ Android ] Opengl에서 glDrawElements함수로 그릴 떄 주의점 전 glDrawArray함수를 많이 사용하는데요. 폴라곤을 이용하여 텍스처를 입힐 때에는 glDrawElements함수를 사용하는 게 훨 편하고 속도면에서도 낫더라구요. 그런데 기존에 사용했던 glDrawArray함수와 glDrawElements함수를 사용할 때 준비해야할 점들이 다릅니다. glDrawArray함수는 vertex 좌표만 있어도 표현이 가능하죠. ( 다른 Normal등 부수적인 것을 제외 ) 하지만, glDrawElements함수에서는 vertex만큼 중요한 좌표가 두가지가 있죠. 바로!!! vertex포인터를 하게 될 좌표와 텍스처 포인터를 할 좌표!! 이 두가지를 확실하게 해주지 않으면 죽을 때까지 원하는 모양을 보실수 없으십니다. 먼저 , 텍스처 포인터를 할 때 위와 같이 두 포인터가.. 더보기