List of usage examples for org.lwjgl.opengl GL11 glTexCoord2f
public static native void glTexCoord2f(@NativeType("GLfloat") float s, @NativeType("GLfloat") float t);
From source file:itemrender.client.RenderTickHandler.java
License:MIT License
@SubscribeEvent public void tick(TickEvent.RenderTickEvent event) { if (event.phase == TickEvent.Phase.END) if (keybindToRender != null && renderPreview) { int originalTexture = GL11.glGetInteger(GL11.GL_TEXTURE_BINDING_2D); // Bind framebuffer texture keybindToRender.fbo.bind();//ww w.j a v a 2s. c o m GL11.glBegin(GL11.GL_QUADS); GL11.glTexCoord2f(0, 0); GL11.glVertex2i(0, 0); GL11.glTexCoord2f(0, 1); GL11.glVertex2i(0, 128); GL11.glTexCoord2f(1, 1); GL11.glVertex2i(128, 128); GL11.glTexCoord2f(1, 0); GL11.glVertex2i(128, 0); GL11.glEnd(); // Restore old texture GlStateManager.bindTexture(originalTexture); } }
From source file:kuake2.render.lwjgl.Draw.java
License:Open Source License
protected void Draw_Char(int x, int y, int num) { num &= 255;//from w w w . ja va 2 s. c om if ((num & 127) == 32) return; // space if (y <= -8) return; // totally off screen int row = num >> 4; int col = num & 15; float frow = row * 0.0625f; float fcol = col * 0.0625f; float size = 0.0625f; GL_Bind(draw_chars.texnum); GL11.glBegin(GL11.GL_QUADS); GL11.glTexCoord2f(fcol, frow); GL11.glVertex2f(x, y); GL11.glTexCoord2f(fcol + size, frow); GL11.glVertex2f(x + 8, y); GL11.glTexCoord2f(fcol + size, frow + size); GL11.glVertex2f(x + 8, y + 8); GL11.glTexCoord2f(fcol, frow + size); GL11.glVertex2f(x, y + 8); GL11.glEnd(); }
From source file:kuake2.render.lwjgl.Draw.java
License:Open Source License
protected void Draw_StretchPic(int x, int y, int w, int h, String pic) { image_t image;/*from w w w . j a v a 2 s . c o m*/ image = Draw_FindPic(pic); if (image == null) { VID.Printf(Defines.PRINT_ALL, "Can't find pic: " + pic + '\n'); return; } if (scrap_dirty) Scrap_Upload(); if (((gl_config.renderer == GL_RENDERER_MCD) || ((gl_config.renderer & GL_RENDERER_RENDITION) != 0)) && !image.has_alpha) GL11.glDisable(GL11.GL_ALPHA_TEST); GL_Bind(image.texnum); GL11.glBegin(GL11.GL_QUADS); GL11.glTexCoord2f(image.sl, image.tl); GL11.glVertex2f(x, y); GL11.glTexCoord2f(image.sh, image.tl); GL11.glVertex2f(x + w, y); GL11.glTexCoord2f(image.sh, image.th); GL11.glVertex2f(x + w, y + h); GL11.glTexCoord2f(image.sl, image.th); GL11.glVertex2f(x, y + h); GL11.glEnd(); if (((gl_config.renderer == GL_RENDERER_MCD) || ((gl_config.renderer & GL_RENDERER_RENDITION) != 0)) && !image.has_alpha) GL11.glEnable(GL11.GL_ALPHA_TEST); }
From source file:kuake2.render.lwjgl.Draw.java
License:Open Source License
protected void Draw_Pic(int x, int y, String pic) { image_t image;// w w w . j a va 2 s . com image = Draw_FindPic(pic); if (image == null) { VID.Printf(Defines.PRINT_ALL, "Can't find pic: " + pic + '\n'); return; } if (scrap_dirty) Scrap_Upload(); if (((gl_config.renderer == GL_RENDERER_MCD) || ((gl_config.renderer & GL_RENDERER_RENDITION) != 0)) && !image.has_alpha) GL11.glDisable(GL11.GL_ALPHA_TEST); GL_Bind(image.texnum); GL11.glBegin(GL11.GL_QUADS); GL11.glTexCoord2f(image.sl, image.tl); GL11.glVertex2f(x, y); GL11.glTexCoord2f(image.sh, image.tl); GL11.glVertex2f(x + image.width, y); GL11.glTexCoord2f(image.sh, image.th); GL11.glVertex2f(x + image.width, y + image.height); GL11.glTexCoord2f(image.sl, image.th); GL11.glVertex2f(x, y + image.height); GL11.glEnd(); if (((gl_config.renderer == GL_RENDERER_MCD) || ((gl_config.renderer & GL_RENDERER_RENDITION) != 0)) && !image.has_alpha) GL11.glEnable(GL11.GL_ALPHA_TEST); }
From source file:kuake2.render.lwjgl.Draw.java
License:Open Source License
protected void Draw_TileClear(int x, int y, int w, int h, String pic) { image_t image;/*from w ww . j av a 2s. co m*/ image = Draw_FindPic(pic); if (image == null) { VID.Printf(Defines.PRINT_ALL, "Can't find pic: " + pic + '\n'); return; } if (((gl_config.renderer == GL_RENDERER_MCD) || ((gl_config.renderer & GL_RENDERER_RENDITION) != 0)) && !image.has_alpha) GL11.glDisable(GL11.GL_ALPHA_TEST); GL_Bind(image.texnum); GL11.glBegin(GL11.GL_QUADS); GL11.glTexCoord2f(x / 64.0f, y / 64.0f); GL11.glVertex2f(x, y); GL11.glTexCoord2f((x + w) / 64.0f, y / 64.0f); GL11.glVertex2f(x + w, y); GL11.glTexCoord2f((x + w) / 64.0f, (y + h) / 64.0f); GL11.glVertex2f(x + w, y + h); GL11.glTexCoord2f(x / 64.0f, (y + h) / 64.0f); GL11.glVertex2f(x, y + h); GL11.glEnd(); if (((gl_config.renderer == GL_RENDERER_MCD) || ((gl_config.renderer & GL_RENDERER_RENDITION) != 0)) && !image.has_alpha) GL11.glEnable(GL11.GL_ALPHA_TEST); }
From source file:kuake2.render.lwjgl.Draw.java
License:Open Source License
protected void Draw_StretchRaw(int x, int y, int w, int h, int cols, int rows, byte[] data) { int i, j, trows; int sourceIndex; int frac, fracstep; float hscale; int row;/* ww w. j av a2 s . c o m*/ float t; GL_Bind(0); if (rows <= 256) { hscale = 1; trows = rows; } else { hscale = rows / 256.0f; trows = 256; } t = rows * hscale / 256; if (!qglColorTableEXT) { //int[] image32 = new int[256*256]; image32.clear(); int destIndex = 0; for (i = 0; i < trows; i++) { row = (int) (i * hscale); if (row > rows) break; sourceIndex = cols * row; destIndex = i * 256; fracstep = cols * 0x10000 / 256; frac = fracstep >> 1; for (j = 0; j < 256; j++) { image32.put(destIndex + j, r_rawpalette[data[sourceIndex + (frac >> 16)] & 0xff]); frac += fracstep; } } GL11.glTexImage2D(GL11.GL_TEXTURE_2D, 0, gl_tex_solid_format, 256, 256, 0, GL11.GL_RGBA, GL11.GL_UNSIGNED_BYTE, image32); } else { //byte[] image8 = new byte[256*256]; image8.clear(); int destIndex = 0; ; for (i = 0; i < trows; i++) { row = (int) (i * hscale); if (row > rows) break; sourceIndex = cols * row; destIndex = i * 256; fracstep = cols * 0x10000 / 256; frac = fracstep >> 1; for (j = 0; j < 256; j++) { image8.put(destIndex + j, data[sourceIndex + (frac >> 16)]); frac += fracstep; } } GL11.glTexImage2D(GL11.GL_TEXTURE_2D, 0, GL_COLOR_INDEX8_EXT, 256, 256, 0, GL11.GL_COLOR_INDEX, GL11.GL_UNSIGNED_BYTE, image8); } GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_LINEAR); GL11.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_LINEAR); if ((gl_config.renderer == GL_RENDERER_MCD) || ((gl_config.renderer & GL_RENDERER_RENDITION) != 0)) GL11.glDisable(GL11.GL_ALPHA_TEST); GL11.glBegin(GL11.GL_QUADS); GL11.glTexCoord2f(0, 0); GL11.glVertex2f(x, y); GL11.glTexCoord2f(1, 0); GL11.glVertex2f(x + w, y); GL11.glTexCoord2f(1, t); GL11.glVertex2f(x + w, y + h); GL11.glTexCoord2f(0, t); GL11.glVertex2f(x, y + h); GL11.glEnd(); if ((gl_config.renderer == GL_RENDERER_MCD) || ((gl_config.renderer & GL_RENDERER_RENDITION) != 0)) GL11.glEnable(GL11.GL_ALPHA_TEST); }
From source file:kuake2.render.lwjgl.Main.java
License:Open Source License
/** * R_DrawSpriteModel//w w w .jav a2s. c o m */ void R_DrawSpriteModel(entity_t e) { float alpha = 1.0F; qfiles.dsprframe_t frame; qfiles.dsprite_t psprite; // don't even bother culling, because it's just a single // polygon without a surface cache psprite = (qfiles.dsprite_t) currentmodel.extradata; e.frame %= psprite.numframes; frame = psprite.frames[e.frame]; if ((e.flags & Defines.RF_TRANSLUCENT) != 0) alpha = e.alpha; if (alpha != 1.0F) GL11.glEnable(GL11.GL_BLEND); GL11.glColor4f(1, 1, 1, alpha); GL_Bind(currentmodel.skins[e.frame].texnum); GL_TexEnv(GL11.GL_MODULATE); if (alpha == 1.0) GL11.glEnable(GL11.GL_ALPHA_TEST); else GL11.glDisable(GL11.GL_ALPHA_TEST); GL11.glBegin(GL11.GL_QUADS); GL11.glTexCoord2f(0, 1); Math3D.VectorMA(e.origin, -frame.origin_y, vup, point); Math3D.VectorMA(point, -frame.origin_x, vright, point); GL11.glVertex3f(point[0], point[1], point[2]); GL11.glTexCoord2f(0, 0); Math3D.VectorMA(e.origin, frame.height - frame.origin_y, vup, point); Math3D.VectorMA(point, -frame.origin_x, vright, point); GL11.glVertex3f(point[0], point[1], point[2]); GL11.glTexCoord2f(1, 0); Math3D.VectorMA(e.origin, frame.height - frame.origin_y, vup, point); Math3D.VectorMA(point, frame.width - frame.origin_x, vright, point); GL11.glVertex3f(point[0], point[1], point[2]); GL11.glTexCoord2f(1, 1); Math3D.VectorMA(e.origin, -frame.origin_y, vup, point); Math3D.VectorMA(point, frame.width - frame.origin_x, vright, point); GL11.glVertex3f(point[0], point[1], point[2]); GL11.glEnd(); GL11.glDisable(GL11.GL_ALPHA_TEST); GL_TexEnv(GL11.GL_REPLACE); if (alpha != 1.0F) GL11.glDisable(GL11.GL_BLEND); GL11.glColor4f(1, 1, 1, 1); }
From source file:kuake2.render.lwjgl.Main.java
License:Open Source License
/** * GL_DrawParticles/*from ww w . j a v a 2 s.c o m*/ */ void GL_DrawParticles(int num_particles) { float origin_x, origin_y, origin_z; Math3D.VectorScale(vup, 1.5f, up); Math3D.VectorScale(vright, 1.5f, right); GL_Bind(r_particletexture.texnum); GL11.glDepthMask(false); // no z buffering GL11.glEnable(GL11.GL_BLEND); GL_TexEnv(GL11.GL_MODULATE); GL11.glBegin(GL11.GL_TRIANGLES); FloatBuffer sourceVertices = particle_t.vertexArray; IntBuffer sourceColors = particle_t.colorArray; float scale; int color; for (int j = 0, i = 0; i < num_particles; i++) { origin_x = sourceVertices.get(j++); origin_y = sourceVertices.get(j++); origin_z = sourceVertices.get(j++); // hack a scale up to keep particles from disapearing scale = (origin_x - r_origin[0]) * vpn[0] + (origin_y - r_origin[1]) * vpn[1] + (origin_z - r_origin[2]) * vpn[2]; scale = (scale < 20) ? 1 : 1 + scale * 0.004f; color = sourceColors.get(i); GL11.glColor4ub((byte) ((color) & 0xFF), (byte) ((color >> 8) & 0xFF), (byte) ((color >> 16) & 0xFF), (byte) ((color >>> 24))); // first vertex GL11.glTexCoord2f(0.0625f, 0.0625f); GL11.glVertex3f(origin_x, origin_y, origin_z); // second vertex GL11.glTexCoord2f(1.0625f, 0.0625f); GL11.glVertex3f(origin_x + up[0] * scale, origin_y + up[1] * scale, origin_z + up[2] * scale); // third vertex GL11.glTexCoord2f(0.0625f, 1.0625f); GL11.glVertex3f(origin_x + right[0] * scale, origin_y + right[1] * scale, origin_z + right[2] * scale); } GL11.glEnd(); GL11.glDisable(GL11.GL_BLEND); GL11.glColor4f(1, 1, 1, 1); GL11.glDepthMask(true); // back to normal Z buffering GL_TexEnv(GL11.GL_REPLACE); }
From source file:kuake2.render.lwjgl.Warp.java
License:Open Source License
/** * EmitWaterPolys/*from w w w.j a v a 2 s. c om*/ * Does a water warp on the pre-fragmented glpoly_t chain */ void EmitWaterPolys(msurface_t fa) { float rdt = r_newrefdef.time; float scroll; if ((fa.texinfo.flags & Defines.SURF_FLOWING) != 0) scroll = -64 * ((r_newrefdef.time * 0.5f) - (int) (r_newrefdef.time * 0.5f)); else scroll = 0; int i; float s, t, os, ot; glpoly_t p, bp; for (bp = fa.polys; bp != null; bp = bp.next) { p = bp; GL11.glBegin(GL11.GL_TRIANGLE_FAN); for (i = 0; i < p.numverts; i++) { os = p.s1(i); ot = p.t1(i); s = os + Warp.SIN[(int) ((ot * 0.125f + r_newrefdef.time) * TURBSCALE) & 255]; s += scroll; s *= (1.0f / 64); t = ot + Warp.SIN[(int) ((os * 0.125f + rdt) * TURBSCALE) & 255]; t *= (1.0f / 64); GL11.glTexCoord2f(s, t); GL11.glVertex3f(p.x(i), p.y(i), p.z(i)); } GL11.glEnd(); } }
From source file:kuake2.render.lwjgl.Warp.java
License:Open Source License
/** * MakeSkyVec// w ww . ja va2s . c om * * @param s * @param t * @param axis */ void MakeSkyVec(float s, float t, int axis) { b[0] = s * 2300; b[1] = t * 2300; b[2] = 2300; int j, k; for (j = 0; j < 3; j++) { k = st_to_vec[axis][j]; if (k < 0) v1[j] = -b[-k - 1]; else v1[j] = b[k - 1]; } // avoid bilerp seam s = (s + 1) * 0.5f; t = (t + 1) * 0.5f; if (s < sky_min) s = sky_min; else if (s > sky_max) s = sky_max; if (t < sky_min) t = sky_min; else if (t > sky_max) t = sky_max; t = 1.0f - t; GL11.glTexCoord2f(s, t); GL11.glVertex3f(v1[0], v1[1], v1[2]); }