org.lwjgl.opengl.GL15 Java Examples
The following examples show how to use
org.lwjgl.opengl.GL15.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: GL33Helper.java From ldparteditor with MIT License | 7 votes |
public static void drawLinesRGB_GeneralSlow(float[] vertices) { int VBO_general = GL15.glGenBuffers(); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, VBO_general); GL15.glBufferData(GL15.GL_ARRAY_BUFFER, vertices, GL15.GL_STREAM_DRAW); GL20.glEnableVertexAttribArray(POSITION_SHADER_LOCATION); GL20.glVertexAttribPointer(POSITION_SHADER_LOCATION, 3, GL11.GL_FLOAT, false, RGB_STRIDE, 0); GL20.glEnableVertexAttribArray(COLOUR_SHADER_LOCATION); GL20.glVertexAttribPointer(COLOUR_SHADER_LOCATION, 3, GL11.GL_FLOAT, false, RGB_STRIDE, 12); // 3 * 4 GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0); GL11.glDrawArrays(GL11.GL_LINES, 0, vertices.length); GL15.glDeleteBuffers(VBO_general); }
Example #2
Source File: DesktopComputeJobManager.java From graphicsfuzz with Apache License 2.0 | 6 votes |
@Override public JsonObject executeComputeShader() { GL20.glUseProgram(program); checkError(); GL43.glDispatchCompute(numGroups[0], numGroups[1], numGroups[2]); checkError(); GL42.glMemoryBarrier(GL43.GL_SHADER_STORAGE_BARRIER_BIT); checkError(); GL15.glBindBuffer(GL43.GL_SHADER_STORAGE_BUFFER, shaderStorageBufferObject); checkError(); final IntBuffer dataFromComputeShader = GL15.glMapBuffer(GL43.GL_SHADER_STORAGE_BUFFER, GL15.GL_READ_ONLY) .asIntBuffer(); checkError(); final JsonArray jsonArray = new JsonArray(); for (int i = 0; i < dataFromComputeShader.limit(); i++) { jsonArray.add(dataFromComputeShader.get(i)); } final JsonObject result = new JsonObject(); result.add("output", jsonArray); return result; }
Example #3
Source File: CurveRenderState.java From opsu-dance with GNU General Public License v3.0 | 6 votes |
/** * Restore the old OpenGL state that's backed up in {@code state}. * @param state the old state to restore */ private void restoreRenderState(RenderState state) { GL11.glMatrixMode(GL11.GL_PROJECTION); GL11.glPopMatrix(); GL11.glMatrixMode(GL11.GL_MODELVIEW); GL11.glPopMatrix(); GL11.glEnable(GL11.GL_BLEND); GL20.glUseProgram(state.oldProgram); GL13.glActiveTexture(state.texUnit); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, state.oldArrayBuffer); if (!state.depthWriteEnabled) GL11.glDepthMask(false); if (!state.depthEnabled) GL11.glDisable(GL11.GL_DEPTH_TEST); if (state.texEnabled) GL11.glEnable(GL11.GL_TEXTURE_2D); if (state.smoothedPoly) GL11.glEnable(GL11.GL_POLYGON_SMOOTH); if (!state.blendEnabled) GL11.glDisable(GL11.GL_BLEND); }
Example #4
Source File: VBORenderType.java From CodeChickenLib with GNU Lesser General Public License v2.1 | 6 votes |
/** * Can be called runtime to have the Buffer rebuilt, * doing so has very limited applications and is not recommended. */ public void rebuild() { if (bufferId == -1) { bufferId = GL15.glGenBuffers(); } BufferBuilder builder = new BufferBuilder(getBufferSize()); builder.begin(getDrawMode(), getVertexFormat()); factory.accept(getVertexFormat(), builder); builder.finishDrawing(); Pair<BufferBuilder.DrawState, ByteBuffer> pair = builder.getNextBuffer(); ByteBuffer buffer = pair.getSecond(); count = buffer.remaining() / getVertexFormat().getSize(); GL15.glBindBuffer(GL_ARRAY_BUFFER, bufferId); GL15.glBufferData(GL_ARRAY_BUFFER, buffer, GL_STATIC_DRAW); GL15.glBindBuffer(GL_ARRAY_BUFFER, 0); }
Example #5
Source File: GL33Helper.java From ldparteditor with MIT License | 6 votes |
public static void drawTriangleVAO_GeneralSlow(float[] vertices) { int VAO_general = GL30.glGenVertexArrays(); int VBO_general = GL15.glGenBuffers(); GL30.glBindVertexArray(VAO_general); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, VBO_general); GL15.glBufferData(GL15.GL_ARRAY_BUFFER, vertices, GL15.GL_STREAM_DRAW); GL20.glEnableVertexAttribArray(POSITION_SHADER_LOCATION); GL20.glVertexAttribPointer(POSITION_SHADER_LOCATION, 3, GL11.GL_FLOAT, false, 12, 0); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0); GL11.glDrawArrays(GL11.GL_TRIANGLES, 0, 3); GL30.glBindVertexArray(0); GL30.glDeleteVertexArrays(VAO_general); GL15.glDeleteBuffers(VBO_general); }
Example #6
Source File: LegacyCurveRenderState.java From opsu with GNU General Public License v3.0 | 6 votes |
/** * Restore the old OpenGL state that's backed up in {@code state}. * @param state the old state to restore */ private void restoreRenderState(RenderState state) { GL11.glMatrixMode(GL11.GL_PROJECTION); GL11.glPopMatrix(); GL11.glMatrixMode(GL11.GL_MODELVIEW); GL11.glPopMatrix(); GL11.glEnable(GL11.GL_BLEND); GL20.glUseProgram(state.oldProgram); GL13.glActiveTexture(state.texUnit); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, state.oldArrayBuffer); if (!state.depthWriteEnabled) GL11.glDepthMask(false); if (!state.depthEnabled) GL11.glDisable(GL11.GL_DEPTH_TEST); if (state.texEnabled) GL11.glEnable(GL11.GL_TEXTURE_2D); if (state.smoothedPoly) GL11.glEnable(GL11.GL_POLYGON_SMOOTH); if (!state.blendEnabled) GL11.glDisable(GL11.GL_BLEND); }
Example #7
Source File: GL33Helper.java From ldparteditor with MIT License | 6 votes |
public static void drawTrianglesIndexedRGB_GeneralSlow(float[] vertices, int[] indices) { int VBO_general = GL15.glGenBuffers(); int EBO_general = GL15.glGenBuffers(); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, VBO_general); GL15.glBufferData(GL15.GL_ARRAY_BUFFER, vertices, GL15.GL_STREAM_DRAW); GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, EBO_general); GL15.glBufferData(GL15.GL_ELEMENT_ARRAY_BUFFER, indices, GL15.GL_STREAM_DRAW); GL20.glEnableVertexAttribArray(POSITION_SHADER_LOCATION); GL20.glVertexAttribPointer(POSITION_SHADER_LOCATION, 3, GL11.GL_FLOAT, false, RGB_STRIDE, 0); GL20.glEnableVertexAttribArray(COLOUR_SHADER_LOCATION); GL20.glVertexAttribPointer(COLOUR_SHADER_LOCATION, 3, GL11.GL_FLOAT, false, RGB_STRIDE, 12); // 3 * 4 GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0); GL11.glDrawElements(GL11.GL_TRIANGLES, indices.length, GL11.GL_UNSIGNED_INT, 0); GL15.glDeleteBuffers(VBO_general); GL15.glDeleteBuffers(EBO_general); }
Example #8
Source File: CurveRenderState.java From opsu with GNU General Public License v3.0 | 6 votes |
/** * Restore the old OpenGL state that's backed up in {@code state}. * @param state the old state to restore */ private void restoreRenderState(RenderState state) { GL11.glEnable(GL11.GL_BLEND); GL20.glUseProgram(state.oldProgram); GL11.glDisable(GL11.GL_TEXTURE_1D); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, state.oldArrayBuffer); if (!state.depthWriteEnabled) GL11.glDepthMask(false); if (!state.depthEnabled) GL11.glDisable(GL11.GL_DEPTH_TEST); if (state.texEnabled) GL11.glEnable(GL11.GL_TEXTURE_2D); if (state.smoothedPoly) GL11.glEnable(GL11.GL_POLYGON_SMOOTH); if (!state.blendEnabled) GL11.glDisable(GL11.GL_BLEND); }
Example #9
Source File: GL33ModelRenderer.java From ldparteditor with MIT License | 6 votes |
public void dispose() { isRunning.set(false); GL30.glDeleteVertexArrays(vao); GL15.glDeleteBuffers(vbo); GL30.glDeleteVertexArrays(vaoVertices); GL15.glDeleteBuffers(vboVertices); GL30.glDeleteVertexArrays(vaoLines); GL15.glDeleteBuffers(vboLines); GL30.glDeleteVertexArrays(vaoTempLines); GL15.glDeleteBuffers(vboTempLines); GL30.glDeleteVertexArrays(vaoSelectionLines); GL15.glDeleteBuffers(vboSelectionLines); GL30.glDeleteVertexArrays(vaoCondlines); GL15.glDeleteBuffers(vboCondlines); GL30.glDeleteVertexArrays(vaoCSG); GL15.glDeleteBuffers(vboCSG); GL30.glDeleteVertexArrays(vaoStudLogo1); GL15.glDeleteBuffers(vboStudLogo1); GL30.glDeleteVertexArrays(vaoStudLogo2); GL15.glDeleteBuffers(vboStudLogo2); }
Example #10
Source File: GL33Helper.java From ldparteditor with MIT License | 6 votes |
public void drawTrianglesIndexedRGB_General(float[] vertices, int[] indices) { GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, VBO_general); GL15.glBufferData(GL15.GL_ARRAY_BUFFER, vertices, GL15.GL_STREAM_DRAW); GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, EBO_general); GL15.glBufferData(GL15.GL_ELEMENT_ARRAY_BUFFER, indices, GL15.GL_STREAM_DRAW); GL20.glEnableVertexAttribArray(POSITION_SHADER_LOCATION); GL20.glVertexAttribPointer(POSITION_SHADER_LOCATION, 3, GL11.GL_FLOAT, false, RGB_STRIDE, 0); GL20.glEnableVertexAttribArray(COLOUR_SHADER_LOCATION); GL20.glVertexAttribPointer(COLOUR_SHADER_LOCATION, 3, GL11.GL_FLOAT, false, RGB_STRIDE, 12); // 3 * 4 GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0); GL11.glDrawElements(GL11.GL_TRIANGLES, indices.length, GL11.GL_UNSIGNED_INT, 0); }
Example #11
Source File: GL33HelperPrimitives.java From ldparteditor with MIT License | 6 votes |
public static void drawTrianglesIndexedRGB_Triangle(float[] vertices, int[] indices) { GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, VBO_triangle); GL15.glBufferSubData(GL15.GL_ARRAY_BUFFER, 0, vertices); GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, EBO_triangle); GL15.glBufferSubData(GL15.GL_ELEMENT_ARRAY_BUFFER, 0, indices); GL20.glEnableVertexAttribArray(POSITION_SHADER_LOCATION); GL20.glVertexAttribPointer(POSITION_SHADER_LOCATION, 3, GL11.GL_FLOAT, false, RGB_STRIDE, 0); GL20.glEnableVertexAttribArray(COLOUR_SHADER_LOCATION); GL20.glVertexAttribPointer(COLOUR_SHADER_LOCATION, 3, GL11.GL_FLOAT, false, RGB_STRIDE, 12); // 3 * 4 GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0); GL11.glDrawElements(GL11.GL_TRIANGLES, 6, GL11.GL_UNSIGNED_INT, 0); }
Example #12
Source File: DesktopComputeJobManager.java From graphicsfuzz with Apache License 2.0 | 6 votes |
@Override public void prepareEnvironment(JsonObject environmentJson) { final JsonObject bufferJson = environmentJson.get("buffer").getAsJsonObject(); final int bufferBinding = bufferJson.get("binding").getAsInt(); final int[] bufferInput = UniformSetter.getIntArray(bufferJson.get("input").getAsJsonArray()); final IntBuffer intBufferData = BufferUtils.createIntBuffer(bufferInput.length); intBufferData.put(bufferInput); intBufferData.flip(); shaderStorageBufferObject = GL15.glGenBuffers(); checkError(); GL15.glBindBuffer(GL43.GL_SHADER_STORAGE_BUFFER, shaderStorageBufferObject); checkError(); GL15.glBufferData(GL43.GL_SHADER_STORAGE_BUFFER, intBufferData, GL15.GL_STATIC_DRAW); checkError(); GL30.glBindBufferBase(GL43.GL_SHADER_STORAGE_BUFFER, bufferBinding, shaderStorageBufferObject); checkError(); numGroups = UniformSetter.getIntArray(environmentJson.get("num_groups").getAsJsonArray()); }
Example #13
Source File: GL33HelperPrimitives.java From ldparteditor with MIT License | 6 votes |
public static void drawTrianglesIndexedRGB_Quad(float[] vertices, int[] indices) { GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, VBO_quad); GL15.glBufferSubData(GL15.GL_ARRAY_BUFFER, 0 , vertices); GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, EBO_quad); GL15.glBufferSubData(GL15.GL_ELEMENT_ARRAY_BUFFER, 0, indices); GL20.glEnableVertexAttribArray(POSITION_SHADER_LOCATION); GL20.glVertexAttribPointer(POSITION_SHADER_LOCATION, 3, GL11.GL_FLOAT, false, RGB_STRIDE, 0); GL20.glEnableVertexAttribArray(COLOUR_SHADER_LOCATION); GL20.glVertexAttribPointer(COLOUR_SHADER_LOCATION, 3, GL11.GL_FLOAT, false, RGB_STRIDE, 12); // 3 * 4 GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0); GL11.glDrawElements(GL11.GL_TRIANGLES, 12, GL11.GL_UNSIGNED_INT, 0); }
Example #14
Source File: GL33Helper.java From ldparteditor with MIT License | 5 votes |
public static void drawTriangle_GeneralSlow(float[] vertices) { int VBO_general = GL15.glGenBuffers(); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, VBO_general); GL15.glBufferData(GL15.GL_ARRAY_BUFFER, vertices, GL15.GL_STREAM_DRAW); GL20.glEnableVertexAttribArray(POSITION_SHADER_LOCATION); GL20.glVertexAttribPointer(POSITION_SHADER_LOCATION, 3, GL11.GL_FLOAT, false, 12, 0); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0); GL11.glDrawArrays(GL11.GL_TRIANGLES, 0, 3); GL15.glDeleteBuffers(VBO_general); }
Example #15
Source File: Vao.java From LowPolyWater with The Unlicense | 5 votes |
public Vbo initDataFeed(FloatBuffer data, int usage, Attribute... newAttributes) { int bytesPerVertex = getVertexDataTotalBytes(newAttributes); Vbo vbo = Vbo.create(GL15.GL_ARRAY_BUFFER, usage); relatedVbos.add(vbo); vbo.allocateData(data.limit() * DataUtils.BYTES_IN_FLOAT); vbo.storeData(0, data); linkAttributes(bytesPerVertex, newAttributes); vbo.unbind(); return vbo; }
Example #16
Source File: CurveRenderState.java From opsu-dance with GNU General Public License v3.0 | 5 votes |
/** * Backup the current state of the relevant OpenGL state and change it to * what's needed to draw the curve. */ private RenderState saveRenderState() { RenderState state = new RenderState(); state.smoothedPoly = GL11.glGetBoolean(GL11.GL_POLYGON_SMOOTH); state.blendEnabled = GL11.glGetBoolean(GL11.GL_BLEND); state.depthEnabled = GL11.glGetBoolean(GL11.GL_DEPTH_TEST); state.depthWriteEnabled = GL11.glGetBoolean(GL11.GL_DEPTH_WRITEMASK); state.texEnabled = GL11.glGetBoolean(GL11.GL_TEXTURE_2D); state.texUnit = GL11.glGetInteger(GL13.GL_ACTIVE_TEXTURE); state.oldProgram = GL11.glGetInteger(GL20.GL_CURRENT_PROGRAM); state.oldArrayBuffer = GL11.glGetInteger(GL15.GL_ARRAY_BUFFER_BINDING); GL11.glDisable(GL11.GL_POLYGON_SMOOTH); GL11.glDisable(GL11.GL_BLEND); GL11.glEnable(GL11.GL_DEPTH_TEST); GL11.glDepthMask(true); GL11.glDisable(GL11.GL_TEXTURE_2D); GL11.glEnable(GL11.GL_TEXTURE_1D); GL11.glBindTexture(GL11.GL_TEXTURE_1D, staticState.gradientTexture); GL11.glTexParameteri(GL11.GL_TEXTURE_1D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_LINEAR_MIPMAP_LINEAR); GL11.glTexParameteri(GL11.GL_TEXTURE_1D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_LINEAR); GL11.glTexParameteri(GL11.GL_TEXTURE_1D, GL11.GL_TEXTURE_WRAP_S, GL11.GL_CLAMP); GL20.glUseProgram(0); GL11.glMatrixMode(GL11.GL_PROJECTION); GL11.glPushMatrix(); GL11.glLoadIdentity(); GL11.glMatrixMode(GL11.GL_MODELVIEW); GL11.glPushMatrix(); GL11.glLoadIdentity(); return state; }
Example #17
Source File: Vao.java From OpenGL-Animation with The Unlicense | 5 votes |
public void createIntAttribute(int attribute, int[] data, int attrSize){ Vbo dataVbo = Vbo.create(GL15.GL_ARRAY_BUFFER); dataVbo.bind(); dataVbo.storeData(data); GL30.glVertexAttribIPointer(attribute, attrSize, GL11.GL_INT, attrSize * BYTES_PER_INT, 0); dataVbo.unbind(); dataVbos.add(dataVbo); }
Example #18
Source File: CurveRenderState.java From opsu-dance with GNU General Public License v3.0 | 5 votes |
/** * Do the actual drawing of the curve into the currently bound framebuffer. * @param color the color of the curve * @param borderColor the curve border color */ private void renderCurve(Color color, Color borderColor, int from, int to, boolean clearFirst) { staticState.initGradient(); RenderState state = saveRenderState(); staticState.initShaderProgram(); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, fbo.getVbo()); GL20.glUseProgram(staticState.program); GL20.glEnableVertexAttribArray(staticState.attribLoc); GL20.glEnableVertexAttribArray(staticState.texCoordLoc); GL20.glUniform1i(staticState.texLoc, 0); GL20.glUniform3f(staticState.colLoc, color.r, color.g, color.b); GL20.glUniform4f(staticState.colBorderLoc, borderColor.r, borderColor.g, borderColor.b, borderColor.a); //stride is 6*4 for the floats (4 bytes) (u,v)(x,y,z,w) //2*4 is for skipping the first 2 floats (u,v) GL20.glVertexAttribPointer(staticState.attribLoc, 4, GL11.GL_FLOAT, false, 6 * 4, 2 * 4); GL20.glVertexAttribPointer(staticState.texCoordLoc, 2, GL11.GL_FLOAT, false, 6 * 4, 0); if (clearFirst) { GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT); } final int mirrors = OPTION_DANCE_MIRROR.state ? this.mirrors : 1; for (int i = 0; i < mirrors; i++) { if (pointsToRender == null) { renderCurve(from, to, i); } else { renderCurve(i); } //from++; //to++; } GL11.glFlush(); GL20.glDisableVertexAttribArray(staticState.texCoordLoc); GL20.glDisableVertexAttribArray(staticState.attribLoc); restoreRenderState(state); }
Example #19
Source File: GL33HelperPrimitives.java From ldparteditor with MIT License | 5 votes |
public static void drawLinesRGB_Line(float[] vertices) { GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, VBO_line); GL15.glBufferSubData(GL15.GL_ARRAY_BUFFER, 0, vertices); GL20.glEnableVertexAttribArray(POSITION_SHADER_LOCATION); GL20.glVertexAttribPointer(POSITION_SHADER_LOCATION, 3, GL11.GL_FLOAT, false, RGB_STRIDE, 0); GL20.glEnableVertexAttribArray(COLOUR_SHADER_LOCATION); GL20.glVertexAttribPointer(COLOUR_SHADER_LOCATION, 3, GL11.GL_FLOAT, false, RGB_STRIDE, 12); // 3 * 4 GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0); GL11.glDrawArrays(GL11.GL_LINES, 0, 2); }
Example #20
Source File: VBORenderType.java From CodeChickenLib with GNU Lesser General Public License v2.1 | 5 votes |
private void render() { if (bufferId == -1) { rebuild(); } GL15.glBindBuffer(GL_ARRAY_BUFFER, bufferId); getVertexFormat().setupBufferState(0); GL15.glDrawArrays(getDrawMode(), 0, count); getVertexFormat().clearBufferState(); GL15.glBindBuffer(GL_ARRAY_BUFFER, 0); }
Example #21
Source File: Renderer.java From mars-sim with GNU General Public License v3.0 | 5 votes |
public void renderMesh(Mesh mesh) { GL30.glBindVertexArray(mesh.getVAO()); GL30.glEnableVertexAttribArray(0); GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, mesh.getIBO()); GL11.glDrawElements(GL11.GL_TRIANGLES, mesh.getIndices().length, GL11.GL_UNSIGNED_INT, 0); GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, 0); GL30.glDisableVertexAttribArray(0); GL30.glBindVertexArray(0); }
Example #22
Source File: Mesh.java From mars-sim with GNU General Public License v3.0 | 5 votes |
public void create() { vao = GL30.glGenVertexArrays(); GL30.glBindVertexArray(vao); FloatBuffer positionBuffer = MemoryUtil.memAllocFloat(vertices.length * 3); float[] positionData = new float[vertices.length * 3]; for (int i = 0; i < vertices.length; i++) { positionData[i * 3] = vertices[i].getPosition().getX(); positionData[i * 3 + 1] = vertices[i].getPosition().getY(); positionData[i * 3 + 2] = vertices[i].getPosition().getZ(); } positionBuffer.put(positionData).flip(); pbo = GL15.glGenBuffers(); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, pbo); GL15.glBufferData(GL15.GL_ARRAY_BUFFER, positionBuffer, GL15.GL_STATIC_DRAW); GL20.glVertexAttribPointer(0, 3, GL11.GL_FLOAT, false, 0, 0); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0); IntBuffer indicesBuffer = MemoryUtil.memAllocInt(indices.length); indicesBuffer.put(indices).flip(); ibo = GL15.glGenBuffers(); GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, ibo); GL15.glBufferData(GL15.GL_ELEMENT_ARRAY_BUFFER, indicesBuffer, GL15.GL_STATIC_DRAW); GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, 0); }
Example #23
Source File: Errors.java From Visage with MIT License | 5 votes |
private static void buildMapping() { if (mapping != null) return; Multimap<Integer, String> map = HashMultimap.create(); List<Class<?>> classes = ImmutableList.of( GL11.class, GL12.class, GL13.class, GL14.class, GL15.class, GL20.class, GL21.class, GL30.class, GL31.class, GL32.class, GL33.class, GL40.class, GL41.class, GL42.class, GL43.class, GL44.class, GL45.class, GLFW.class ); for (Class<?> clazz : classes) { for (Field f : clazz.getDeclaredFields()) { if (f.getName().toUpperCase(Locale.ROOT).equals(f.getName()) && f.getType() == int.class && Modifier.isPublic(f.getModifiers()) && Modifier.isStatic(f.getModifiers())) { List<String> li = Splitter.on('_').splitToList(f.getName()); li = li.subList(1, li.size()); String clean = Joiner.on(' ').join( li.stream() .map(Errors::toTitleCase) .iterator()); try { map.put(f.getInt(null), clean); } catch (Throwable t) { t.printStackTrace(); } } } } mapping = map; }
Example #24
Source File: GL33ModelRendererLDrawStandard.java From ldparteditor with MIT License | 5 votes |
public void dispose() { isRunning.set(false); GL30.glDeleteVertexArrays(vao); GL15.glDeleteBuffers(vbo); GL30.glDeleteVertexArrays(vaoLines); GL15.glDeleteBuffers(vboLines); GL30.glDeleteVertexArrays(vaoCondlines); GL15.glDeleteBuffers(vboCondlines); GL30.glDeleteVertexArrays(vaoStudLogo1); GL15.glDeleteBuffers(vboStudLogo1); GL30.glDeleteVertexArrays(vaoStudLogo2); GL15.glDeleteBuffers(vboStudLogo2); }
Example #25
Source File: GL33Helper.java From ldparteditor with MIT License | 5 votes |
public static void drawTrianglesIndexedTextured_GeneralSlow(float[] vertices, int[] indices) { int VAO_general = GL30.glGenVertexArrays(); int VBO_general = GL15.glGenBuffers(); int EBO_general = GL15.glGenBuffers(); GL30.glBindVertexArray(VAO_general); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, VBO_general); GL15.glBufferData(GL15.GL_ARRAY_BUFFER, vertices, GL15.GL_STATIC_DRAW); GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, EBO_general); GL15.glBufferData(GL15.GL_ELEMENT_ARRAY_BUFFER, indices, GL15.GL_STATIC_DRAW); GL20.glEnableVertexAttribArray(POSITION_SHADER_LOCATION); GL20.glVertexAttribPointer(POSITION_SHADER_LOCATION, 3, GL11.GL_FLOAT, false, RGB_UV_STRIDE, 0); GL20.glEnableVertexAttribArray(TEX_NORMAL_SHADER_LOCATION); GL20.glVertexAttribPointer(TEX_NORMAL_SHADER_LOCATION, 3, GL11.GL_FLOAT, false, RGB_UV_STRIDE, 12); // 3 * 4 GL20.glEnableVertexAttribArray(TEX_COLOUR_SHADER_LOCATION); GL20.glVertexAttribPointer(TEX_COLOUR_SHADER_LOCATION, 4, GL11.GL_FLOAT, false, RGB_UV_STRIDE, 24); GL20.glEnableVertexAttribArray(UV_SHADER_LOCATION); GL20.glVertexAttribPointer(UV_SHADER_LOCATION, 2, GL11.GL_FLOAT, false, RGB_UV_STRIDE, 40); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0); GL11.glDrawElements(GL11.GL_TRIANGLES, indices.length, GL11.GL_UNSIGNED_INT, 0); GL30.glBindVertexArray(0); GL30.glDeleteVertexArrays(VAO_general); GL15.glDeleteBuffers(VBO_general); GL15.glDeleteBuffers(EBO_general); }
Example #26
Source File: OpenGL3_TheQuadTextured.java From ldparteditor with MIT License | 5 votes |
private void destroyOpenGL() { // Delete the texture GL11.glDeleteTextures(texIds[0]); GL11.glDeleteTextures(texIds[1]); // Delete the shaders GL20.glUseProgram(0); GL20.glDetachShader(pId, vsId); GL20.glDetachShader(pId, fsId); GL20.glDeleteShader(vsId); GL20.glDeleteShader(fsId); GL20.glDeleteProgram(pId); // Select the VAO GL30.glBindVertexArray(vaoId); // Disable the VBO index from the VAO attributes list GL20.glDisableVertexAttribArray(0); GL20.glDisableVertexAttribArray(1); // Delete the vertex VBO GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0); GL15.glDeleteBuffers(vboId); // Delete the index VBO GL15.glBindBuffer(GL15.GL_ELEMENT_ARRAY_BUFFER, 0); GL15.glDeleteBuffers(vboiId); // Delete the VAO GL30.glBindVertexArray(0); GL30.glDeleteVertexArrays(vaoId); this.exitOnGLError("destroyOpenGL"); Display.destroy(); }
Example #27
Source File: vboWithRGBA.java From ldparteditor with MIT License | 5 votes |
@Override public void dispose() { // Properly de-allocate all resources once they've outlived their purpose shaderProgram.dispose(); GL30.glDeleteVertexArrays(VAO); GL15.glDeleteBuffers(VBO); }
Example #28
Source File: GL33HelperPrimitives.java From ldparteditor with MIT License | 5 votes |
public static void destroyVBO_PrimitiveArea() { GL15.glDeleteBuffers(VBO_triangle); GL15.glDeleteBuffers(EBO_triangle); GL15.glDeleteBuffers(VBO_quad); GL15.glDeleteBuffers(EBO_quad); GL15.glDeleteBuffers(VBO_line); }
Example #29
Source File: vboWithIndices.java From ldparteditor with MIT License | 5 votes |
@Override public void dispose() { // Properly de-allocate all resources once they've outlived their purpose shaderProgram.dispose(); GL30.glDeleteVertexArrays(VAO); GL15.glDeleteBuffers(VBO); GL15.glDeleteBuffers(EBO); isRendering.set(false); }
Example #30
Source File: GL33Helper.java From ldparteditor with MIT License | 5 votes |
public void drawLinesRGB_General(float[] vertices) { GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, VBO_general); GL15.glBufferData(GL15.GL_ARRAY_BUFFER, vertices, GL15.GL_STREAM_DRAW); GL20.glEnableVertexAttribArray(POSITION_SHADER_LOCATION); GL20.glVertexAttribPointer(POSITION_SHADER_LOCATION, 3, GL11.GL_FLOAT, false, RGB_STRIDE, 0); GL20.glEnableVertexAttribArray(COLOUR_SHADER_LOCATION); GL20.glVertexAttribPointer(COLOUR_SHADER_LOCATION, 3, GL11.GL_FLOAT, false, RGB_STRIDE, 12); // 3 * 4 GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0); GL11.glDrawArrays(GL11.GL_LINES, 0, vertices.length); }