2016-06-20 3 views
3

OpenGL 함수를 호출하는 데 LWJGL을 사용하고 있습니다.LWJGL3 : 오버로드 된 glBufferData 메서드

org.lwjgl.opengl.GL15#glBufferData() 메서드는 OpenGL method을 호출합니다. 그것은 LWJGL 여러 과부하 변종을 가지고 있으며, 간단한 삼각형 (생략 다른 관련이없는 OpenGL을 호출)이 같은 FloatBuffer로 가장 내가 본 사용되는 :

float[] triangle = new float[]{ 
    0.0f, 0.5f, 0.0f, 
    -0.5f, -0.5f, 0.0f, 
    0.5f, -0.5f, 0.0f 
}; 

FloatBuffer buf = BufferUtils.createFloatBuffer(triangle.length); 
buf.put(triangle).flip(); 

int vbo = glGenBuffers(); 
glBindBuffer(GL_ARRAY_BUFFER, vbo); 
glBufferData(GL_ARRAY_BUFFER, buf, GL_STATIC_DRAW); 

그러나 직접 받아 변종도있다 배열, 예. float []를 데이터로 사용하십시오. 온라인에서 어떤 코드 예제에서도 사용 된 것을 본 적이 없기 때문에 어떤 이유로 든 낙담하는지 궁금합니다.

답변

1

방법의 사용법. 배열이 이 아닌 은 낙심 한이 아닙니다. 최근에 추가 된 것이므로 온라인 의 사용 예는 찾을 수 없습니다. 이러한 방법을 사용하여 아무 문제가 없습니다 AFAIK 배열 (및 데이터) 머리에서와 같이

execpt 그들은 *Buffer 가진 것보다 일부 느려질 수 있습니다. 이것이 실제 성능 문제인지 여부는 논란의 여지가 있으며 으로 특정 상황을 프로파일 링하는 경우에만 확인할 수 있습니다.

에 더 편한 무엇이든지 사용하십시오..

관련 문제