public ShaderProgramm link(GraphicContext gc) throws BuildException { GL2GL3 gl = gc.getGL().getGL2GL3(); int programObject = gl.glCreateProgram(); gl.glAttachShader(programObject, so.getShaderobjekt()); gl.glGetIntegerv(GL2GL3.GL_MAX_VERTEX_ATTRIBS, max, 0); int index = sa.getIndex(); if (index >= 0 && index < max[0]) { gl.glBindAttribLocation(programObject, sa.getIndex(), sa.getName()); gl.glProgramParameteri(programObject, GL2GL3.GL_PROGRAM_BINARY_RETRIEVABLE_HINT, GL.GL_TRUE); gl.glLinkProgram(programObject);
gl.glGenRenderbuffers(1, i, 0); id = i[0]; bind(); gl.glRenderbufferStorageMultisample(GL2ES2.GL_RENDERBUFFER, this.samples, texformat, width, height);
gl.glGetCompressedTexImage(GL.GL_TEXTURE_2D, 0, res); data = new TextureData(gl.getGLProfile(), internalFormat, width, height, border, internalFormat, GL.GL_UNSIGNED_BYTE, false, true, true, res, null); } else { final int packSwapBytes = glGetInteger(gl, GL2GL3.GL_PACK_SWAP_BYTES); gl.glPixelStorei(GL.GL_PACK_ALIGNMENT, 1); gl.glPixelStorei(GL2ES3.GL_PACK_ROW_LENGTH, 0); gl.glPixelStorei(GL2ES3.GL_PACK_SKIP_ROWS, 0); gl.glPixelStorei(GL2ES3.GL_PACK_SKIP_PIXELS, 0); gl.glPixelStorei(GL2GL3.GL_PACK_SWAP_BYTES, 0); ((fetchedFormat == GL.GL_RGB) ? "GL_RGB" : "GL_RGBA") + ")"); gl.glGetTexImage(GL.GL_TEXTURE_2D, 0, fetchedFormat, GL.GL_UNSIGNED_BYTE, res); gl.glPixelStorei(GL.GL_PACK_ALIGNMENT, packAlignment); gl.glPixelStorei(GL2ES3.GL_PACK_ROW_LENGTH, packRowLength); gl.glPixelStorei(GL2ES3.GL_PACK_SKIP_ROWS, packSkipRows); gl.glPixelStorei(GL2ES3.GL_PACK_SKIP_PIXELS, packSkipPixels); gl.glPixelStorei(GL2GL3.GL_PACK_SWAP_BYTES, packSwapBytes); data = new TextureData(gl.getGLProfile(), internalFormat, width, height, border, fetchedFormat, GL.GL_UNSIGNED_BYTE, false, false, false, res, null);
private int compileShaderObject(ShaderType type, String[] shaderText) throws BuildException { GL2GL3 gl = gc.getGL().getGL2GL3(); int glObject = gl.glCreateShader(type.glConst); gl.glShaderSource(glObject, shaderText.length, shaderText, null); gl.glCompileShader(glObject); handleError(glObject, shaderText); return glObject; }
gl.getGL2GL3().glTexImage1D(GL2GL3.GL_TEXTURE_1D, 0, JoglTextureUtil.getGLInternalFormat(texture.getTextureStoreFormat()), image.getWidth(), hasBorder ? 1 : 0, JoglTextureUtil.getGLPixelFormat(image.getDataFormat()), gl.getGL2GL3().glTexImage3D(GL2ES2.GL_TEXTURE_3D, 0, JoglTextureUtil.getGLInternalFormat(texture.getTextureStoreFormat()), image.getWidth(), image.getHeight(), image.getDepth(), hasBorder ? 1 : 0, if (caps.isAutomaticMipmapsSupported()) { gl.getGL2GL3().glTexImage1D(GL2GL3.GL_TEXTURE_1D, 0, JoglTextureUtil.getGLInternalFormat(texture.getTextureStoreFormat()), image.getWidth(), hasBorder ? 1 : 0, gl.getGL2GL3().glTexImage3D(GL2ES2.GL_TEXTURE_3D, 0, JoglTextureUtil.getGLInternalFormat(texture.getTextureStoreFormat()), image.getWidth(), image.getHeight(), image.getDepth(), hasBorder ? 1 : 0, case OneDimensional: if (texture.getTextureStoreFormat().isCompressed()) { gl.getGL2GL3().glCompressedTexImage1D(GL2GL3.GL_TEXTURE_1D, m, JoglTextureUtil.getGLInternalFormat(texture.getTextureStoreFormat()), width, hasBorder ? 1 : 0, mipSizes[m], data); } else { gl.getGL2GL3().glTexImage1D(GL2GL3.GL_TEXTURE_1D, m, JoglTextureUtil.getGLInternalFormat(texture.getTextureStoreFormat()), width, hasBorder ? 1 : 0,
gl.getGL2GL3().glTexImage3D( proxyTarget, 1, internalFormat, widthAtLevelOne, heightAtLevelOne, depthAtLevelOne, 0, format, type, null ); gl.getGL2GL3().glGetTexLevelParameteriv( proxyTarget, 1, GL2GL3.GL_TEXTURE_WIDTH, proxyWidth, 0 ); } else { proxyWidth[0] = 0;
gl2gl3.glGetIntegerv(GL2ES3.GL_NUM_EXTENSIONS, val, 0); count = val[0]; final String ext = gl2gl3.glGetStringi(GL.GL_EXTENSIONS, i); if( null == availableExtensionCache.put(ext, ext) ) {
assert( target == GL2GL3.GL_TEXTURE_1D || target == GL2GL3.GL_PROXY_TEXTURE_1D ); proxyTarget = GL2GL3.GL_PROXY_TEXTURE_1D; gl.getGL2GL3().glTexImage1D( proxyTarget, 1, internalFormat, widthAtLevelOne, 0, format, type, null ); gl.getGL2GL3().glGetTexLevelParameteriv( proxyTarget, 1, GL2GL3.GL_TEXTURE_WIDTH, proxyWidth, 0 ); } else { proxyWidth[0] = 0;
public void copyColorTo(FrameBufferObject dst) { bindAsReadBuffer(); dst.bindAsDrawBuffer(); gc.getGL().getGL2GL3().glBlitFramebuffer(0, 0, width, height, 0, 0, dst.getWidth(), dst.getHeight(), GL.GL_COLOR_BUFFER_BIT, GL.GL_LINEAR); }
@Override public boolean run(GLAutoDrawable glad) { try { GL2GL3 gl = glad.getGL().getGL2GL3(); ShaderObjekt so = createSObject(type, data, bundle.getOptions()); int po = shader.getProgramm().getPObject(); gl.glAttachShader(po, so.getShaderobjekt()); gl.glLinkProgram(po); shader.ini(shader.getProgramm()); Optional<String> error = shader.getProgramm().verify(); if (error.isPresent()) { logger.warn(error.get()); shader.ini(getFallBack().getProgramm()); } else { logger.info("Shader " + bundle + " was succesfully updated!"); } } catch (Throwable ex) { logger.warn(ex.getLocalizedMessage()); } return true; } });
gl.getGL2GL3().glRenderbufferStorageMultisample(GL.GL_RENDERBUFFER, _samples, GL.GL_RGBA, _width, _height); gl.getGL2GL3().glRenderbufferStorageMultisample(GL.GL_RENDERBUFFER, _samples, format, _width, _height);
@Override public void disable() { gc.getGL().getGL2GL3().glBindVertexArray(0); } }
@Override protected void blitMSFBO() { final GL gl = GLContext.getCurrentGL(); gl.glBindFramebuffer(GL2GL3.GL_READ_FRAMEBUFFER, _msfboID); gl.glBindFramebuffer(GL2GL3.GL_DRAW_FRAMEBUFFER, _fboID); gl.getGL2GL3().glBlitFramebuffer(0, 0, _width, _height, 0, 0, _width, _height, GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT, GL.GL_NEAREST); gl.glBindFramebuffer(GL2GL3.GL_READ_FRAMEBUFFER, 0); gl.glBindFramebuffer(GL2GL3.GL_DRAW_FRAMEBUFFER, 0); gl.glBindFramebuffer(GL.GL_FRAMEBUFFER, 0); }
@Override public void prepare() { gc.getGL().getGL2GL3().glBindVertexArray(id); }