Я написал простой код VBO для своих 3D-моделей. Я делаю 3 буфера для вершин, цветов и нормалей. Он не выдает никаких ошибок, но и не рендерит. Как я могу это исправить?
Это мой код (я использую фиксированный конвейер рендеринга):
Я написал простой код VBO для своих 3D-моделей. Я делаю 3 буфера для вершин, цветов и нормалей. Он не выдает никаких ошибок, но и не рендерит. Как я могу это исправить? Это мой код (я использую фиксированный конвейер рендеринга): [code]public class OptimizedModel3d extends Model3d{ int len; int vbo_vertex_handle; FloatBuffer vertex_data; int vbo_color_handle; FloatBuffer color_data; int vbo_normal_handle; FloatBuffer normal_data; public OptimizedModel3d(ColorfulTriangle[] mess, Model3d model3d){ super(mess); Mesh = null; ColorfulTriangle[] mesh = model3d.Mesh; ignoreillum = model3d.ignoreillum; transparent = model3d.transparent; vertex_data = BufferUtils.createFloatBuffer(mesh.length*9); color_data = BufferUtils.createFloatBuffer(mesh.length*12); normal_data = BufferUtils.createFloatBuffer(mesh.length*9); len = mesh.length*3; for(ColorfulTriangle i: mesh){ for(int j = 0; j < 3; j++) { vertex_data.put(i.Vertexes3f[j]); normal_data.put(i.Normales3f[j]); color_data.put(i.Color4f); } } vertex_data.flip(); color_data.flip(); normal_data.flip(); vbo_vertex_handle = glGenBuffers(); glBindBuffer(GL_ARRAY_BUFFER, vbo_vertex_handle); glBufferData(GL_ARRAY_BUFFER, vertex_data, GL_STATIC_DRAW); glBindBuffer(GL_ARRAY_BUFFER, 0); vbo_color_handle = glGenBuffers(); glBindBuffer(GL_ARRAY_BUFFER, vbo_color_handle); glBufferData(GL_ARRAY_BUFFER, color_data, GL_STATIC_DRAW); glBindBuffer(GL_ARRAY_BUFFER, 0); vbo_normal_handle = glGenBuffers(); glBindBuffer(GL_ARRAY_BUFFER, vbo_normal_handle); glBufferData(GL_ARRAY_BUFFER, normal_data, GL_STATIC_DRAW); glBindBuffer(GL_ARRAY_BUFFER, 0); }