float scaleInSquared = (float)Math.sqrt(scaleIn); textures[i].bind(gl2); textures[i].enable(gl2); gl2.glPushMatrix(); gl2.glTranslatef((float)(width/2), (float)(height/2), 0); textures[i].enable(gl2); gl2.glPushMatrix(); gl2.glTranslatef((float)(width/2), (float)(height/2), 0); texYantra.enable(gl2); gl2.glPushMatrix(); gl2.glTranslatef((float)(width/2), (float)(height/2), 0); texYantra.enable(gl2); gl2.glPushMatrix(); gl2.glTranslatef((float)(width/2), (float)(height/2), 0);
texYantra.enable(gl2); float lastVal = 0f; for (int i = 0; i < numDepthQuads; i++) {
private Texture setupTexture(GL2 gl, Texture texture, Group group) { if (group.getMaterial() != null) { texture = loadTexture(group); } if (texture != null && drawTexture) { gl.glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); // Use linear filter for texture if image is smaller than the original texture gl.glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); gl.glTexEnvi(GL2.GL_TEXTURE_ENV, GL2.GL_TEXTURE_ENV_MODE, GL2.GL_DECAL); texture.enable(gl); texture.bind(gl); } else { setupColor(gl); } return texture; }
texture.enable(gl); gl.glEnable(GL2.GL_TEXTURE_2D); gl.glTexEnvf(GL2.GL_POINT_SPRITE, GL2.GL_COORD_REPLACE, GL2.GL_TRUE);
@Override protected final int getNextTextureImpl(final GL gl, final TextureFrame nextFrame) { if(0==moviePtr) { throw new GLException("FFMPEG native instance null"); } int vPTS = TimeFrameI.INVALID_PTS; if( null != gl ) { final Texture tex = nextFrame.getTexture(); tex.enable(gl); tex.bind(gl); } /** Try decode up to 10 packets to find one containing video. */ for(int i=0; TimeFrameI.INVALID_PTS == vPTS && 10 > i; i++) { vPTS = natives.readNextPacket0(moviePtr, getTextureTarget(), getTextureFormat(), getTextureType()); } if( null != nextFrame ) { nextFrame.setPTS(vPTS); } return vPTS; }
@Override protected final int getNextTextureImpl(final GL gl, final TextureFrame nextFrame) { if(0==moviePtr) { throw new GLException("FFMPEG native instance null"); } int vPTS = TimeFrameI.INVALID_PTS; if( null != gl ) { final Texture tex = nextFrame.getTexture(); tex.enable(gl); tex.bind(gl); } /** Try decode up to 10 packets to find one containing video. */ for(int i=0; TimeFrameI.INVALID_PTS == vPTS && 10 > i; i++) { vPTS = natives.readNextPacket0(moviePtr, getTextureTarget(), getTextureFormat(), getTextureType()); } if( null != nextFrame ) { nextFrame.setPTS(vPTS); } return vPTS; }
@Override protected void begin(Texture texture, AffineTransform xform, Color bgcolor) { gl.glTexEnvi(GL2ES1.GL_TEXTURE_ENV, GL2ES1.GL_TEXTURE_ENV_MODE, GL2ES1.GL_MODULATE); gl.glTexParameterf(GL2ES1.GL_TEXTURE_ENV, GL2ES1.GL_TEXTURE_ENV_MODE, GL.GL_BLEND); /* * FIXME This is unexpected since we never disable blending, but in some * cases it interacts poorly with multiple split panes, scroll panes and the * text renderer to disable blending. */ g2d.setComposite(g2d.getComposite()); texture.enable(gl); texture.bind(gl); savedTransform = null; if (xform != null && !xform.isIdentity()) { savedTransform = g2d.getTransform(); g2d.transform(xform); } g2d.getColorHelper().setColorRespectComposite(bgcolor == null ? Color.white : bgcolor); }
@Override protected void begin(Texture texture, AffineTransform xform, Color bgcolor) { gl.glTexEnvi(GL2ES1.GL_TEXTURE_ENV, GL2ES1.GL_TEXTURE_ENV_MODE, GL2ES1.GL_MODULATE); gl.glTexParameterf(GL2ES1.GL_TEXTURE_ENV, GL2ES1.GL_TEXTURE_ENV_MODE, GL.GL_BLEND); /* * FIXME This is unexpected since we never disable blending, but in some * cases it interacts poorly with multiple split panes, scroll panes and the * text renderer to disable blending. */ g2d.setComposite(g2d.getComposite()); texture.enable(gl); texture.bind(gl); gl.glMatrixMode(GLMatrixFunc.GL_MODELVIEW); gl.glPushMatrix(); if (xform != null && !xform.isIdentity()) { GLG2DUtils.multMatrix(gl, xform); } g2d.getColorHelper().setColorRespectComposite(bgcolor == null ? Color.white : bgcolor); }
/** * Bind texture. * * @param gl * context * @param texture * the texture */ public void bindTexture(GL2 gl, Texture texture) { // switch to texture mode and push a new matrix on the stack gl.glMatrixMode(GL.GL_TEXTURE); gl.glPushMatrix(); // check to see if the texture needs flipping if (texture.getMustFlipVertically()) { gl.glScaled(1, -1, 1); gl.glTranslated(0, -1, 0); } // switch to modelview matrix and push a new matrix on the stack gl.glMatrixMode(GLMatrixFunc.GL_MODELVIEW); gl.glPushMatrix(); // This is required to repeat textures gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_WRAP_S, GL.GL_REPEAT); gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_WRAP_T, GL.GL_REPEAT); // enable, bind texture.enable(gl); texture.bind(gl); }
public void drawTile(double x, double y, double tileSize, Texture texture) { texture.enable(gl); texture.bind(gl); gl.glBegin(GL2.GL_QUADS); //(0,0) gl.glTexCoord2d(0, 0); gl.glVertex3d(x*tileSize, 0, y*tileSize); //(1,0) gl.glTexCoord2d(1, 0); gl.glVertex3d(x*tileSize+tileSize, 0, y*tileSize); //(1,1) gl.glTexCoord2d(1, 1); gl.glVertex3d(x*tileSize+tileSize, 0, y*tileSize+tileSize); //(0,1) gl.glTexCoord2d(0, 1); gl.glVertex3d(x*tileSize, 0, y*tileSize+tileSize); gl.glEnd(); texture.disable(gl); }
@Override public void draw(Graphics3D g) { AWTGraphics3D graphics = (AWTGraphics3D) g; GL2 gl = graphics.getGL2(); texture.enable(gl); texture.bind(gl); gl.glColor3f(1, 1, 1); gl.glBegin(GL2.GL_QUADS); //Draw skybox based on center drawUpperFace(gl, x, y, z, size); drawFrontFace(gl, x, y, z, size); drawRightFace(gl, x, y, z, size); drawLeftFace(gl, x, y, z, size); drawLowerFace(gl, x, y, z, size); drawBackFace(gl, x, y, z, size); gl.glEnd(); texture.disable(gl); }
private void renderFace(GL2 gl, Texture t) { TextureCoords tc = t.getImageTexCoords(); float tx1 = tc.left(); float ty1 = tc.top(); float tx2 = tc.right(); float ty2 = tc.bottom(); t.enable(gl); t.bind(gl); if (button==4) gl.glColor4f(0.8f, 0.2f, 0.2f, alpha); else gl.glColor4f(alpha, alpha, alpha, alpha); gl.glBegin(GL2.GL_QUADS); gl.glTexCoord2f(tx1, ty1); gl.glVertex2f(currentRect.x, currentRect.y); gl.glTexCoord2f(tx2, ty1); gl.glVertex2f(currentRect.x, currentRect.y + currentRect.height); gl.glTexCoord2f(tx2, ty2); gl.glVertex2f(currentRect.x + currentRect.width, currentRect.y + currentRect.height); gl.glTexCoord2f(tx1, ty2); gl.glVertex2f(currentRect.x + currentRect.width, currentRect.y); gl.glEnd(); t.disable(gl); }
@Override protected void begin(Texture texture, AffineTransform xform, Color bgcolor) { /* * FIXME This is unexpected since we never disable blending, but in some * cases it interacts poorly with multiple split panes, scroll panes and the * text renderer to disable blending. */ g2d.setComposite(g2d.getComposite()); gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MIN_FILTER, GL.GL_NEAREST); gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER, GL.GL_NEAREST); gl.glActiveTexture(GL.GL_TEXTURE0); texture.enable(gl); texture.bind(gl); shader.use(gl, true); if (bgcolor == null) { white[3] = g2d.getUniformsObject().colorHook.getAlpha(); shader.setColor(gl, white); } else { float[] rgba = g2d.getUniformsObject().colorHook.getRGBA(); shader.setColor(gl, rgba); } if (xform == null) { shader.setTransform(gl, g2d.getUniformsObject().transformHook.getGLMatrixData()); } else { shader.setTransform(gl, g2d.getUniformsObject().transformHook.getGLMatrixData(xform)); } shader.setTextureUnit(gl, 0); }
@Override protected void begin(Texture texture, AffineTransform xform, Color bgcolor) { /* * FIXME This is unexpected since we never disable blending, but in some * cases it interacts poorly with multiple split panes, scroll panes and the * text renderer to disable blending. */ g2d.setComposite(g2d.getComposite()); gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MIN_FILTER, GL.GL_NEAREST); gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER, GL.GL_NEAREST); gl.glActiveTexture(GL.GL_TEXTURE0); texture.enable(gl); texture.bind(gl); shader.use(gl, true); if (bgcolor == null) { white[3] = g2d.getUniformsObject().colorHook.getAlpha(); shader.setColor(gl, white); } else { float[] rgba = g2d.getUniformsObject().colorHook.getRGBA(); shader.setColor(gl, rgba); } if (xform == null) { shader.setTransform(gl, g2d.getUniformsObject().transformHook.getGLMatrixData()); } else { shader.setTransform(gl, g2d.getUniformsObject().transformHook.getGLMatrixData(xform)); } shader.setTextureUnit(gl, 0); }
Texture texture = textureCacheService.getTexture(gl, textureName); texture.enable(gl); texture.bind(gl);
private void renderRegion(final GL2ES2 gl) { gl.glUniform(gcu_PMVMatrix02); gca_VerticesAttr.enableBuffer(gl, true); gca_CurveParamsAttr.enableBuffer(gl, true); if( null != gca_ColorsAttr ) { gca_ColorsAttr.enableBuffer(gl, true); } indicesBuffer.bindBuffer(gl, true); // keeps VBO binding if( null != gcu_ColorTexUnit && colorTexSeq.isTextureAvailable() ) { final TextureSequence.TextureFrame frame = colorTexSeq.getNextTexture(gl); gl.glActiveTexture(GL.GL_TEXTURE0 + colorTexSeq.getTextureUnit()); final Texture tex = frame.getTexture(); tex.bind(gl); tex.enable(gl); // nop on core gcu_ColorTexUnit.setData(colorTexSeq.getTextureUnit()); gl.glUniform(gcu_ColorTexUnit); // Always update, since program maybe used by multiple regions gl.glUniform(gcu_ColorTexBBox); // Always update, since program maybe used by multiple regions gl.glDrawElements(GL.GL_TRIANGLES, indicesBuffer.getElementCount() * indicesBuffer.getComponentCount(), GL.GL_UNSIGNED_SHORT, 0); tex.disable(gl); // nop on core } else { gl.glDrawElements(GL.GL_TRIANGLES, indicesBuffer.getElementCount() * indicesBuffer.getComponentCount(), GL.GL_UNSIGNED_SHORT, 0); } indicesBuffer.bindBuffer(gl, false); if( null != gca_ColorsAttr ) { gca_ColorsAttr.enableBuffer(gl, false); } gca_CurveParamsAttr.enableBuffer(gl, false); gca_VerticesAttr.enableBuffer(gl, false); }
private void renderRegion(final GL2ES2 gl) { gl.glUniform(gcu_PMVMatrix02); gca_VerticesAttr.enableBuffer(gl, true); gca_CurveParamsAttr.enableBuffer(gl, true); if( null != gca_ColorsAttr ) { gca_ColorsAttr.enableBuffer(gl, true); } indicesBuffer.bindBuffer(gl, true); // keeps VBO binding if( null != gcu_ColorTexUnit && colorTexSeq.isTextureAvailable() ) { final TextureSequence.TextureFrame frame = colorTexSeq.getNextTexture(gl); gl.glActiveTexture(GL.GL_TEXTURE0 + colorTexSeq.getTextureUnit()); final Texture tex = frame.getTexture(); tex.bind(gl); tex.enable(gl); // nop on core gcu_ColorTexUnit.setData(colorTexSeq.getTextureUnit()); gl.glUniform(gcu_ColorTexUnit); // Always update, since program maybe used by multiple regions gl.glUniform(gcu_ColorTexBBox); // Always update, since program maybe used by multiple regions gl.glDrawElements(GL.GL_TRIANGLES, indicesBuffer.getElementCount() * indicesBuffer.getComponentCount(), GL.GL_UNSIGNED_SHORT, 0); tex.disable(gl); // nop on core } else { gl.glDrawElements(GL.GL_TRIANGLES, indicesBuffer.getElementCount() * indicesBuffer.getComponentCount(), GL.GL_UNSIGNED_SHORT, 0); } indicesBuffer.bindBuffer(gl, false); if( null != gca_ColorsAttr ) { gca_ColorsAttr.enableBuffer(gl, false); } gca_CurveParamsAttr.enableBuffer(gl, false); gca_VerticesAttr.enableBuffer(gl, false); }
private void renderRegion(final GL2ES2 gl) { gl.glUniform(gcu_PMVMatrix02); gca_VerticesAttr.enableBuffer(gl, true); gca_CurveParamsAttr.enableBuffer(gl, true); if( null != gca_ColorsAttr ) { gca_ColorsAttr.enableBuffer(gl, true); } indicesBuffer.bindBuffer(gl, true); // keeps VBO binding if( null != gcu_ColorTexUnit && colorTexSeq.isTextureAvailable() ) { final TextureSequence.TextureFrame frame = colorTexSeq.getNextTexture(gl); gl.glActiveTexture(GL.GL_TEXTURE0 + colorTexSeq.getTextureUnit()); final Texture tex = frame.getTexture(); tex.bind(gl); tex.enable(gl); // nop on core gcu_ColorTexUnit.setData(colorTexSeq.getTextureUnit()); gl.glUniform(gcu_ColorTexUnit); // Always update, since program maybe used by multiple regions gl.glUniform(gcu_ColorTexBBox); // Always update, since program maybe used by multiple regions gl.glDrawElements(GL.GL_TRIANGLES, indicesBuffer.getElementCount() * indicesBuffer.getComponentCount(), GL.GL_UNSIGNED_SHORT, 0); tex.disable(gl); // nop on core } else { gl.glDrawElements(GL.GL_TRIANGLES, indicesBuffer.getElementCount() * indicesBuffer.getComponentCount(), GL.GL_UNSIGNED_SHORT, 0); } indicesBuffer.bindBuffer(gl, false); if( null != gca_ColorsAttr ) { gca_ColorsAttr.enableBuffer(gl, false); } gca_CurveParamsAttr.enableBuffer(gl, false); gca_VerticesAttr.enableBuffer(gl, false); }
private void renderRegion(final GL2ES2 gl) { gl.glUniform(gcu_PMVMatrix02); gca_VerticesAttr.enableBuffer(gl, true); gca_CurveParamsAttr.enableBuffer(gl, true); if( null != gca_ColorsAttr ) { gca_ColorsAttr.enableBuffer(gl, true); } indicesBuffer.bindBuffer(gl, true); // keeps VBO binding if( null != gcu_ColorTexUnit && colorTexSeq.isTextureAvailable() ) { final TextureSequence.TextureFrame frame = colorTexSeq.getNextTexture(gl); gl.glActiveTexture(GL.GL_TEXTURE0 + colorTexSeq.getTextureUnit()); final Texture tex = frame.getTexture(); tex.bind(gl); tex.enable(gl); // nop on core gcu_ColorTexUnit.setData(colorTexSeq.getTextureUnit()); gl.glUniform(gcu_ColorTexUnit); // Always update, since program maybe used by multiple regions gl.glUniform(gcu_ColorTexBBox); // Always update, since program maybe used by multiple regions gl.glDrawElements(GL.GL_TRIANGLES, indicesBuffer.getElementCount() * indicesBuffer.getComponentCount(), GL.GL_UNSIGNED_SHORT, 0); tex.disable(gl); // nop on core } else { gl.glDrawElements(GL.GL_TRIANGLES, indicesBuffer.getElementCount() * indicesBuffer.getComponentCount(), GL.GL_UNSIGNED_SHORT, 0); } indicesBuffer.bindBuffer(gl, false); if( null != gca_ColorsAttr ) { gca_ColorsAttr.enableBuffer(gl, false); } gca_CurveParamsAttr.enableBuffer(gl, false); gca_VerticesAttr.enableBuffer(gl, false); }
public void draw(GL2 gl, Point3d cameraPosition) { gl.glEnable(GL2.GL_LIGHTING); gl.glEnable(GL2.GL_TEXTURE_2D); TextureData td = this.textureLibraryStorageService.getTextureDefault("ground.unknown"); Texture texture = this.textureCacheService.getTexture(gl, td.getTex0()); texture.enable(gl); texture.bind(gl); gl.glBegin(GL2.GL_POLYGON); gl.glColor3f((float) 123 / 256, (float) 111 / 256, (float) 100 / 255); double groundSize = 1500.0; Point3d c = cameraPosition; // gl.glTexCoord2d(tc.left(), tc.bottom()); double xRight = c.x + groundSize; double xLeft = c.x - groundSize; double zButtom = c.z + groundSize; double zTop = c.z - groundSize; gl.glNormal3d(0, 1, 0); gl.glTexCoord2d(xRight * td.getWidth(), zButtom * td.getHeight()); gl.glVertex3d(xRight, -0.01, zButtom); gl.glTexCoord2d(xLeft * td.getWidth(), zButtom * td.getHeight()); gl.glVertex3d(xLeft, -0.01, zButtom); gl.glTexCoord2d(xLeft * td.getWidth(), zTop * td.getHeight()); gl.glVertex3d(xLeft, -0.01, zTop); gl.glTexCoord2d(xRight * td.getWidth(), zTop * td.getHeight()); gl.glVertex3d(xRight, -0.01, zTop); gl.glEnd(); texture.disable(gl); gl.glDisable(GL2.GL_TEXTURE_2D); }