MCPcopy Create free account
hub / github.com/demoth/jake2 / Draw_StretchRaw

Method Draw_StretchRaw

client/src/main/java/jake2/client/render/fast/Draw.java:308–404  ·  view source on GitHub ↗
(int x, int y, int w, int h, int cols, int rows, byte[] data)

Source from the content-addressed store, hash-verified

306 =============
307 */
308 public void Draw_StretchRaw (int x, int y, int w, int h, int cols, int rows, byte[] data)
309 {
310 int i, j, trows;
311 int sourceIndex;
312 int frac, fracstep;
313 float hscale;
314 int row;
315 float t;
316
317 GL_Bind(0);
318
319 if (rows<=256)
320 {
321 hscale = 1;
322 trows = rows;
323 }
324 else
325 {
326 hscale = rows/256.0f;
327 trows = 256;
328 }
329 t = rows*hscale / 256;
330
331 if ( !qglColorTableEXT )
332 {
333 //int[] image32 = new int[256*256];
334 image32.clear();
335 int destIndex = 0;
336
337 for (i=0 ; i<trows ; i++)
338 {
339 row = (int)(i*hscale);
340 if (row > rows)
341 break;
342 sourceIndex = cols*row;
343 destIndex = i*256;
344 fracstep = cols*0x10000/256;
345 frac = fracstep >> 1;
346 for (j=0 ; j<256 ; j++)
347 {
348 image32.put(destIndex + j, r_rawpalette[data[sourceIndex + (frac>>16)] & 0xff]);
349 frac += fracstep;
350 }
351 }
352 gl.glTexImage2D (GL_TEXTURE_2D, 0, gl_tex_solid_format, 256, 256, 0, GL_RGBA, GL_UNSIGNED_BYTE, image32);
353 }
354 else
355 {
356 //byte[] image8 = new byte[256*256];
357 image8.clear();
358 int destIndex = 0;;
359
360 for (i=0 ; i<trows ; i++)
361 {
362 row = (int)(i*hscale);
363 if (row > rows)
364 break;
365 sourceIndex = cols*row;

Callers

nothing calls this directly

Calls 10

glTexImage2DMethod · 0.65
glTexParameterfMethod · 0.65
glDisableMethod · 0.65
glBeginMethod · 0.65
glTexCoord2fMethod · 0.65
glVertex2fMethod · 0.65
glEndMethod · 0.65
glEnableMethod · 0.65
GL_BindMethod · 0.45
clearMethod · 0.45

Tested by

no test coverage detected