1 /* 2 * Copyright (C) 2007 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package android.opengl; 18 19 import java.io.IOException; 20 import java.io.Writer; 21 import java.nio.Buffer; 22 import java.nio.ByteBuffer; 23 import java.nio.ByteOrder; 24 import java.nio.CharBuffer; 25 import java.nio.DoubleBuffer; 26 import java.nio.FloatBuffer; 27 import java.nio.IntBuffer; 28 import java.nio.LongBuffer; 29 import java.nio.ShortBuffer; 30 import java.util.Arrays; 31 32 import javax.microedition.khronos.opengles.GL; 33 34 /** 35 * A wrapper that logs all GL calls (and results) in human-readable form. 36 * 37 */ 38 class GLLogWrapper extends GLWrapperBase { 39 private static final int FORMAT_INT = 0; 40 private static final int FORMAT_FLOAT = 1; 41 private static final int FORMAT_FIXED = 2; 42 GLLogWrapper(GL gl, Writer log, boolean logArgumentNames)43 public GLLogWrapper(GL gl, Writer log, boolean logArgumentNames) { 44 super(gl); 45 mLog = log; 46 mLogArgumentNames = logArgumentNames; 47 } 48 checkError()49 private void checkError() { 50 int glError; 51 if ((glError = mgl.glGetError()) != 0) { 52 String errorMessage = "glError: " + Integer.toString(glError); 53 logLine(errorMessage); 54 } 55 } 56 logLine(String message)57 private void logLine(String message) { 58 log(message + '\n'); 59 } 60 log(String message)61 private void log(String message) { 62 try { 63 mLog.write(message); 64 } catch (IOException e) { 65 // Ignore exception, keep on trying 66 } 67 } 68 begin(String name)69 private void begin(String name) { 70 log(name + '('); 71 mArgCount = 0; 72 } 73 arg(String name, String value)74 private void arg(String name, String value) { 75 if (mArgCount++ > 0) { 76 log(", "); 77 } 78 if (mLogArgumentNames) { 79 log(name + "="); 80 } 81 log(value); 82 } 83 end()84 private void end() { 85 log(");\n"); 86 flush(); 87 } 88 flush()89 private void flush() { 90 try { 91 mLog.flush(); 92 } catch (IOException e) { 93 mLog = null; 94 } 95 } 96 arg(String name, boolean value)97 private void arg(String name, boolean value) { 98 arg(name, Boolean.toString(value)); 99 } 100 arg(String name, int value)101 private void arg(String name, int value) { 102 arg(name, Integer.toString(value)); 103 } 104 arg(String name, float value)105 private void arg(String name, float value) { 106 arg(name, Float.toString(value)); 107 } 108 returns(String result)109 private void returns(String result) { 110 log(") returns " + result + ";\n"); 111 flush(); 112 } 113 returns(int result)114 private void returns(int result) { 115 returns(Integer.toString(result)); 116 } 117 arg(String name, int n, int[] arr, int offset)118 private void arg(String name, int n, int[] arr, int offset) { 119 arg(name, toString(n, FORMAT_INT, arr, offset)); 120 } 121 arg(String name, int n, short[] arr, int offset)122 private void arg(String name, int n, short[] arr, int offset) { 123 arg(name, toString(n, arr, offset)); 124 } 125 arg(String name, int n, float[] arr, int offset)126 private void arg(String name, int n, float[] arr, int offset) { 127 arg(name, toString(n, arr, offset)); 128 } 129 formattedAppend(StringBuilder buf, int value, int format)130 private void formattedAppend(StringBuilder buf, int value, int format) { 131 switch (format) { 132 case FORMAT_INT: 133 buf.append(value); 134 break; 135 case FORMAT_FLOAT: 136 buf.append(Float.intBitsToFloat(value)); 137 break; 138 case FORMAT_FIXED: 139 buf.append(value / 65536.0f); 140 break; 141 } 142 } 143 toString(int n, int format, int[] arr, int offset)144 private String toString(int n, int format, int[] arr, int offset) { 145 StringBuilder buf = new StringBuilder(); 146 buf.append("{\n"); 147 int arrLen = arr.length; 148 for (int i = 0; i < n; i++) { 149 int index = offset + i; 150 buf.append(" [" + index + "] = "); 151 if (index < 0 || index >= arrLen) { 152 buf.append("out of bounds"); 153 } else { 154 formattedAppend(buf, arr[index], format); 155 } 156 buf.append('\n'); 157 } 158 buf.append("}"); 159 return buf.toString(); 160 } 161 toString(int n, short[] arr, int offset)162 private String toString(int n, short[] arr, int offset) { 163 StringBuilder buf = new StringBuilder(); 164 buf.append("{\n"); 165 int arrLen = arr.length; 166 for (int i = 0; i < n; i++) { 167 int index = offset + i; 168 buf.append(" [" + index + "] = "); 169 if (index < 0 || index >= arrLen) { 170 buf.append("out of bounds"); 171 } else { 172 buf.append(arr[index]); 173 } 174 buf.append('\n'); 175 } 176 buf.append("}"); 177 return buf.toString(); 178 } 179 toString(int n, float[] arr, int offset)180 private String toString(int n, float[] arr, int offset) { 181 StringBuilder buf = new StringBuilder(); 182 buf.append("{\n"); 183 int arrLen = arr.length; 184 for (int i = 0; i < n; i++) { 185 int index = offset + i; 186 buf.append("[" + index + "] = "); 187 if (index < 0 || index >= arrLen) { 188 buf.append("out of bounds"); 189 } else { 190 buf.append(arr[index]); 191 } 192 buf.append('\n'); 193 } 194 buf.append("}"); 195 return buf.toString(); 196 } 197 toString(int n, FloatBuffer buf)198 private String toString(int n, FloatBuffer buf) { 199 StringBuilder builder = new StringBuilder(); 200 builder.append("{\n"); 201 for (int i = 0; i < n; i++) { 202 builder.append(" [" + i + "] = " + buf.get(i) + '\n'); 203 } 204 builder.append("}"); 205 return builder.toString(); 206 } 207 toString(int n, int format, IntBuffer buf)208 private String toString(int n, int format, IntBuffer buf) { 209 StringBuilder builder = new StringBuilder(); 210 builder.append("{\n"); 211 for (int i = 0; i < n; i++) { 212 builder.append(" [" + i + "] = "); 213 formattedAppend(builder, buf.get(i), format); 214 builder.append('\n'); 215 } 216 builder.append("}"); 217 return builder.toString(); 218 } 219 toString(int n, ShortBuffer buf)220 private String toString(int n, ShortBuffer buf) { 221 StringBuilder builder = new StringBuilder(); 222 builder.append("{\n"); 223 for (int i = 0; i < n; i++) { 224 builder.append(" [" + i + "] = " + buf.get(i) + '\n'); 225 } 226 builder.append("}"); 227 return builder.toString(); 228 } 229 arg(String name, int n, FloatBuffer buf)230 private void arg(String name, int n, FloatBuffer buf) { 231 arg(name, toString(n, buf)); 232 } 233 arg(String name, int n, IntBuffer buf)234 private void arg(String name, int n, IntBuffer buf) { 235 arg(name, toString(n, FORMAT_INT, buf)); 236 } 237 arg(String name, int n, ShortBuffer buf)238 private void arg(String name, int n, ShortBuffer buf) { 239 arg(name, toString(n, buf)); 240 } 241 argPointer(int size, int type, int stride, Buffer pointer)242 private void argPointer(int size, int type, int stride, Buffer pointer) { 243 arg("size", size); 244 arg("type", getPointerTypeName(type)); 245 arg("stride", stride); 246 arg("pointer", pointer.toString()); 247 } 248 getHex(int value)249 private static String getHex(int value) { 250 return "0x" + Integer.toHexString(value); 251 } 252 getErrorString(int error)253 public static String getErrorString(int error) { 254 switch (error) { 255 case GL_NO_ERROR: 256 return "GL_NO_ERROR"; 257 case GL_INVALID_ENUM: 258 return "GL_INVALID_ENUM"; 259 case GL_INVALID_VALUE: 260 return "GL_INVALID_VALUE"; 261 case GL_INVALID_OPERATION: 262 return "GL_INVALID_OPERATION"; 263 case GL_STACK_OVERFLOW: 264 return "GL_STACK_OVERFLOW"; 265 case GL_STACK_UNDERFLOW: 266 return "GL_STACK_UNDERFLOW"; 267 case GL_OUT_OF_MEMORY: 268 return "GL_OUT_OF_MEMORY"; 269 default: 270 return getHex(error); 271 } 272 } 273 getClearBufferMask(int mask)274 private String getClearBufferMask(int mask) { 275 StringBuilder b = new StringBuilder(); 276 if ((mask & GL_DEPTH_BUFFER_BIT) != 0) { 277 b.append("GL_DEPTH_BUFFER_BIT"); 278 mask &= ~GL_DEPTH_BUFFER_BIT; 279 } 280 if ((mask & GL_STENCIL_BUFFER_BIT) != 0) { 281 if (b.length() > 0) { 282 b.append(" | "); 283 } 284 b.append("GL_STENCIL_BUFFER_BIT"); 285 mask &= ~GL_STENCIL_BUFFER_BIT; 286 } 287 if ((mask & GL_COLOR_BUFFER_BIT) != 0) { 288 if (b.length() > 0) { 289 b.append(" | "); 290 } 291 b.append("GL_COLOR_BUFFER_BIT"); 292 mask &= ~GL_COLOR_BUFFER_BIT; 293 } 294 if (mask != 0) { 295 if (b.length() > 0) { 296 b.append(" | "); 297 } 298 b.append(getHex(mask)); 299 } 300 return b.toString(); 301 } 302 getFactor(int factor)303 private String getFactor(int factor) { 304 switch(factor) { 305 case GL_ZERO: 306 return "GL_ZERO"; 307 case GL_ONE: 308 return "GL_ONE"; 309 case GL_SRC_COLOR: 310 return "GL_SRC_COLOR"; 311 case GL_ONE_MINUS_SRC_COLOR: 312 return "GL_ONE_MINUS_SRC_COLOR"; 313 case GL_DST_COLOR: 314 return "GL_DST_COLOR"; 315 case GL_ONE_MINUS_DST_COLOR: 316 return "GL_ONE_MINUS_DST_COLOR"; 317 case GL_SRC_ALPHA: 318 return "GL_SRC_ALPHA"; 319 case GL_ONE_MINUS_SRC_ALPHA: 320 return "GL_ONE_MINUS_SRC_ALPHA"; 321 case GL_DST_ALPHA: 322 return "GL_DST_ALPHA"; 323 case GL_ONE_MINUS_DST_ALPHA: 324 return "GL_ONE_MINUS_DST_ALPHA"; 325 case GL_SRC_ALPHA_SATURATE: 326 return "GL_SRC_ALPHA_SATURATE"; 327 328 default: 329 return getHex(factor); 330 } 331 } 332 getShadeModel(int model)333 private String getShadeModel(int model) { 334 switch(model) { 335 case GL_FLAT: 336 return "GL_FLAT"; 337 case GL_SMOOTH: 338 return "GL_SMOOTH"; 339 default: 340 return getHex(model); 341 } 342 } 343 getTextureTarget(int target)344 private String getTextureTarget(int target) { 345 switch (target) { 346 case GL_TEXTURE_2D: 347 return "GL_TEXTURE_2D"; 348 default: 349 return getHex(target); 350 } 351 } 352 getTextureEnvTarget(int target)353 private String getTextureEnvTarget(int target) { 354 switch (target) { 355 case GL_TEXTURE_ENV: 356 return "GL_TEXTURE_ENV"; 357 default: 358 return getHex(target); 359 } 360 } 361 getTextureEnvPName(int pname)362 private String getTextureEnvPName(int pname) { 363 switch (pname) { 364 case GL_TEXTURE_ENV_MODE: 365 return "GL_TEXTURE_ENV_MODE"; 366 case GL_TEXTURE_ENV_COLOR: 367 return "GL_TEXTURE_ENV_COLOR"; 368 default: 369 return getHex(pname); 370 } 371 } 372 getTextureEnvParamCount(int pname)373 private int getTextureEnvParamCount(int pname) { 374 switch (pname) { 375 case GL_TEXTURE_ENV_MODE: 376 return 1; 377 case GL_TEXTURE_ENV_COLOR: 378 return 4; 379 default: 380 return 0; 381 } 382 } 383 getTextureEnvParamName(float param)384 private String getTextureEnvParamName(float param) { 385 int iparam = (int) param; 386 if (param == (float) iparam) { 387 switch (iparam) { 388 case GL_REPLACE: 389 return "GL_REPLACE"; 390 case GL_MODULATE: 391 return "GL_MODULATE"; 392 case GL_DECAL: 393 return "GL_DECAL"; 394 case GL_BLEND: 395 return "GL_BLEND"; 396 case GL_ADD: 397 return "GL_ADD"; 398 case GL_COMBINE: 399 return "GL_COMBINE"; 400 default: 401 return getHex(iparam); 402 } 403 } 404 return Float.toString(param); 405 } 406 getMatrixMode(int matrixMode)407 private String getMatrixMode(int matrixMode) { 408 switch (matrixMode) { 409 case GL_MODELVIEW: 410 return "GL_MODELVIEW"; 411 case GL_PROJECTION: 412 return "GL_PROJECTION"; 413 case GL_TEXTURE: 414 return "GL_TEXTURE"; 415 default: 416 return getHex(matrixMode); 417 } 418 } 419 getClientState(int clientState)420 private String getClientState(int clientState) { 421 switch (clientState) { 422 case GL_COLOR_ARRAY: 423 return "GL_COLOR_ARRAY"; 424 case GL_VERTEX_ARRAY: 425 return "GL_VERTEX_ARRAY"; 426 case GL_NORMAL_ARRAY: 427 return "GL_NORMAL_ARRAY"; 428 case GL_TEXTURE_COORD_ARRAY: 429 return "GL_TEXTURE_COORD_ARRAY"; 430 default: 431 return getHex(clientState); 432 } 433 } 434 getCap(int cap)435 private String getCap(int cap) { 436 switch (cap) { 437 case GL_FOG: 438 return "GL_FOG"; 439 case GL_LIGHTING: 440 return "GL_LIGHTING"; 441 case GL_TEXTURE_2D: 442 return "GL_TEXTURE_2D"; 443 case GL_CULL_FACE: 444 return "GL_CULL_FACE"; 445 case GL_ALPHA_TEST: 446 return "GL_ALPHA_TEST"; 447 case GL_BLEND: 448 return "GL_BLEND"; 449 case GL_COLOR_LOGIC_OP: 450 return "GL_COLOR_LOGIC_OP"; 451 case GL_DITHER: 452 return "GL_DITHER"; 453 case GL_STENCIL_TEST: 454 return "GL_STENCIL_TEST"; 455 case GL_DEPTH_TEST: 456 return "GL_DEPTH_TEST"; 457 case GL_LIGHT0: 458 return "GL_LIGHT0"; 459 case GL_LIGHT1: 460 return "GL_LIGHT1"; 461 case GL_LIGHT2: 462 return "GL_LIGHT2"; 463 case GL_LIGHT3: 464 return "GL_LIGHT3"; 465 case GL_LIGHT4: 466 return "GL_LIGHT4"; 467 case GL_LIGHT5: 468 return "GL_LIGHT5"; 469 case GL_LIGHT6: 470 return "GL_LIGHT6"; 471 case GL_LIGHT7: 472 return "GL_LIGHT7"; 473 case GL_POINT_SMOOTH: 474 return "GL_POINT_SMOOTH"; 475 case GL_LINE_SMOOTH: 476 return "GL_LINE_SMOOTH"; 477 case GL_COLOR_MATERIAL: 478 return "GL_COLOR_MATERIAL"; 479 case GL_NORMALIZE: 480 return "GL_NORMALIZE"; 481 case GL_RESCALE_NORMAL: 482 return "GL_RESCALE_NORMAL"; 483 case GL_VERTEX_ARRAY: 484 return "GL_VERTEX_ARRAY"; 485 case GL_NORMAL_ARRAY: 486 return "GL_NORMAL_ARRAY"; 487 case GL_COLOR_ARRAY: 488 return "GL_COLOR_ARRAY"; 489 case GL_TEXTURE_COORD_ARRAY: 490 return "GL_TEXTURE_COORD_ARRAY"; 491 case GL_MULTISAMPLE: 492 return "GL_MULTISAMPLE"; 493 case GL_SAMPLE_ALPHA_TO_COVERAGE: 494 return "GL_SAMPLE_ALPHA_TO_COVERAGE"; 495 case GL_SAMPLE_ALPHA_TO_ONE: 496 return "GL_SAMPLE_ALPHA_TO_ONE"; 497 case GL_SAMPLE_COVERAGE: 498 return "GL_SAMPLE_COVERAGE"; 499 case GL_SCISSOR_TEST: 500 return "GL_SCISSOR_TEST"; 501 default: 502 return getHex(cap); 503 } 504 } 505 getTexturePName(int pname)506 private String getTexturePName(int pname) { 507 switch (pname) { 508 case GL_TEXTURE_MAG_FILTER: 509 return "GL_TEXTURE_MAG_FILTER"; 510 case GL_TEXTURE_MIN_FILTER: 511 return "GL_TEXTURE_MIN_FILTER"; 512 case GL_TEXTURE_WRAP_S: 513 return "GL_TEXTURE_WRAP_S"; 514 case GL_TEXTURE_WRAP_T: 515 return "GL_TEXTURE_WRAP_T"; 516 case GL_GENERATE_MIPMAP: 517 return "GL_GENERATE_MIPMAP"; 518 case GL_TEXTURE_CROP_RECT_OES: 519 return "GL_TEXTURE_CROP_RECT_OES"; 520 default: 521 return getHex(pname); 522 } 523 } 524 getTextureParamName(float param)525 private String getTextureParamName(float param) { 526 int iparam = (int) param; 527 if (param == (float) iparam) { 528 switch (iparam) { 529 case GL_CLAMP_TO_EDGE: 530 return "GL_CLAMP_TO_EDGE"; 531 case GL_REPEAT: 532 return "GL_REPEAT"; 533 case GL_NEAREST: 534 return "GL_NEAREST"; 535 case GL_LINEAR: 536 return "GL_LINEAR"; 537 case GL_NEAREST_MIPMAP_NEAREST: 538 return "GL_NEAREST_MIPMAP_NEAREST"; 539 case GL_LINEAR_MIPMAP_NEAREST: 540 return "GL_LINEAR_MIPMAP_NEAREST"; 541 case GL_NEAREST_MIPMAP_LINEAR: 542 return "GL_NEAREST_MIPMAP_LINEAR"; 543 case GL_LINEAR_MIPMAP_LINEAR: 544 return "GL_LINEAR_MIPMAP_LINEAR"; 545 default: 546 return getHex(iparam); 547 } 548 } 549 return Float.toString(param); 550 } 551 getFogPName(int pname)552 private String getFogPName(int pname) { 553 switch (pname) { 554 case GL_FOG_DENSITY: 555 return "GL_FOG_DENSITY"; 556 case GL_FOG_START: 557 return "GL_FOG_START"; 558 case GL_FOG_END: 559 return "GL_FOG_END"; 560 case GL_FOG_MODE: 561 return "GL_FOG_MODE"; 562 case GL_FOG_COLOR: 563 return "GL_FOG_COLOR"; 564 default: 565 return getHex(pname); 566 } 567 } 568 getFogParamCount(int pname)569 private int getFogParamCount(int pname) { 570 switch (pname) { 571 case GL_FOG_DENSITY: 572 return 1; 573 case GL_FOG_START: 574 return 1; 575 case GL_FOG_END: 576 return 1; 577 case GL_FOG_MODE: 578 return 1; 579 case GL_FOG_COLOR: 580 return 4; 581 default: 582 return 0; 583 } 584 } 585 getBeginMode(int mode)586 private String getBeginMode(int mode) { 587 switch (mode) { 588 case GL_POINTS: 589 return "GL_POINTS"; 590 case GL_LINES: 591 return "GL_LINES"; 592 case GL_LINE_LOOP: 593 return "GL_LINE_LOOP"; 594 case GL_LINE_STRIP: 595 return "GL_LINE_STRIP"; 596 case GL_TRIANGLES: 597 return "GL_TRIANGLES"; 598 case GL_TRIANGLE_STRIP: 599 return "GL_TRIANGLE_STRIP"; 600 case GL_TRIANGLE_FAN: 601 return "GL_TRIANGLE_FAN"; 602 default: 603 return getHex(mode); 604 } 605 } 606 getIndexType(int type)607 private String getIndexType(int type) { 608 switch (type) { 609 case GL_UNSIGNED_SHORT: 610 return "GL_UNSIGNED_SHORT"; 611 case GL_UNSIGNED_BYTE: 612 return "GL_UNSIGNED_BYTE"; 613 default: 614 return getHex(type); 615 } 616 } 617 getIntegerStateName(int pname)618 private String getIntegerStateName(int pname) { 619 switch (pname) { 620 case GL_ALPHA_BITS: 621 return "GL_ALPHA_BITS"; 622 case GL_ALIASED_LINE_WIDTH_RANGE: 623 return "GL_ALIASED_LINE_WIDTH_RANGE"; 624 case GL_ALIASED_POINT_SIZE_RANGE: 625 return "GL_ALIASED_POINT_SIZE_RANGE"; 626 case GL_BLUE_BITS: 627 return "GL_BLUE_BITS"; 628 case GL_COMPRESSED_TEXTURE_FORMATS: 629 return "GL_COMPRESSED_TEXTURE_FORMATS"; 630 case GL_DEPTH_BITS: 631 return "GL_DEPTH_BITS"; 632 case GL_GREEN_BITS: 633 return "GL_GREEN_BITS"; 634 case GL_MAX_ELEMENTS_INDICES: 635 return "GL_MAX_ELEMENTS_INDICES"; 636 case GL_MAX_ELEMENTS_VERTICES: 637 return "GL_MAX_ELEMENTS_VERTICES"; 638 case GL_MAX_LIGHTS: 639 return "GL_MAX_LIGHTS"; 640 case GL_MAX_TEXTURE_SIZE: 641 return "GL_MAX_TEXTURE_SIZE"; 642 case GL_MAX_VIEWPORT_DIMS: 643 return "GL_MAX_VIEWPORT_DIMS"; 644 case GL_MAX_MODELVIEW_STACK_DEPTH: 645 return "GL_MAX_MODELVIEW_STACK_DEPTH"; 646 case GL_MAX_PROJECTION_STACK_DEPTH: 647 return "GL_MAX_PROJECTION_STACK_DEPTH"; 648 case GL_MAX_TEXTURE_STACK_DEPTH: 649 return "GL_MAX_TEXTURE_STACK_DEPTH"; 650 case GL_MAX_TEXTURE_UNITS: 651 return "GL_MAX_TEXTURE_UNITS"; 652 case GL_NUM_COMPRESSED_TEXTURE_FORMATS: 653 return "GL_NUM_COMPRESSED_TEXTURE_FORMATS"; 654 case GL_RED_BITS: 655 return "GL_RED_BITS"; 656 case GL_SMOOTH_LINE_WIDTH_RANGE: 657 return "GL_SMOOTH_LINE_WIDTH_RANGE"; 658 case GL_SMOOTH_POINT_SIZE_RANGE: 659 return "GL_SMOOTH_POINT_SIZE_RANGE"; 660 case GL_STENCIL_BITS: 661 return "GL_STENCIL_BITS"; 662 case GL_SUBPIXEL_BITS: 663 return "GL_SUBPIXEL_BITS"; 664 665 case GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES: 666 return "GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES"; 667 case GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES: 668 return "GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES"; 669 case GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES: 670 return "GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES"; 671 672 default: 673 return getHex(pname); 674 } 675 } 676 getIntegerStateSize(int pname)677 private int getIntegerStateSize(int pname) { 678 switch (pname) { 679 case GL_ALPHA_BITS: 680 return 1; 681 case GL_ALIASED_LINE_WIDTH_RANGE: 682 return 2; 683 case GL_ALIASED_POINT_SIZE_RANGE: 684 return 2; 685 case GL_BLUE_BITS: 686 return 1; 687 case GL_COMPRESSED_TEXTURE_FORMATS: 688 // Have to ask the implementation for the size 689 { 690 int[] buffer = new int[1]; 691 mgl.glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS, buffer, 0); 692 return buffer[0]; 693 } 694 case GL_DEPTH_BITS: 695 return 1; 696 case GL_GREEN_BITS: 697 return 1; 698 case GL_MAX_ELEMENTS_INDICES: 699 return 1; 700 case GL_MAX_ELEMENTS_VERTICES: 701 return 1; 702 case GL_MAX_LIGHTS: 703 return 1; 704 case GL_MAX_TEXTURE_SIZE: 705 return 1; 706 case GL_MAX_VIEWPORT_DIMS: 707 return 2; 708 case GL_MAX_MODELVIEW_STACK_DEPTH: 709 return 1; 710 case GL_MAX_PROJECTION_STACK_DEPTH: 711 return 1; 712 case GL_MAX_TEXTURE_STACK_DEPTH: 713 return 1; 714 case GL_MAX_TEXTURE_UNITS: 715 return 1; 716 case GL_NUM_COMPRESSED_TEXTURE_FORMATS: 717 return 1; 718 case GL_RED_BITS: 719 return 1; 720 case GL_SMOOTH_LINE_WIDTH_RANGE: 721 return 2; 722 case GL_SMOOTH_POINT_SIZE_RANGE: 723 return 2; 724 case GL_STENCIL_BITS: 725 return 1; 726 case GL_SUBPIXEL_BITS: 727 return 1; 728 729 case GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES: 730 case GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES: 731 case GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES: 732 return 16; 733 734 default: 735 return 0; 736 } 737 } 738 getIntegerStateFormat(int pname)739 private int getIntegerStateFormat(int pname) { 740 switch (pname) { 741 case GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES: 742 case GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES: 743 case GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES: 744 return FORMAT_FLOAT; 745 746 default: 747 return FORMAT_INT; 748 } 749 } 750 getHintTarget(int target)751 private String getHintTarget(int target) { 752 switch (target) { 753 case GL_FOG_HINT: 754 return "GL_FOG_HINT"; 755 case GL_LINE_SMOOTH_HINT: 756 return "GL_LINE_SMOOTH_HINT"; 757 case GL_PERSPECTIVE_CORRECTION_HINT: 758 return "GL_PERSPECTIVE_CORRECTION_HINT"; 759 case GL_POINT_SMOOTH_HINT: 760 return "GL_POINT_SMOOTH_HINT"; 761 case GL_POLYGON_SMOOTH_HINT: 762 return "GL_POLYGON_SMOOTH_HINT"; 763 case GL_GENERATE_MIPMAP_HINT: 764 return "GL_GENERATE_MIPMAP_HINT"; 765 default: 766 return getHex(target); 767 } 768 } 769 getHintMode(int mode)770 private String getHintMode(int mode) { 771 switch (mode) { 772 case GL_FASTEST: 773 return "GL_FASTEST"; 774 case GL_NICEST: 775 return "GL_NICEST"; 776 case GL_DONT_CARE: 777 return "GL_DONT_CARE"; 778 default: 779 return getHex(mode); 780 } 781 } 782 getFaceName(int face)783 private String getFaceName(int face) { 784 switch (face) { 785 case GL_FRONT_AND_BACK: 786 return "GL_FRONT_AND_BACK"; 787 default: 788 return getHex(face); 789 } 790 } 791 getMaterialPName(int pname)792 private String getMaterialPName(int pname) { 793 switch (pname) { 794 case GL_AMBIENT: 795 return "GL_AMBIENT"; 796 case GL_DIFFUSE: 797 return "GL_DIFFUSE"; 798 case GL_SPECULAR: 799 return "GL_SPECULAR"; 800 case GL_EMISSION: 801 return "GL_EMISSION"; 802 case GL_SHININESS: 803 return "GL_SHININESS"; 804 case GL_AMBIENT_AND_DIFFUSE: 805 return "GL_AMBIENT_AND_DIFFUSE"; 806 default: 807 return getHex(pname); 808 } 809 } 810 getMaterialParamCount(int pname)811 private int getMaterialParamCount(int pname) { 812 switch (pname) { 813 case GL_AMBIENT: 814 return 4; 815 case GL_DIFFUSE: 816 return 4; 817 case GL_SPECULAR: 818 return 4; 819 case GL_EMISSION: 820 return 4; 821 case GL_SHININESS: 822 return 1; 823 case GL_AMBIENT_AND_DIFFUSE: 824 return 4; 825 default: 826 return 0; 827 } 828 } 829 getLightName(int light)830 private String getLightName(int light) { 831 if (light >= GL_LIGHT0 && light <= GL_LIGHT7) { 832 return "GL_LIGHT" + Integer.toString(light); 833 } 834 return getHex(light); 835 } 836 getLightPName(int pname)837 private String getLightPName(int pname) { 838 switch (pname) { 839 case GL_AMBIENT: 840 return "GL_AMBIENT"; 841 case GL_DIFFUSE: 842 return "GL_DIFFUSE"; 843 case GL_SPECULAR: 844 return "GL_SPECULAR"; 845 case GL_POSITION: 846 return "GL_POSITION"; 847 case GL_SPOT_DIRECTION: 848 return "GL_SPOT_DIRECTION"; 849 case GL_SPOT_EXPONENT: 850 return "GL_SPOT_EXPONENT"; 851 case GL_SPOT_CUTOFF: 852 return "GL_SPOT_CUTOFF"; 853 case GL_CONSTANT_ATTENUATION: 854 return "GL_CONSTANT_ATTENUATION"; 855 case GL_LINEAR_ATTENUATION: 856 return "GL_LINEAR_ATTENUATION"; 857 case GL_QUADRATIC_ATTENUATION: 858 return "GL_QUADRATIC_ATTENUATION"; 859 default: 860 return getHex(pname); 861 } 862 } 863 getLightParamCount(int pname)864 private int getLightParamCount(int pname) { 865 switch (pname) { 866 case GL_AMBIENT: 867 return 4; 868 case GL_DIFFUSE: 869 return 4; 870 case GL_SPECULAR: 871 return 4; 872 case GL_POSITION: 873 return 4; 874 case GL_SPOT_DIRECTION: 875 return 3; 876 case GL_SPOT_EXPONENT: 877 return 1; 878 case GL_SPOT_CUTOFF: 879 return 1; 880 case GL_CONSTANT_ATTENUATION: 881 return 1; 882 case GL_LINEAR_ATTENUATION: 883 return 1; 884 case GL_QUADRATIC_ATTENUATION: 885 return 1; 886 default: 887 return 0; 888 } 889 } 890 getLightModelPName(int pname)891 private String getLightModelPName(int pname) { 892 switch (pname) { 893 case GL_LIGHT_MODEL_AMBIENT: 894 return "GL_LIGHT_MODEL_AMBIENT"; 895 case GL_LIGHT_MODEL_TWO_SIDE: 896 return "GL_LIGHT_MODEL_TWO_SIDE"; 897 default: 898 return getHex(pname); 899 } 900 } 901 getLightModelParamCount(int pname)902 private int getLightModelParamCount(int pname) { 903 switch (pname) { 904 case GL_LIGHT_MODEL_AMBIENT: 905 return 4; 906 case GL_LIGHT_MODEL_TWO_SIDE: 907 return 1; 908 default: 909 return 0; 910 } 911 } 912 getPointerTypeName(int type)913 private String getPointerTypeName(int type) { 914 switch (type) { 915 case GL_BYTE: 916 return "GL_BYTE"; 917 case GL_UNSIGNED_BYTE: 918 return "GL_UNSIGNED_BYTE"; 919 case GL_SHORT: 920 return "GL_SHORT"; 921 case GL_FIXED: 922 return "GL_FIXED"; 923 case GL_FLOAT: 924 return "GL_FLOAT"; 925 default: 926 return getHex(type); 927 } 928 } 929 toByteBuffer(int byteCount, Buffer input)930 private ByteBuffer toByteBuffer(int byteCount, Buffer input) { 931 ByteBuffer result = null; 932 boolean convertWholeBuffer = (byteCount < 0); 933 if (input instanceof ByteBuffer) { 934 ByteBuffer input2 = (ByteBuffer) input; 935 int position = input2.position(); 936 if (convertWholeBuffer) { 937 byteCount = input2.limit() - position; 938 } 939 result = ByteBuffer.allocate(byteCount).order(input2.order()); 940 for (int i = 0; i < byteCount; i++) { 941 result.put(input2.get()); 942 } 943 input2.position(position); 944 } else if (input instanceof CharBuffer) { 945 CharBuffer input2 = (CharBuffer) input; 946 int position = input2.position(); 947 if (convertWholeBuffer) { 948 byteCount = (input2.limit() - position) * 2; 949 } 950 result = ByteBuffer.allocate(byteCount).order(input2.order()); 951 CharBuffer result2 = result.asCharBuffer(); 952 for (int i = 0; i < byteCount / 2; i++) { 953 result2.put(input2.get()); 954 } 955 input2.position(position); 956 } else if (input instanceof ShortBuffer) { 957 ShortBuffer input2 = (ShortBuffer) input; 958 int position = input2.position(); 959 if (convertWholeBuffer) { 960 byteCount = (input2.limit() - position)* 2; 961 } 962 result = ByteBuffer.allocate(byteCount).order(input2.order()); 963 ShortBuffer result2 = result.asShortBuffer(); 964 for (int i = 0; i < byteCount / 2; i++) { 965 result2.put(input2.get()); 966 } 967 input2.position(position); 968 } else if (input instanceof IntBuffer) { 969 IntBuffer input2 = (IntBuffer) input; 970 int position = input2.position(); 971 if (convertWholeBuffer) { 972 byteCount = (input2.limit() - position) * 4; 973 } 974 result = ByteBuffer.allocate(byteCount).order(input2.order()); 975 IntBuffer result2 = result.asIntBuffer(); 976 for (int i = 0; i < byteCount / 4; i++) { 977 result2.put(input2.get()); 978 } 979 input2.position(position); 980 } else if (input instanceof FloatBuffer) { 981 FloatBuffer input2 = (FloatBuffer) input; 982 int position = input2.position(); 983 if (convertWholeBuffer) { 984 byteCount = (input2.limit() - position) * 4; 985 } 986 result = ByteBuffer.allocate(byteCount).order(input2.order()); 987 FloatBuffer result2 = result.asFloatBuffer(); 988 for (int i = 0; i < byteCount / 4; i++) { 989 result2.put(input2.get()); 990 } 991 input2.position(position); 992 } else if (input instanceof DoubleBuffer) { 993 DoubleBuffer input2 = (DoubleBuffer) input; 994 int position = input2.position(); 995 if (convertWholeBuffer) { 996 byteCount = (input2.limit() - position) * 8; 997 } 998 result = ByteBuffer.allocate(byteCount).order(input2.order()); 999 DoubleBuffer result2 = result.asDoubleBuffer(); 1000 for (int i = 0; i < byteCount / 8; i++) { 1001 result2.put(input2.get()); 1002 } 1003 input2.position(position); 1004 } else if (input instanceof LongBuffer) { 1005 LongBuffer input2 = (LongBuffer) input; 1006 int position = input2.position(); 1007 if (convertWholeBuffer) { 1008 byteCount = (input2.limit() - position) * 8; 1009 } 1010 result = ByteBuffer.allocate(byteCount).order(input2.order()); 1011 LongBuffer result2 = result.asLongBuffer(); 1012 for (int i = 0; i < byteCount / 8; i++) { 1013 result2.put(input2.get()); 1014 } 1015 input2.position(position); 1016 } else { 1017 throw new RuntimeException("Unimplemented Buffer subclass."); 1018 } 1019 result.rewind(); 1020 // The OpenGL API will interpret the result in hardware byte order, 1021 // so we better do that as well: 1022 result.order(ByteOrder.nativeOrder()); 1023 return result; 1024 } 1025 toCharIndices(int count, int type, Buffer indices)1026 private char[] toCharIndices(int count, int type, Buffer indices) { 1027 char[] result = new char[count]; 1028 switch (type) { 1029 case GL_UNSIGNED_BYTE: { 1030 ByteBuffer byteBuffer = toByteBuffer(count, indices); 1031 byte[] array = byteBuffer.array(); 1032 int offset = byteBuffer.arrayOffset(); 1033 for (int i = 0; i < count; i++) { 1034 result[i] = (char) (0xff & array[offset + i]); 1035 } 1036 } 1037 break; 1038 case GL_UNSIGNED_SHORT: { 1039 CharBuffer charBuffer; 1040 if (indices instanceof CharBuffer) { 1041 charBuffer = (CharBuffer) indices; 1042 } else { 1043 ByteBuffer byteBuffer = toByteBuffer(count * 2, indices); 1044 charBuffer = byteBuffer.asCharBuffer(); 1045 } 1046 int oldPosition = charBuffer.position(); 1047 charBuffer.position(0); 1048 charBuffer.get(result); 1049 charBuffer.position(oldPosition); 1050 } 1051 break; 1052 default: 1053 // Don't throw an exception, because we don't want logging to 1054 // change the behavior. 1055 break; 1056 } 1057 return result; 1058 } 1059 doArrayElement(StringBuilder builder, boolean enabled, String name, PointerInfo pointer, int index)1060 private void doArrayElement(StringBuilder builder, boolean enabled, 1061 String name, PointerInfo pointer, int index) { 1062 if (!enabled) { 1063 return; 1064 } 1065 builder.append(" "); 1066 builder.append(name + ":{"); 1067 if (pointer == null || pointer.mTempByteBuffer == null ) { 1068 builder.append("undefined }"); 1069 return; 1070 } 1071 if (pointer.mStride < 0) { 1072 builder.append("invalid stride"); 1073 return; 1074 } 1075 1076 int stride = pointer.getStride(); 1077 ByteBuffer byteBuffer = pointer.mTempByteBuffer; 1078 int size = pointer.mSize; 1079 int type = pointer.mType; 1080 int sizeofType = pointer.sizeof(type); 1081 int byteOffset = stride * index; 1082 for (int i = 0; i < size; i++) { 1083 if (i > 0) { 1084 builder.append(", "); 1085 } 1086 switch (type) { 1087 case GL_BYTE: { 1088 byte d = byteBuffer.get(byteOffset); 1089 builder.append(Integer.toString(d)); 1090 } 1091 break; 1092 case GL_UNSIGNED_BYTE: { 1093 byte d = byteBuffer.get(byteOffset); 1094 builder.append(Integer.toString(0xff & d)); 1095 } 1096 break; 1097 case GL_SHORT: { 1098 ShortBuffer shortBuffer = byteBuffer.asShortBuffer(); 1099 short d = shortBuffer.get(byteOffset / 2); 1100 builder.append(Integer.toString(d)); 1101 } 1102 break; 1103 case GL_FIXED: { 1104 IntBuffer intBuffer = byteBuffer.asIntBuffer(); 1105 int d = intBuffer.get(byteOffset / 4); 1106 builder.append(Integer.toString(d)); 1107 } 1108 break; 1109 case GL_FLOAT: { 1110 FloatBuffer intBuffer = byteBuffer.asFloatBuffer(); 1111 float d = intBuffer.get(byteOffset / 4); 1112 builder.append(Float.toString(d)); 1113 } 1114 break; 1115 default: 1116 builder.append("?"); 1117 break; 1118 } 1119 byteOffset += sizeofType; 1120 } 1121 builder.append("}"); 1122 } 1123 doElement(StringBuilder builder, int ordinal, int vertexIndex)1124 private void doElement(StringBuilder builder, int ordinal, int vertexIndex) { 1125 builder.append(" [" + ordinal + " : " + vertexIndex + "] ="); 1126 doArrayElement(builder, mVertexArrayEnabled, "v", mVertexPointer, 1127 vertexIndex); 1128 doArrayElement(builder, mNormalArrayEnabled, "n", mNormalPointer, 1129 vertexIndex); 1130 doArrayElement(builder, mColorArrayEnabled, "c", mColorPointer, 1131 vertexIndex); 1132 doArrayElement(builder, mTextureCoordArrayEnabled, "t", 1133 mTexCoordPointer, vertexIndex); 1134 builder.append("\n"); 1135 // Vertex 1136 // Normal 1137 // Color 1138 // TexCoord 1139 } 1140 bindArrays()1141 private void bindArrays() { 1142 if (mColorArrayEnabled) 1143 mColorPointer.bindByteBuffer(); 1144 if (mNormalArrayEnabled) 1145 mNormalPointer.bindByteBuffer(); 1146 if (mTextureCoordArrayEnabled) 1147 mTexCoordPointer.bindByteBuffer(); 1148 if (mVertexArrayEnabled) 1149 mVertexPointer.bindByteBuffer(); 1150 } 1151 unbindArrays()1152 private void unbindArrays() { 1153 if (mColorArrayEnabled) 1154 mColorPointer.unbindByteBuffer(); 1155 if (mNormalArrayEnabled) 1156 mNormalPointer.unbindByteBuffer(); 1157 if (mTextureCoordArrayEnabled) 1158 mTexCoordPointer.unbindByteBuffer(); 1159 if (mVertexArrayEnabled) 1160 mVertexPointer.unbindByteBuffer(); 1161 } 1162 startLogIndices()1163 private void startLogIndices() { 1164 mStringBuilder = new StringBuilder(); 1165 mStringBuilder.append("\n"); 1166 bindArrays(); 1167 } 1168 endLogIndices()1169 private void endLogIndices() { 1170 log(mStringBuilder.toString()); 1171 unbindArrays(); 1172 } 1173 1174 // --------------------------------------------------------------------- 1175 // GL10 methods: 1176 glActiveTexture(int texture)1177 public void glActiveTexture(int texture) { 1178 begin("glActiveTexture"); 1179 arg("texture", texture); 1180 end(); 1181 mgl.glActiveTexture(texture); 1182 checkError(); 1183 } 1184 glAlphaFunc(int func, float ref)1185 public void glAlphaFunc(int func, float ref) { 1186 begin("glAlphaFunc"); 1187 arg("func", func); 1188 arg("ref", ref); 1189 end(); 1190 mgl.glAlphaFunc(func, ref); 1191 checkError(); 1192 } 1193 glAlphaFuncx(int func, int ref)1194 public void glAlphaFuncx(int func, int ref) { 1195 begin("glAlphaFuncx"); 1196 arg("func", func); 1197 arg("ref", ref); 1198 end(); 1199 mgl.glAlphaFuncx(func, ref); 1200 checkError(); 1201 } 1202 glBindTexture(int target, int texture)1203 public void glBindTexture(int target, int texture) { 1204 begin("glBindTexture"); 1205 arg("target", getTextureTarget(target)); 1206 arg("texture", texture); 1207 end(); 1208 mgl.glBindTexture(target, texture); 1209 checkError(); 1210 } 1211 glBlendFunc(int sfactor, int dfactor)1212 public void glBlendFunc(int sfactor, int dfactor) { 1213 begin("glBlendFunc"); 1214 arg("sfactor", getFactor(sfactor)); 1215 arg("dfactor", getFactor(dfactor)); 1216 end(); 1217 1218 mgl.glBlendFunc(sfactor, dfactor); 1219 checkError(); 1220 } 1221 glClear(int mask)1222 public void glClear(int mask) { 1223 begin("glClear"); 1224 arg("mask", getClearBufferMask(mask)); 1225 end(); 1226 1227 mgl.glClear(mask); 1228 checkError(); 1229 } 1230 glClearColor(float red, float green, float blue, float alpha)1231 public void glClearColor(float red, float green, float blue, float alpha) { 1232 begin("glClearColor"); 1233 arg("red", red); 1234 arg("green", green); 1235 arg("blue", blue); 1236 arg("alpha", alpha); 1237 end(); 1238 1239 mgl.glClearColor(red, green, blue, alpha); 1240 checkError(); 1241 } 1242 glClearColorx(int red, int green, int blue, int alpha)1243 public void glClearColorx(int red, int green, int blue, int alpha) { 1244 begin("glClearColor"); 1245 arg("red", red); 1246 arg("green", green); 1247 arg("blue", blue); 1248 arg("alpha", alpha); 1249 end(); 1250 1251 mgl.glClearColorx(red, green, blue, alpha); 1252 checkError(); 1253 } 1254 glClearDepthf(float depth)1255 public void glClearDepthf(float depth) { 1256 begin("glClearDepthf"); 1257 arg("depth", depth); 1258 end(); 1259 1260 mgl.glClearDepthf(depth); 1261 checkError(); 1262 } 1263 glClearDepthx(int depth)1264 public void glClearDepthx(int depth) { 1265 begin("glClearDepthx"); 1266 arg("depth", depth); 1267 end(); 1268 1269 mgl.glClearDepthx(depth); 1270 checkError(); 1271 } 1272 glClearStencil(int s)1273 public void glClearStencil(int s) { 1274 begin("glClearStencil"); 1275 arg("s", s); 1276 end(); 1277 1278 mgl.glClearStencil(s); 1279 checkError(); 1280 } 1281 glClientActiveTexture(int texture)1282 public void glClientActiveTexture(int texture) { 1283 begin("glClientActiveTexture"); 1284 arg("texture", texture); 1285 end(); 1286 1287 mgl.glClientActiveTexture(texture); 1288 checkError(); 1289 } 1290 glColor4f(float red, float green, float blue, float alpha)1291 public void glColor4f(float red, float green, float blue, float alpha) { 1292 begin("glColor4f"); 1293 arg("red", red); 1294 arg("green", green); 1295 arg("blue", blue); 1296 arg("alpha", alpha); 1297 end(); 1298 1299 mgl.glColor4f(red, green, blue, alpha); 1300 checkError(); 1301 } 1302 glColor4x(int red, int green, int blue, int alpha)1303 public void glColor4x(int red, int green, int blue, int alpha) { 1304 begin("glColor4x"); 1305 arg("red", red); 1306 arg("green", green); 1307 arg("blue", blue); 1308 arg("alpha", alpha); 1309 end(); 1310 1311 mgl.glColor4x(red, green, blue, alpha); 1312 checkError(); 1313 } 1314 glColorMask(boolean red, boolean green, boolean blue, boolean alpha)1315 public void glColorMask(boolean red, boolean green, boolean blue, 1316 boolean alpha) { 1317 begin("glColorMask"); 1318 arg("red", red); 1319 arg("green", green); 1320 arg("blue", blue); 1321 arg("alpha", alpha); 1322 end(); 1323 1324 mgl.glColorMask(red, green, blue, alpha); 1325 checkError(); 1326 } 1327 glColorPointer(int size, int type, int stride, Buffer pointer)1328 public void glColorPointer(int size, int type, int stride, Buffer pointer) { 1329 begin("glColorPointer"); 1330 argPointer(size, type, stride, pointer); 1331 end(); 1332 mColorPointer = new PointerInfo(size, type, stride, pointer); 1333 1334 mgl.glColorPointer(size, type, stride, pointer); 1335 checkError(); 1336 } 1337 glCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, Buffer data)1338 public void glCompressedTexImage2D(int target, int level, 1339 int internalformat, int width, int height, int border, 1340 int imageSize, Buffer data) { 1341 begin("glCompressedTexImage2D"); 1342 arg("target", getTextureTarget(target)); 1343 arg("level", level); 1344 arg("internalformat", internalformat); 1345 arg("width", width); 1346 arg("height", height); 1347 arg("border", border); 1348 arg("imageSize", imageSize); 1349 arg("data", data.toString()); 1350 end(); 1351 1352 mgl.glCompressedTexImage2D(target, level, internalformat, width, 1353 height, border, imageSize, data); 1354 checkError(); 1355 } 1356 glCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, Buffer data)1357 public void glCompressedTexSubImage2D(int target, int level, int xoffset, 1358 int yoffset, int width, int height, int format, int imageSize, 1359 Buffer data) { 1360 begin("glCompressedTexSubImage2D"); 1361 arg("target", getTextureTarget(target)); 1362 arg("level", level); 1363 arg("xoffset", xoffset); 1364 arg("yoffset", yoffset); 1365 arg("width", width); 1366 arg("height", height); 1367 arg("format", format); 1368 arg("imageSize", imageSize); 1369 arg("data", data.toString()); 1370 end(); 1371 1372 mgl.glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, 1373 height, format, imageSize, data); 1374 checkError(); 1375 } 1376 glCopyTexImage2D(int target, int level, int internalformat, int x, int y, int width, int height, int border)1377 public void glCopyTexImage2D(int target, int level, int internalformat, 1378 int x, int y, int width, int height, int border) { 1379 begin("glCopyTexImage2D"); 1380 arg("target", getTextureTarget(target)); 1381 arg("level", level); 1382 arg("internalformat", internalformat); 1383 arg("x", x); 1384 arg("y", y); 1385 arg("width", width); 1386 arg("height", height); 1387 arg("border", border); 1388 end(); 1389 1390 mgl.glCopyTexImage2D(target, level, internalformat, x, y, width, 1391 height, border); 1392 checkError(); 1393 } 1394 glCopyTexSubImage2D(int target, int level, int xoffset, int yoffset, int x, int y, int width, int height)1395 public void glCopyTexSubImage2D(int target, int level, int xoffset, 1396 int yoffset, int x, int y, int width, int height) { 1397 begin("glCopyTexSubImage2D"); 1398 arg("target", getTextureTarget(target)); 1399 arg("level", level); 1400 arg("xoffset", xoffset); 1401 arg("yoffset", yoffset); 1402 arg("x", x); 1403 arg("y", y); 1404 arg("width", width); 1405 arg("height", height); 1406 end(); 1407 1408 mgl.glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, 1409 height); 1410 checkError(); 1411 } 1412 glCullFace(int mode)1413 public void glCullFace(int mode) { 1414 begin("glCullFace"); 1415 arg("mode", mode); 1416 end(); 1417 1418 mgl.glCullFace(mode); 1419 checkError(); 1420 } 1421 glDeleteTextures(int n, int[] textures, int offset)1422 public void glDeleteTextures(int n, int[] textures, int offset) { 1423 begin("glDeleteTextures"); 1424 arg("n", n); 1425 arg("textures", n, textures, offset); 1426 arg("offset", offset); 1427 end(); 1428 1429 mgl.glDeleteTextures(n, textures, offset); 1430 checkError(); 1431 } 1432 glDeleteTextures(int n, IntBuffer textures)1433 public void glDeleteTextures(int n, IntBuffer textures) { 1434 begin("glDeleteTextures"); 1435 arg("n", n); 1436 arg("textures", n, textures); 1437 end(); 1438 1439 mgl.glDeleteTextures(n, textures); 1440 checkError(); 1441 } 1442 glDepthFunc(int func)1443 public void glDepthFunc(int func) { 1444 begin("glDepthFunc"); 1445 arg("func", func); 1446 end(); 1447 1448 mgl.glDepthFunc(func); 1449 checkError(); 1450 } 1451 glDepthMask(boolean flag)1452 public void glDepthMask(boolean flag) { 1453 begin("glDepthMask"); 1454 arg("flag", flag); 1455 end(); 1456 1457 mgl.glDepthMask(flag); 1458 checkError(); 1459 } 1460 glDepthRangef(float near, float far)1461 public void glDepthRangef(float near, float far) { 1462 begin("glDepthRangef"); 1463 arg("near", near); 1464 arg("far", far); 1465 end(); 1466 1467 mgl.glDepthRangef(near, far); 1468 checkError(); 1469 } 1470 glDepthRangex(int near, int far)1471 public void glDepthRangex(int near, int far) { 1472 begin("glDepthRangex"); 1473 arg("near", near); 1474 arg("far", far); 1475 end(); 1476 1477 mgl.glDepthRangex(near, far); 1478 checkError(); 1479 } 1480 glDisable(int cap)1481 public void glDisable(int cap) { 1482 begin("glDisable"); 1483 arg("cap", getCap(cap)); 1484 end(); 1485 1486 mgl.glDisable(cap); 1487 checkError(); 1488 } 1489 glDisableClientState(int array)1490 public void glDisableClientState(int array) { 1491 begin("glDisableClientState"); 1492 arg("array", getClientState(array)); 1493 end(); 1494 1495 switch (array) { 1496 case GL_COLOR_ARRAY: 1497 mColorArrayEnabled = false; 1498 break; 1499 case GL_NORMAL_ARRAY: 1500 mNormalArrayEnabled = false; 1501 break; 1502 case GL_TEXTURE_COORD_ARRAY: 1503 mTextureCoordArrayEnabled = false; 1504 break; 1505 case GL_VERTEX_ARRAY: 1506 mVertexArrayEnabled = false; 1507 break; 1508 } 1509 mgl.glDisableClientState(array); 1510 checkError(); 1511 } 1512 glDrawArrays(int mode, int first, int count)1513 public void glDrawArrays(int mode, int first, int count) { 1514 begin("glDrawArrays"); 1515 arg("mode", mode); 1516 arg("first", first); 1517 arg("count", count); 1518 startLogIndices(); 1519 for (int i = 0; i < count; i++) { 1520 doElement(mStringBuilder, i, first + i); 1521 } 1522 endLogIndices(); 1523 end(); 1524 1525 mgl.glDrawArrays(mode, first, count); 1526 checkError(); 1527 } 1528 glDrawElements(int mode, int count, int type, Buffer indices)1529 public void glDrawElements(int mode, int count, int type, Buffer indices) { 1530 begin("glDrawElements"); 1531 arg("mode", getBeginMode(mode)); 1532 arg("count", count); 1533 arg("type", getIndexType(type)); 1534 char[] indexArray = toCharIndices(count, type, indices); 1535 int indexArrayLength = indexArray.length; 1536 startLogIndices(); 1537 for (int i = 0; i < indexArrayLength; i++) { 1538 doElement(mStringBuilder, i, indexArray[i]); 1539 } 1540 endLogIndices(); 1541 end(); 1542 1543 mgl.glDrawElements(mode, count, type, indices); 1544 checkError(); 1545 } 1546 glEnable(int cap)1547 public void glEnable(int cap) { 1548 begin("glEnable"); 1549 arg("cap", getCap(cap)); 1550 end(); 1551 1552 mgl.glEnable(cap); 1553 checkError(); 1554 } 1555 glEnableClientState(int array)1556 public void glEnableClientState(int array) { 1557 begin("glEnableClientState"); 1558 arg("array", getClientState(array)); 1559 end(); 1560 1561 switch (array) { 1562 case GL_COLOR_ARRAY: 1563 mColorArrayEnabled = true; 1564 break; 1565 case GL_NORMAL_ARRAY: 1566 mNormalArrayEnabled = true; 1567 break; 1568 case GL_TEXTURE_COORD_ARRAY: 1569 mTextureCoordArrayEnabled = true; 1570 break; 1571 case GL_VERTEX_ARRAY: 1572 mVertexArrayEnabled = true; 1573 break; 1574 } 1575 mgl.glEnableClientState(array); 1576 checkError(); 1577 } 1578 glFinish()1579 public void glFinish() { 1580 begin("glFinish"); 1581 end(); 1582 1583 mgl.glFinish(); 1584 checkError(); 1585 } 1586 glFlush()1587 public void glFlush() { 1588 begin("glFlush"); 1589 end(); 1590 1591 mgl.glFlush(); 1592 checkError(); 1593 } 1594 glFogf(int pname, float param)1595 public void glFogf(int pname, float param) { 1596 begin("glFogf"); 1597 arg("pname", pname); 1598 arg("param", param); 1599 end(); 1600 1601 mgl.glFogf(pname, param); 1602 checkError(); 1603 } 1604 glFogfv(int pname, float[] params, int offset)1605 public void glFogfv(int pname, float[] params, int offset) { 1606 begin("glFogfv"); 1607 arg("pname", getFogPName(pname)); 1608 arg("params", getFogParamCount(pname), params, offset); 1609 arg("offset", offset); 1610 end(); 1611 1612 mgl.glFogfv(pname, params, offset); 1613 checkError(); 1614 } 1615 glFogfv(int pname, FloatBuffer params)1616 public void glFogfv(int pname, FloatBuffer params) { 1617 begin("glFogfv"); 1618 arg("pname", getFogPName(pname)); 1619 arg("params", getFogParamCount(pname), params); 1620 end(); 1621 1622 mgl.glFogfv(pname, params); 1623 checkError(); 1624 } 1625 glFogx(int pname, int param)1626 public void glFogx(int pname, int param) { 1627 begin("glFogx"); 1628 arg("pname", getFogPName(pname)); 1629 arg("param", param); 1630 end(); 1631 1632 mgl.glFogx(pname, param); 1633 checkError(); 1634 } 1635 glFogxv(int pname, int[] params, int offset)1636 public void glFogxv(int pname, int[] params, int offset) { 1637 begin("glFogxv"); 1638 arg("pname", getFogPName(pname)); 1639 arg("params", getFogParamCount(pname), params, offset); 1640 arg("offset", offset); 1641 end(); 1642 1643 mgl.glFogxv(pname, params, offset); 1644 checkError(); 1645 } 1646 glFogxv(int pname, IntBuffer params)1647 public void glFogxv(int pname, IntBuffer params) { 1648 begin("glFogxv"); 1649 arg("pname", getFogPName(pname)); 1650 arg("params", getFogParamCount(pname), params); 1651 end(); 1652 1653 mgl.glFogxv(pname, params); 1654 checkError(); 1655 } 1656 glFrontFace(int mode)1657 public void glFrontFace(int mode) { 1658 begin("glFrontFace"); 1659 arg("mode", mode); 1660 end(); 1661 1662 mgl.glFrontFace(mode); 1663 checkError(); 1664 } 1665 glFrustumf(float left, float right, float bottom, float top, float near, float far)1666 public void glFrustumf(float left, float right, float bottom, float top, 1667 float near, float far) { 1668 begin("glFrustumf"); 1669 arg("left", left); 1670 arg("right", right); 1671 arg("bottom", bottom); 1672 arg("top", top); 1673 arg("near", near); 1674 arg("far", far); 1675 end(); 1676 1677 mgl.glFrustumf(left, right, bottom, top, near, far); 1678 checkError(); 1679 } 1680 glFrustumx(int left, int right, int bottom, int top, int near, int far)1681 public void glFrustumx(int left, int right, int bottom, int top, int near, 1682 int far) { 1683 begin("glFrustumx"); 1684 arg("left", left); 1685 arg("right", right); 1686 arg("bottom", bottom); 1687 arg("top", top); 1688 arg("near", near); 1689 arg("far", far); 1690 end(); 1691 1692 mgl.glFrustumx(left, right, bottom, top, near, far); 1693 checkError(); 1694 } 1695 glGenTextures(int n, int[] textures, int offset)1696 public void glGenTextures(int n, int[] textures, int offset) { 1697 begin("glGenTextures"); 1698 arg("n", n); 1699 arg("textures", Arrays.toString(textures)); 1700 arg("offset", offset); 1701 1702 mgl.glGenTextures(n, textures, offset); 1703 1704 returns(toString(n, FORMAT_INT, textures, offset)); 1705 1706 checkError(); 1707 } 1708 glGenTextures(int n, IntBuffer textures)1709 public void glGenTextures(int n, IntBuffer textures) { 1710 begin("glGenTextures"); 1711 arg("n", n); 1712 arg("textures", textures.toString()); 1713 1714 mgl.glGenTextures(n, textures); 1715 1716 returns(toString(n, FORMAT_INT, textures)); 1717 1718 checkError(); 1719 } 1720 glGetError()1721 public int glGetError() { 1722 begin("glGetError"); 1723 1724 int result = mgl.glGetError(); 1725 1726 returns(result); 1727 1728 return result; 1729 } 1730 glGetIntegerv(int pname, int[] params, int offset)1731 public void glGetIntegerv(int pname, int[] params, int offset) { 1732 begin("glGetIntegerv"); 1733 arg("pname", getIntegerStateName(pname)); 1734 arg("params", Arrays.toString(params)); 1735 arg("offset", offset); 1736 1737 mgl.glGetIntegerv(pname, params, offset); 1738 1739 returns(toString(getIntegerStateSize(pname), 1740 getIntegerStateFormat(pname), params, offset)); 1741 1742 checkError(); 1743 } 1744 glGetIntegerv(int pname, IntBuffer params)1745 public void glGetIntegerv(int pname, IntBuffer params) { 1746 begin("glGetIntegerv"); 1747 arg("pname", getIntegerStateName(pname)); 1748 arg("params", params.toString()); 1749 1750 mgl.glGetIntegerv(pname, params); 1751 1752 returns(toString(getIntegerStateSize(pname), 1753 getIntegerStateFormat(pname), params)); 1754 1755 checkError(); 1756 } 1757 glGetString(int name)1758 public String glGetString(int name) { 1759 begin("glGetString"); 1760 arg("name", name); 1761 1762 String result = mgl.glGetString(name); 1763 1764 returns(result); 1765 1766 checkError(); 1767 return result; 1768 } 1769 glHint(int target, int mode)1770 public void glHint(int target, int mode) { 1771 begin("glHint"); 1772 arg("target", getHintTarget(target)); 1773 arg("mode", getHintMode(mode)); 1774 end(); 1775 1776 mgl.glHint(target, mode); 1777 checkError(); 1778 } 1779 glLightModelf(int pname, float param)1780 public void glLightModelf(int pname, float param) { 1781 begin("glLightModelf"); 1782 arg("pname", getLightModelPName(pname)); 1783 arg("param", param); 1784 end(); 1785 1786 mgl.glLightModelf(pname, param); 1787 checkError(); 1788 } 1789 glLightModelfv(int pname, float[] params, int offset)1790 public void glLightModelfv(int pname, float[] params, int offset) { 1791 begin("glLightModelfv"); 1792 arg("pname", getLightModelPName(pname)); 1793 arg("params", getLightModelParamCount(pname), params, offset); 1794 arg("offset", offset); 1795 end(); 1796 1797 mgl.glLightModelfv(pname, params, offset); 1798 checkError(); 1799 } 1800 glLightModelfv(int pname, FloatBuffer params)1801 public void glLightModelfv(int pname, FloatBuffer params) { 1802 begin("glLightModelfv"); 1803 arg("pname", getLightModelPName(pname)); 1804 arg("params", getLightModelParamCount(pname), params); 1805 end(); 1806 1807 mgl.glLightModelfv(pname, params); 1808 checkError(); 1809 } 1810 glLightModelx(int pname, int param)1811 public void glLightModelx(int pname, int param) { 1812 begin("glLightModelx"); 1813 arg("pname", getLightModelPName(pname)); 1814 arg("param", param); 1815 end(); 1816 1817 mgl.glLightModelx(pname, param); 1818 checkError(); 1819 } 1820 glLightModelxv(int pname, int[] params, int offset)1821 public void glLightModelxv(int pname, int[] params, int offset) { 1822 begin("glLightModelxv"); 1823 arg("pname", getLightModelPName(pname)); 1824 arg("params", getLightModelParamCount(pname), params, offset); 1825 arg("offset", offset); 1826 end(); 1827 1828 mgl.glLightModelxv(pname, params, offset); 1829 checkError(); 1830 } 1831 glLightModelxv(int pname, IntBuffer params)1832 public void glLightModelxv(int pname, IntBuffer params) { 1833 begin("glLightModelfv"); 1834 arg("pname", getLightModelPName(pname)); 1835 arg("params", getLightModelParamCount(pname), params); 1836 end(); 1837 1838 mgl.glLightModelxv(pname, params); 1839 checkError(); 1840 } 1841 glLightf(int light, int pname, float param)1842 public void glLightf(int light, int pname, float param) { 1843 begin("glLightf"); 1844 arg("light", getLightName(light)); 1845 arg("pname", getLightPName(pname)); 1846 arg("param", param); 1847 end(); 1848 1849 mgl.glLightf(light, pname, param); 1850 checkError(); 1851 } 1852 glLightfv(int light, int pname, float[] params, int offset)1853 public void glLightfv(int light, int pname, float[] params, int offset) { 1854 begin("glLightfv"); 1855 arg("light", getLightName(light)); 1856 arg("pname", getLightPName(pname)); 1857 arg("params", getLightParamCount(pname), params, offset); 1858 arg("offset", offset); 1859 end(); 1860 1861 mgl.glLightfv(light, pname, params, offset); 1862 checkError(); 1863 } 1864 glLightfv(int light, int pname, FloatBuffer params)1865 public void glLightfv(int light, int pname, FloatBuffer params) { 1866 begin("glLightfv"); 1867 arg("light", getLightName(light)); 1868 arg("pname", getLightPName(pname)); 1869 arg("params", getLightParamCount(pname), params); 1870 end(); 1871 1872 mgl.glLightfv(light, pname, params); 1873 checkError(); 1874 } 1875 glLightx(int light, int pname, int param)1876 public void glLightx(int light, int pname, int param) { 1877 begin("glLightx"); 1878 arg("light", getLightName(light)); 1879 arg("pname", getLightPName(pname)); 1880 arg("param", param); 1881 end(); 1882 1883 mgl.glLightx(light, pname, param); 1884 checkError(); 1885 } 1886 glLightxv(int light, int pname, int[] params, int offset)1887 public void glLightxv(int light, int pname, int[] params, int offset) { 1888 begin("glLightxv"); 1889 arg("light", getLightName(light)); 1890 arg("pname", getLightPName(pname)); 1891 arg("params", getLightParamCount(pname), params, offset); 1892 arg("offset", offset); 1893 end(); 1894 1895 mgl.glLightxv(light, pname, params, offset); 1896 checkError(); 1897 } 1898 glLightxv(int light, int pname, IntBuffer params)1899 public void glLightxv(int light, int pname, IntBuffer params) { 1900 begin("glLightxv"); 1901 arg("light", getLightName(light)); 1902 arg("pname", getLightPName(pname)); 1903 arg("params", getLightParamCount(pname), params); 1904 end(); 1905 1906 mgl.glLightxv(light, pname, params); 1907 checkError(); 1908 } 1909 glLineWidth(float width)1910 public void glLineWidth(float width) { 1911 begin("glLineWidth"); 1912 arg("width", width); 1913 end(); 1914 1915 mgl.glLineWidth(width); 1916 checkError(); 1917 } 1918 glLineWidthx(int width)1919 public void glLineWidthx(int width) { 1920 begin("glLineWidthx"); 1921 arg("width", width); 1922 end(); 1923 1924 mgl.glLineWidthx(width); 1925 checkError(); 1926 } 1927 glLoadIdentity()1928 public void glLoadIdentity() { 1929 begin("glLoadIdentity"); 1930 end(); 1931 1932 mgl.glLoadIdentity(); 1933 checkError(); 1934 } 1935 glLoadMatrixf(float[] m, int offset)1936 public void glLoadMatrixf(float[] m, int offset) { 1937 begin("glLoadMatrixf"); 1938 arg("m", 16, m, offset); 1939 arg("offset", offset); 1940 end(); 1941 1942 mgl.glLoadMatrixf(m, offset); 1943 checkError(); 1944 } 1945 glLoadMatrixf(FloatBuffer m)1946 public void glLoadMatrixf(FloatBuffer m) { 1947 begin("glLoadMatrixf"); 1948 arg("m", 16, m); 1949 end(); 1950 1951 mgl.glLoadMatrixf(m); 1952 checkError(); 1953 } 1954 glLoadMatrixx(int[] m, int offset)1955 public void glLoadMatrixx(int[] m, int offset) { 1956 begin("glLoadMatrixx"); 1957 arg("m", 16, m, offset); 1958 arg("offset", offset); 1959 end(); 1960 1961 mgl.glLoadMatrixx(m, offset); 1962 checkError(); 1963 } 1964 glLoadMatrixx(IntBuffer m)1965 public void glLoadMatrixx(IntBuffer m) { 1966 begin("glLoadMatrixx"); 1967 arg("m", 16, m); 1968 end(); 1969 1970 mgl.glLoadMatrixx(m); 1971 checkError(); 1972 } 1973 glLogicOp(int opcode)1974 public void glLogicOp(int opcode) { 1975 begin("glLogicOp"); 1976 arg("opcode", opcode); 1977 end(); 1978 1979 mgl.glLogicOp(opcode); 1980 checkError(); 1981 } 1982 glMaterialf(int face, int pname, float param)1983 public void glMaterialf(int face, int pname, float param) { 1984 begin("glMaterialf"); 1985 arg("face", getFaceName(face)); 1986 arg("pname", getMaterialPName(pname)); 1987 arg("param", param); 1988 end(); 1989 1990 mgl.glMaterialf(face, pname, param); 1991 checkError(); 1992 } 1993 glMaterialfv(int face, int pname, float[] params, int offset)1994 public void glMaterialfv(int face, int pname, float[] params, int offset) { 1995 begin("glMaterialfv"); 1996 arg("face", getFaceName(face)); 1997 arg("pname", getMaterialPName(pname)); 1998 arg("params", getMaterialParamCount(pname), params, offset); 1999 arg("offset", offset); 2000 end(); 2001 2002 mgl.glMaterialfv(face, pname, params, offset); 2003 checkError(); 2004 } 2005 glMaterialfv(int face, int pname, FloatBuffer params)2006 public void glMaterialfv(int face, int pname, FloatBuffer params) { 2007 begin("glMaterialfv"); 2008 arg("face", getFaceName(face)); 2009 arg("pname", getMaterialPName(pname)); 2010 arg("params", getMaterialParamCount(pname), params); 2011 end(); 2012 2013 mgl.glMaterialfv(face, pname, params); 2014 checkError(); 2015 } 2016 glMaterialx(int face, int pname, int param)2017 public void glMaterialx(int face, int pname, int param) { 2018 begin("glMaterialx"); 2019 arg("face", getFaceName(face)); 2020 arg("pname", getMaterialPName(pname)); 2021 arg("param", param); 2022 end(); 2023 2024 mgl.glMaterialx(face, pname, param); 2025 checkError(); 2026 } 2027 glMaterialxv(int face, int pname, int[] params, int offset)2028 public void glMaterialxv(int face, int pname, int[] params, int offset) { 2029 begin("glMaterialxv"); 2030 arg("face", getFaceName(face)); 2031 arg("pname", getMaterialPName(pname)); 2032 arg("params", getMaterialParamCount(pname), params, offset); 2033 arg("offset", offset); 2034 end(); 2035 2036 mgl.glMaterialxv(face, pname, params, offset); 2037 checkError(); 2038 } 2039 glMaterialxv(int face, int pname, IntBuffer params)2040 public void glMaterialxv(int face, int pname, IntBuffer params) { 2041 begin("glMaterialxv"); 2042 arg("face", getFaceName(face)); 2043 arg("pname", getMaterialPName(pname)); 2044 arg("params", getMaterialParamCount(pname), params); 2045 end(); 2046 2047 mgl.glMaterialxv(face, pname, params); 2048 checkError(); 2049 } 2050 glMatrixMode(int mode)2051 public void glMatrixMode(int mode) { 2052 begin("glMatrixMode"); 2053 arg("mode", getMatrixMode(mode)); 2054 end(); 2055 2056 mgl.glMatrixMode(mode); 2057 checkError(); 2058 } 2059 glMultMatrixf(float[] m, int offset)2060 public void glMultMatrixf(float[] m, int offset) { 2061 begin("glMultMatrixf"); 2062 arg("m", 16, m, offset); 2063 arg("offset", offset); 2064 end(); 2065 2066 mgl.glMultMatrixf(m, offset); 2067 checkError(); 2068 } 2069 glMultMatrixf(FloatBuffer m)2070 public void glMultMatrixf(FloatBuffer m) { 2071 begin("glMultMatrixf"); 2072 arg("m", 16, m); 2073 end(); 2074 2075 mgl.glMultMatrixf(m); 2076 checkError(); 2077 } 2078 glMultMatrixx(int[] m, int offset)2079 public void glMultMatrixx(int[] m, int offset) { 2080 begin("glMultMatrixx"); 2081 arg("m", 16, m, offset); 2082 arg("offset", offset); 2083 end(); 2084 2085 mgl.glMultMatrixx(m, offset); 2086 checkError(); 2087 } 2088 glMultMatrixx(IntBuffer m)2089 public void glMultMatrixx(IntBuffer m) { 2090 begin("glMultMatrixx"); 2091 arg("m", 16, m); 2092 end(); 2093 2094 mgl.glMultMatrixx(m); 2095 checkError(); 2096 } 2097 glMultiTexCoord4f(int target, float s, float t, float r, float q)2098 public void glMultiTexCoord4f(int target, float s, float t, float r, float q) { 2099 begin("glMultiTexCoord4f"); 2100 arg("target", target); 2101 arg("s", s); 2102 arg("t", t); 2103 arg("r", r); 2104 arg("q", q); 2105 end(); 2106 2107 mgl.glMultiTexCoord4f(target, s, t, r, q); 2108 checkError(); 2109 } 2110 glMultiTexCoord4x(int target, int s, int t, int r, int q)2111 public void glMultiTexCoord4x(int target, int s, int t, int r, int q) { 2112 begin("glMultiTexCoord4x"); 2113 arg("target", target); 2114 arg("s", s); 2115 arg("t", t); 2116 arg("r", r); 2117 arg("q", q); 2118 end(); 2119 2120 mgl.glMultiTexCoord4x(target, s, t, r, q); 2121 checkError(); 2122 } 2123 glNormal3f(float nx, float ny, float nz)2124 public void glNormal3f(float nx, float ny, float nz) { 2125 begin("glNormal3f"); 2126 arg("nx", nx); 2127 arg("ny", ny); 2128 arg("nz", nz); 2129 end(); 2130 2131 mgl.glNormal3f(nx, ny, nz); 2132 checkError(); 2133 } 2134 glNormal3x(int nx, int ny, int nz)2135 public void glNormal3x(int nx, int ny, int nz) { 2136 begin("glNormal3x"); 2137 arg("nx", nx); 2138 arg("ny", ny); 2139 arg("nz", nz); 2140 end(); 2141 2142 mgl.glNormal3x(nx, ny, nz); 2143 checkError(); 2144 } 2145 glNormalPointer(int type, int stride, Buffer pointer)2146 public void glNormalPointer(int type, int stride, Buffer pointer) { 2147 begin("glNormalPointer"); 2148 arg("type", type); 2149 arg("stride", stride); 2150 arg("pointer", pointer.toString()); 2151 end(); 2152 mNormalPointer = new PointerInfo(3, type, stride, pointer); 2153 2154 mgl.glNormalPointer(type, stride, pointer); 2155 checkError(); 2156 } 2157 glOrthof(float left, float right, float bottom, float top, float near, float far)2158 public void glOrthof(float left, float right, float bottom, float top, 2159 float near, float far) { 2160 begin("glOrthof"); 2161 arg("left", left); 2162 arg("right", right); 2163 arg("bottom", bottom); 2164 arg("top", top); 2165 arg("near", near); 2166 arg("far", far); 2167 end(); 2168 2169 mgl.glOrthof(left, right, bottom, top, near, far); 2170 checkError(); 2171 } 2172 glOrthox(int left, int right, int bottom, int top, int near, int far)2173 public void glOrthox(int left, int right, int bottom, int top, int near, 2174 int far) { 2175 begin("glOrthox"); 2176 arg("left", left); 2177 arg("right", right); 2178 arg("bottom", bottom); 2179 arg("top", top); 2180 arg("near", near); 2181 arg("far", far); 2182 end(); 2183 2184 mgl.glOrthox(left, right, bottom, top, near, far); 2185 checkError(); 2186 } 2187 glPixelStorei(int pname, int param)2188 public void glPixelStorei(int pname, int param) { 2189 begin("glPixelStorei"); 2190 arg("pname", pname); 2191 arg("param", param); 2192 end(); 2193 2194 mgl.glPixelStorei(pname, param); 2195 checkError(); 2196 } 2197 glPointSize(float size)2198 public void glPointSize(float size) { 2199 begin("glPointSize"); 2200 arg("size", size); 2201 end(); 2202 2203 mgl.glPointSize(size); 2204 checkError(); 2205 } 2206 glPointSizex(int size)2207 public void glPointSizex(int size) { 2208 begin("glPointSizex"); 2209 arg("size", size); 2210 end(); 2211 2212 mgl.glPointSizex(size); 2213 checkError(); 2214 } 2215 glPolygonOffset(float factor, float units)2216 public void glPolygonOffset(float factor, float units) { 2217 begin("glPolygonOffset"); 2218 arg("factor", factor); 2219 arg("units", units); 2220 end(); 2221 mgl.glPolygonOffset(factor, units); 2222 checkError(); 2223 } 2224 glPolygonOffsetx(int factor, int units)2225 public void glPolygonOffsetx(int factor, int units) { 2226 begin("glPolygonOffsetx"); 2227 arg("factor", factor); 2228 arg("units", units); 2229 end(); 2230 2231 mgl.glPolygonOffsetx(factor, units); 2232 checkError(); 2233 } 2234 glPopMatrix()2235 public void glPopMatrix() { 2236 begin("glPopMatrix"); 2237 end(); 2238 2239 mgl.glPopMatrix(); 2240 checkError(); 2241 } 2242 glPushMatrix()2243 public void glPushMatrix() { 2244 begin("glPushMatrix"); 2245 end(); 2246 2247 mgl.glPushMatrix(); 2248 checkError(); 2249 } 2250 glReadPixels(int x, int y, int width, int height, int format, int type, Buffer pixels)2251 public void glReadPixels(int x, int y, int width, int height, int format, 2252 int type, Buffer pixels) { 2253 begin("glReadPixels"); 2254 arg("x", x); 2255 arg("y", y); 2256 arg("width", width); 2257 arg("height", height); 2258 arg("format", format); 2259 arg("type", type); 2260 arg("pixels", pixels.toString()); 2261 end(); 2262 2263 mgl.glReadPixels(x, y, width, height, format, type, pixels); 2264 checkError(); 2265 } 2266 glRotatef(float angle, float x, float y, float z)2267 public void glRotatef(float angle, float x, float y, float z) { 2268 begin("glRotatef"); 2269 arg("angle", angle); 2270 arg("x", x); 2271 arg("y", y); 2272 arg("z", z); 2273 end(); 2274 2275 mgl.glRotatef(angle, x, y, z); 2276 checkError(); 2277 } 2278 glRotatex(int angle, int x, int y, int z)2279 public void glRotatex(int angle, int x, int y, int z) { 2280 begin("glRotatex"); 2281 arg("angle", angle); 2282 arg("x", x); 2283 arg("y", y); 2284 arg("z", z); 2285 end(); 2286 2287 mgl.glRotatex(angle, x, y, z); 2288 checkError(); 2289 } 2290 glSampleCoverage(float value, boolean invert)2291 public void glSampleCoverage(float value, boolean invert) { 2292 begin("glSampleCoveragex"); 2293 arg("value", value); 2294 arg("invert", invert); 2295 end(); 2296 2297 mgl.glSampleCoverage(value, invert); 2298 checkError(); 2299 } 2300 glSampleCoveragex(int value, boolean invert)2301 public void glSampleCoveragex(int value, boolean invert) { 2302 begin("glSampleCoveragex"); 2303 arg("value", value); 2304 arg("invert", invert); 2305 end(); 2306 2307 mgl.glSampleCoveragex(value, invert); 2308 checkError(); 2309 } 2310 glScalef(float x, float y, float z)2311 public void glScalef(float x, float y, float z) { 2312 begin("glScalef"); 2313 arg("x", x); 2314 arg("y", y); 2315 arg("z", z); 2316 end(); 2317 2318 mgl.glScalef(x, y, z); 2319 checkError(); 2320 } 2321 glScalex(int x, int y, int z)2322 public void glScalex(int x, int y, int z) { 2323 begin("glScalex"); 2324 arg("x", x); 2325 arg("y", y); 2326 arg("z", z); 2327 end(); 2328 2329 mgl.glScalex(x, y, z); 2330 checkError(); 2331 } 2332 glScissor(int x, int y, int width, int height)2333 public void glScissor(int x, int y, int width, int height) { 2334 begin("glScissor"); 2335 arg("x", x); 2336 arg("y", y); 2337 arg("width", width); 2338 arg("height", height); 2339 end(); 2340 2341 mgl.glScissor(x, y, width, height); 2342 checkError(); 2343 } 2344 glShadeModel(int mode)2345 public void glShadeModel(int mode) { 2346 begin("glShadeModel"); 2347 arg("mode", getShadeModel(mode)); 2348 end(); 2349 2350 mgl.glShadeModel(mode); 2351 checkError(); 2352 } 2353 glStencilFunc(int func, int ref, int mask)2354 public void glStencilFunc(int func, int ref, int mask) { 2355 begin("glStencilFunc"); 2356 arg("func", func); 2357 arg("ref", ref); 2358 arg("mask", mask); 2359 end(); 2360 2361 mgl.glStencilFunc(func, ref, mask); 2362 checkError(); 2363 } 2364 glStencilMask(int mask)2365 public void glStencilMask(int mask) { 2366 begin("glStencilMask"); 2367 arg("mask", mask); 2368 end(); 2369 2370 mgl.glStencilMask(mask); 2371 checkError(); 2372 } 2373 glStencilOp(int fail, int zfail, int zpass)2374 public void glStencilOp(int fail, int zfail, int zpass) { 2375 begin("glStencilOp"); 2376 arg("fail", fail); 2377 arg("zfail", zfail); 2378 arg("zpass", zpass); 2379 end(); 2380 2381 mgl.glStencilOp(fail, zfail, zpass); 2382 checkError(); 2383 } 2384 glTexCoordPointer(int size, int type, int stride, Buffer pointer)2385 public void glTexCoordPointer(int size, int type, int stride, Buffer pointer) { 2386 begin("glTexCoordPointer"); 2387 argPointer(size, type, stride, pointer); 2388 end(); 2389 mTexCoordPointer = new PointerInfo(size, type, stride, pointer); 2390 2391 mgl.glTexCoordPointer(size, type, stride, pointer); 2392 checkError(); 2393 } 2394 glTexEnvf(int target, int pname, float param)2395 public void glTexEnvf(int target, int pname, float param) { 2396 begin("glTexEnvf"); 2397 arg("target", getTextureEnvTarget(target)); 2398 arg("pname", getTextureEnvPName(pname)); 2399 arg("param", getTextureEnvParamName(param)); 2400 end(); 2401 2402 mgl.glTexEnvf(target, pname, param); 2403 checkError(); 2404 } 2405 glTexEnvfv(int target, int pname, float[] params, int offset)2406 public void glTexEnvfv(int target, int pname, float[] params, int offset) { 2407 begin("glTexEnvfv"); 2408 arg("target", getTextureEnvTarget(target)); 2409 arg("pname", getTextureEnvPName(pname)); 2410 arg("params", getTextureEnvParamCount(pname), params, offset); 2411 arg("offset", offset); 2412 end(); 2413 2414 mgl.glTexEnvfv(target, pname, params, offset); 2415 checkError(); 2416 } 2417 glTexEnvfv(int target, int pname, FloatBuffer params)2418 public void glTexEnvfv(int target, int pname, FloatBuffer params) { 2419 begin("glTexEnvfv"); 2420 arg("target", getTextureEnvTarget(target)); 2421 arg("pname", getTextureEnvPName(pname)); 2422 arg("params", getTextureEnvParamCount(pname), params); 2423 end(); 2424 2425 mgl.glTexEnvfv(target, pname, params); 2426 checkError(); 2427 } 2428 glTexEnvx(int target, int pname, int param)2429 public void glTexEnvx(int target, int pname, int param) { 2430 begin("glTexEnvx"); 2431 arg("target", getTextureEnvTarget(target)); 2432 arg("pname", getTextureEnvPName(pname)); 2433 arg("param", param); 2434 end(); 2435 2436 mgl.glTexEnvx(target, pname, param); 2437 checkError(); 2438 } 2439 glTexEnvxv(int target, int pname, int[] params, int offset)2440 public void glTexEnvxv(int target, int pname, int[] params, int offset) { 2441 begin("glTexEnvxv"); 2442 arg("target", getTextureEnvTarget(target)); 2443 arg("pname", getTextureEnvPName(pname)); 2444 arg("params", getTextureEnvParamCount(pname), params, offset); 2445 arg("offset", offset); 2446 end(); 2447 2448 mgl.glTexEnvxv(target, pname, params, offset); 2449 checkError(); 2450 } 2451 glTexEnvxv(int target, int pname, IntBuffer params)2452 public void glTexEnvxv(int target, int pname, IntBuffer params) { 2453 begin("glTexEnvxv"); 2454 arg("target", getTextureEnvTarget(target)); 2455 arg("pname", getTextureEnvPName(pname)); 2456 arg("params", getTextureEnvParamCount(pname), params); 2457 end(); 2458 2459 mgl.glTexEnvxv(target, pname, params); 2460 checkError(); 2461 } 2462 glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, Buffer pixels)2463 public void glTexImage2D(int target, int level, int internalformat, 2464 int width, int height, int border, int format, int type, 2465 Buffer pixels) { 2466 begin("glTexImage2D"); 2467 arg("target", target); 2468 arg("level", level); 2469 arg("internalformat", internalformat); 2470 arg("width", width); 2471 arg("height", height); 2472 arg("border", border); 2473 arg("format", format); 2474 arg("type", type); 2475 arg("pixels", pixels.toString()); 2476 end(); 2477 2478 mgl.glTexImage2D(target, level, internalformat, width, height, border, 2479 format, type, pixels); 2480 checkError(); 2481 } 2482 glTexParameterf(int target, int pname, float param)2483 public void glTexParameterf(int target, int pname, float param) { 2484 begin("glTexParameterf"); 2485 arg("target", getTextureTarget(target)); 2486 arg("pname", getTexturePName(pname)); 2487 arg("param", getTextureParamName(param)); 2488 end(); 2489 2490 mgl.glTexParameterf(target, pname, param); 2491 checkError(); 2492 } 2493 glTexParameterx(int target, int pname, int param)2494 public void glTexParameterx(int target, int pname, int param) { 2495 begin("glTexParameterx"); 2496 arg("target", getTextureTarget(target)); 2497 arg("pname", getTexturePName(pname)); 2498 arg("param", param); 2499 end(); 2500 2501 mgl.glTexParameterx(target, pname, param); 2502 checkError(); 2503 } 2504 glTexParameteriv(int target, int pname, int[] params, int offset)2505 public void glTexParameteriv(int target, int pname, int[] params, int offset) { 2506 begin("glTexParameteriv"); 2507 arg("target", getTextureTarget(target)); 2508 arg("pname", getTexturePName(pname)); 2509 arg("params", 4, params, offset); 2510 end(); 2511 2512 mgl11.glTexParameteriv(target, pname, params, offset); 2513 checkError(); 2514 } 2515 glTexParameteriv(int target, int pname, IntBuffer params)2516 public void glTexParameteriv(int target, int pname, IntBuffer params) { 2517 begin("glTexParameteriv"); 2518 arg("target", getTextureTarget(target)); 2519 arg("pname", getTexturePName(pname)); 2520 arg("params", 4, params); 2521 end(); 2522 2523 mgl11.glTexParameteriv(target, pname, params); 2524 checkError(); 2525 } 2526 glTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, Buffer pixels)2527 public void glTexSubImage2D(int target, int level, int xoffset, 2528 int yoffset, int width, int height, int format, int type, 2529 Buffer pixels) { 2530 begin("glTexSubImage2D"); 2531 arg("target", getTextureTarget(target)); 2532 arg("level", level); 2533 arg("xoffset", xoffset); 2534 arg("yoffset", yoffset); 2535 arg("width", width); 2536 arg("height", height); 2537 arg("format", format); 2538 arg("type", type); 2539 arg("pixels", pixels.toString()); 2540 end(); 2541 mgl.glTexSubImage2D(target, level, xoffset, yoffset, width, height, 2542 format, type, pixels); 2543 checkError(); 2544 } 2545 glTranslatef(float x, float y, float z)2546 public void glTranslatef(float x, float y, float z) { 2547 begin("glTranslatef"); 2548 arg("x", x); 2549 arg("y", y); 2550 arg("z", z); 2551 end(); 2552 mgl.glTranslatef(x, y, z); 2553 checkError(); 2554 } 2555 glTranslatex(int x, int y, int z)2556 public void glTranslatex(int x, int y, int z) { 2557 begin("glTranslatex"); 2558 arg("x", x); 2559 arg("y", y); 2560 arg("z", z); 2561 end(); 2562 mgl.glTranslatex(x, y, z); 2563 checkError(); 2564 } 2565 glVertexPointer(int size, int type, int stride, Buffer pointer)2566 public void glVertexPointer(int size, int type, int stride, Buffer pointer) { 2567 begin("glVertexPointer"); 2568 argPointer(size, type, stride, pointer); 2569 end(); 2570 mVertexPointer = new PointerInfo(size, type, stride, pointer); 2571 mgl.glVertexPointer(size, type, stride, pointer); 2572 checkError(); 2573 } 2574 glViewport(int x, int y, int width, int height)2575 public void glViewport(int x, int y, int width, int height) { 2576 begin("glViewport"); 2577 arg("x", x); 2578 arg("y", y); 2579 arg("width", width); 2580 arg("height", height); 2581 end(); 2582 mgl.glViewport(x, y, width, height); 2583 checkError(); 2584 } 2585 glClipPlanef(int plane, float[] equation, int offset)2586 public void glClipPlanef(int plane, float[] equation, int offset) { 2587 begin("glClipPlanef"); 2588 arg("plane", plane); 2589 arg("equation", 4, equation, offset); 2590 arg("offset", offset); 2591 end(); 2592 mgl11.glClipPlanef(plane, equation, offset); 2593 checkError(); 2594 } 2595 glClipPlanef(int plane, FloatBuffer equation)2596 public void glClipPlanef(int plane, FloatBuffer equation) { 2597 begin("glClipPlanef"); 2598 arg("plane", plane); 2599 arg("equation", 4, equation); 2600 end(); 2601 mgl11.glClipPlanef(plane, equation); 2602 checkError(); 2603 } 2604 glClipPlanex(int plane, int[] equation, int offset)2605 public void glClipPlanex(int plane, int[] equation, int offset) { 2606 begin("glClipPlanex"); 2607 arg("plane", plane); 2608 arg("equation", 4, equation, offset); 2609 arg("offset", offset); 2610 end(); 2611 mgl11.glClipPlanex(plane, equation, offset); 2612 checkError(); 2613 } 2614 glClipPlanex(int plane, IntBuffer equation)2615 public void glClipPlanex(int plane, IntBuffer equation) { 2616 begin("glClipPlanef"); 2617 arg("plane", plane); 2618 arg("equation", 4, equation); 2619 end(); 2620 mgl11.glClipPlanex(plane, equation); 2621 checkError(); 2622 } 2623 2624 // Draw Texture Extension 2625 glDrawTexfOES(float x, float y, float z, float width, float height)2626 public void glDrawTexfOES(float x, float y, float z, 2627 float width, float height) { 2628 begin("glDrawTexfOES"); 2629 arg("x", x); 2630 arg("y", y); 2631 arg("z", z); 2632 arg("width", width); 2633 arg("height", height); 2634 end(); 2635 mgl11Ext.glDrawTexfOES(x, y, z, width, height); 2636 checkError(); 2637 } 2638 glDrawTexfvOES(float[] coords, int offset)2639 public void glDrawTexfvOES(float[] coords, int offset) { 2640 begin("glDrawTexfvOES"); 2641 arg("coords", 5, coords, offset); 2642 arg("offset", offset); 2643 end(); 2644 mgl11Ext.glDrawTexfvOES(coords, offset); 2645 checkError(); 2646 } 2647 glDrawTexfvOES(FloatBuffer coords)2648 public void glDrawTexfvOES(FloatBuffer coords) { 2649 begin("glDrawTexfvOES"); 2650 arg("coords", 5, coords); 2651 end(); 2652 mgl11Ext.glDrawTexfvOES(coords); 2653 checkError(); 2654 } 2655 glDrawTexiOES(int x, int y, int z, int width, int height)2656 public void glDrawTexiOES(int x, int y, int z, int width, int height) { 2657 begin("glDrawTexiOES"); 2658 arg("x", x); 2659 arg("y", y); 2660 arg("z", z); 2661 arg("width", width); 2662 arg("height", height); 2663 end(); 2664 mgl11Ext.glDrawTexiOES(x, y, z, width, height); 2665 checkError(); 2666 } 2667 glDrawTexivOES(int[] coords, int offset)2668 public void glDrawTexivOES(int[] coords, int offset) { 2669 begin("glDrawTexivOES"); 2670 arg("coords", 5, coords, offset); 2671 arg("offset", offset); 2672 end(); 2673 mgl11Ext.glDrawTexivOES(coords, offset); 2674 checkError(); 2675 } 2676 glDrawTexivOES(IntBuffer coords)2677 public void glDrawTexivOES(IntBuffer coords) { 2678 begin("glDrawTexivOES"); 2679 arg("coords", 5, coords); 2680 end(); 2681 mgl11Ext.glDrawTexivOES(coords); 2682 checkError(); 2683 } 2684 glDrawTexsOES(short x, short y, short z, short width, short height)2685 public void glDrawTexsOES(short x, short y, short z, 2686 short width, short height) { 2687 begin("glDrawTexsOES"); 2688 arg("x", x); 2689 arg("y", y); 2690 arg("z", z); 2691 arg("width", width); 2692 arg("height", height); 2693 end(); 2694 mgl11Ext.glDrawTexsOES(x, y, z, width, height); 2695 checkError(); 2696 } 2697 glDrawTexsvOES(short[] coords, int offset)2698 public void glDrawTexsvOES(short[] coords, int offset) { 2699 begin("glDrawTexsvOES"); 2700 arg("coords", 5, coords, offset); 2701 arg("offset", offset); 2702 end(); 2703 mgl11Ext.glDrawTexsvOES(coords, offset); 2704 checkError(); 2705 } 2706 glDrawTexsvOES(ShortBuffer coords)2707 public void glDrawTexsvOES(ShortBuffer coords) { 2708 begin("glDrawTexsvOES"); 2709 arg("coords", 5, coords); 2710 end(); 2711 mgl11Ext.glDrawTexsvOES(coords); 2712 checkError(); 2713 } 2714 glDrawTexxOES(int x, int y, int z, int width, int height)2715 public void glDrawTexxOES(int x, int y, int z, int width, int height) { 2716 begin("glDrawTexxOES"); 2717 arg("x", x); 2718 arg("y", y); 2719 arg("z", z); 2720 arg("width", width); 2721 arg("height", height); 2722 end(); 2723 mgl11Ext.glDrawTexxOES(x, y, z, width, height); 2724 checkError(); 2725 } 2726 glDrawTexxvOES(int[] coords, int offset)2727 public void glDrawTexxvOES(int[] coords, int offset) { 2728 begin("glDrawTexxvOES"); 2729 arg("coords", 5, coords, offset); 2730 arg("offset", offset); 2731 end(); 2732 mgl11Ext.glDrawTexxvOES(coords, offset); 2733 checkError(); 2734 } 2735 glDrawTexxvOES(IntBuffer coords)2736 public void glDrawTexxvOES(IntBuffer coords) { 2737 begin("glDrawTexxvOES"); 2738 arg("coords", 5, coords); 2739 end(); 2740 mgl11Ext.glDrawTexxvOES(coords); 2741 checkError(); 2742 } 2743 glQueryMatrixxOES(int[] mantissa, int mantissaOffset, int[] exponent, int exponentOffset)2744 public int glQueryMatrixxOES(int[] mantissa, int mantissaOffset, 2745 int[] exponent, int exponentOffset) { 2746 begin("glQueryMatrixxOES"); 2747 arg("mantissa", Arrays.toString(mantissa)); 2748 arg("exponent", Arrays.toString(exponent)); 2749 end(); 2750 int valid = mgl10Ext.glQueryMatrixxOES(mantissa, mantissaOffset, 2751 exponent, exponentOffset); 2752 returns(toString(16, FORMAT_FIXED, mantissa, mantissaOffset)); 2753 returns(toString(16, FORMAT_INT, exponent, exponentOffset)); 2754 checkError(); 2755 return valid; 2756 } 2757 glQueryMatrixxOES(IntBuffer mantissa, IntBuffer exponent)2758 public int glQueryMatrixxOES(IntBuffer mantissa, IntBuffer exponent) { 2759 begin("glQueryMatrixxOES"); 2760 arg("mantissa", mantissa.toString()); 2761 arg("exponent", exponent.toString()); 2762 end(); 2763 int valid = mgl10Ext.glQueryMatrixxOES(mantissa, exponent); 2764 returns(toString(16, FORMAT_FIXED, mantissa)); 2765 returns(toString(16, FORMAT_INT, exponent)); 2766 checkError(); 2767 return valid; 2768 } 2769 glBindBuffer(int target, int buffer)2770 public void glBindBuffer(int target, int buffer) { 2771 begin("glBindBuffer"); 2772 arg("target", target); 2773 arg("buffer", buffer); 2774 end(); 2775 mgl11.glBindBuffer(target, buffer); 2776 checkError(); 2777 } 2778 glBufferData(int target, int size, Buffer data, int usage)2779 public void glBufferData(int target, int size, Buffer data, int usage) { 2780 begin("glBufferData"); 2781 arg("target", target); 2782 arg("size", size); 2783 arg("data", data.toString()); 2784 arg("usage", usage); 2785 end(); 2786 mgl11.glBufferData(target, size, data, usage); 2787 checkError(); 2788 } 2789 glBufferSubData(int target, int offset, int size, Buffer data)2790 public void glBufferSubData(int target, int offset, int size, Buffer data) { 2791 begin("glBufferSubData"); 2792 arg("target", target); 2793 arg("offset", offset); 2794 arg("size", size); 2795 arg("data", data.toString()); 2796 end(); 2797 mgl11.glBufferSubData(target, offset, size, data); 2798 checkError(); 2799 } 2800 glColor4ub(byte red, byte green, byte blue, byte alpha)2801 public void glColor4ub(byte red, byte green, byte blue, byte alpha) { 2802 begin("glColor4ub"); 2803 arg("red", red); 2804 arg("green", green); 2805 arg("blue", blue); 2806 arg("alpha", alpha); 2807 end(); 2808 mgl11.glColor4ub(red, green, blue, alpha); 2809 checkError(); 2810 } 2811 glDeleteBuffers(int n, int[] buffers, int offset)2812 public void glDeleteBuffers(int n, int[] buffers, int offset) { 2813 begin("glDeleteBuffers"); 2814 arg("n", n); 2815 arg("buffers", buffers.toString()); 2816 arg("offset", offset); 2817 end(); 2818 mgl11.glDeleteBuffers(n, buffers, offset); 2819 checkError(); 2820 } 2821 glDeleteBuffers(int n, IntBuffer buffers)2822 public void glDeleteBuffers(int n, IntBuffer buffers) { 2823 begin("glDeleteBuffers"); 2824 arg("n", n); 2825 arg("buffers", buffers.toString()); 2826 end(); 2827 mgl11.glDeleteBuffers(n, buffers); 2828 checkError(); 2829 } 2830 glGenBuffers(int n, int[] buffers, int offset)2831 public void glGenBuffers(int n, int[] buffers, int offset) { 2832 begin("glGenBuffers"); 2833 arg("n", n); 2834 arg("buffers", buffers.toString()); 2835 arg("offset", offset); 2836 end(); 2837 mgl11.glGenBuffers(n, buffers, offset); 2838 checkError(); 2839 } 2840 glGenBuffers(int n, IntBuffer buffers)2841 public void glGenBuffers(int n, IntBuffer buffers) { 2842 begin("glGenBuffers"); 2843 arg("n", n); 2844 arg("buffers", buffers.toString()); 2845 end(); 2846 mgl11.glGenBuffers(n, buffers); 2847 checkError(); 2848 } 2849 glGetBooleanv(int pname, boolean[] params, int offset)2850 public void glGetBooleanv(int pname, boolean[] params, int offset) { 2851 begin("glGetBooleanv"); 2852 arg("pname", pname); 2853 arg("params", params.toString()); 2854 arg("offset", offset); 2855 end(); 2856 mgl11.glGetBooleanv(pname, params, offset); 2857 checkError(); 2858 } 2859 glGetBooleanv(int pname, IntBuffer params)2860 public void glGetBooleanv(int pname, IntBuffer params) { 2861 begin("glGetBooleanv"); 2862 arg("pname", pname); 2863 arg("params", params.toString()); 2864 end(); 2865 mgl11.glGetBooleanv(pname, params); 2866 checkError(); 2867 } 2868 glGetBufferParameteriv(int target, int pname, int[] params, int offset)2869 public void glGetBufferParameteriv(int target, int pname, int[] params, 2870 int offset) { 2871 begin("glGetBufferParameteriv"); 2872 arg("target", target); 2873 arg("pname", pname); 2874 arg("params", params.toString()); 2875 arg("offset", offset); 2876 end(); 2877 mgl11.glGetBufferParameteriv(target, pname, params, offset); 2878 checkError(); 2879 } 2880 glGetBufferParameteriv(int target, int pname, IntBuffer params)2881 public void glGetBufferParameteriv(int target, int pname, IntBuffer params) { 2882 begin("glGetBufferParameteriv"); 2883 arg("target", target); 2884 arg("pname", pname); 2885 arg("params", params.toString()); 2886 end(); 2887 mgl11.glGetBufferParameteriv(target, pname, params); 2888 checkError(); 2889 } 2890 glGetClipPlanef(int pname, float[] eqn, int offset)2891 public void glGetClipPlanef(int pname, float[] eqn, int offset) { 2892 begin("glGetClipPlanef"); 2893 arg("pname", pname); 2894 arg("eqn", eqn.toString()); 2895 arg("offset", offset); 2896 end(); 2897 mgl11.glGetClipPlanef(pname, eqn, offset); 2898 checkError(); 2899 } 2900 glGetClipPlanef(int pname, FloatBuffer eqn)2901 public void glGetClipPlanef(int pname, FloatBuffer eqn) { 2902 begin("glGetClipPlanef"); 2903 arg("pname", pname); 2904 arg("eqn", eqn.toString()); 2905 end(); 2906 mgl11.glGetClipPlanef(pname, eqn); 2907 checkError(); 2908 } 2909 glGetClipPlanex(int pname, int[] eqn, int offset)2910 public void glGetClipPlanex(int pname, int[] eqn, int offset) { 2911 begin("glGetClipPlanex"); 2912 arg("pname", pname); 2913 arg("eqn", eqn.toString()); 2914 arg("offset", offset); 2915 end(); 2916 mgl11.glGetClipPlanex(pname, eqn, offset); 2917 } 2918 glGetClipPlanex(int pname, IntBuffer eqn)2919 public void glGetClipPlanex(int pname, IntBuffer eqn) { 2920 begin("glGetClipPlanex"); 2921 arg("pname", pname); 2922 arg("eqn", eqn.toString()); 2923 end(); 2924 mgl11.glGetClipPlanex(pname, eqn); 2925 checkError(); 2926 } 2927 glGetFixedv(int pname, int[] params, int offset)2928 public void glGetFixedv(int pname, int[] params, int offset) { 2929 begin("glGetFixedv"); 2930 arg("pname", pname); 2931 arg("params", params.toString()); 2932 arg("offset", offset); 2933 end(); 2934 mgl11.glGetFixedv(pname, params, offset); 2935 } 2936 glGetFixedv(int pname, IntBuffer params)2937 public void glGetFixedv(int pname, IntBuffer params) { 2938 begin("glGetFixedv"); 2939 arg("pname", pname); 2940 arg("params", params.toString()); 2941 end(); 2942 mgl11.glGetFixedv(pname, params); 2943 checkError(); 2944 } 2945 glGetFloatv(int pname, float[] params, int offset)2946 public void glGetFloatv(int pname, float[] params, int offset) { 2947 begin("glGetFloatv"); 2948 arg("pname", pname); 2949 arg("params", params.toString()); 2950 arg("offset", offset); 2951 end(); 2952 mgl11.glGetFloatv(pname, params, offset); 2953 } 2954 glGetFloatv(int pname, FloatBuffer params)2955 public void glGetFloatv(int pname, FloatBuffer params) { 2956 begin("glGetFloatv"); 2957 arg("pname", pname); 2958 arg("params", params.toString()); 2959 end(); 2960 mgl11.glGetFloatv(pname, params); 2961 checkError(); 2962 } 2963 glGetLightfv(int light, int pname, float[] params, int offset)2964 public void glGetLightfv(int light, int pname, float[] params, int offset) { 2965 begin("glGetLightfv"); 2966 arg("light", light); 2967 arg("pname", pname); 2968 arg("params", params.toString()); 2969 arg("offset", offset); 2970 end(); 2971 mgl11.glGetLightfv(light, pname, params, offset); 2972 checkError(); 2973 } 2974 glGetLightfv(int light, int pname, FloatBuffer params)2975 public void glGetLightfv(int light, int pname, FloatBuffer params) { 2976 begin("glGetLightfv"); 2977 arg("light", light); 2978 arg("pname", pname); 2979 arg("params", params.toString()); 2980 end(); 2981 mgl11.glGetLightfv(light, pname, params); 2982 checkError(); 2983 } 2984 glGetLightxv(int light, int pname, int[] params, int offset)2985 public void glGetLightxv(int light, int pname, int[] params, int offset) { 2986 begin("glGetLightxv"); 2987 arg("light", light); 2988 arg("pname", pname); 2989 arg("params", params.toString()); 2990 arg("offset", offset); 2991 end(); 2992 mgl11.glGetLightxv(light, pname, params, offset); 2993 checkError(); 2994 } 2995 glGetLightxv(int light, int pname, IntBuffer params)2996 public void glGetLightxv(int light, int pname, IntBuffer params) { 2997 begin("glGetLightxv"); 2998 arg("light", light); 2999 arg("pname", pname); 3000 arg("params", params.toString()); 3001 end(); 3002 mgl11.glGetLightxv(light, pname, params); 3003 checkError(); 3004 } 3005 glGetMaterialfv(int face, int pname, float[] params, int offset)3006 public void glGetMaterialfv(int face, int pname, float[] params, 3007 int offset) { 3008 begin("glGetMaterialfv"); 3009 arg("face", face); 3010 arg("pname", pname); 3011 arg("params", params.toString()); 3012 arg("offset", offset); 3013 end(); 3014 mgl11.glGetMaterialfv(face, pname, params, offset); 3015 checkError(); 3016 } 3017 glGetMaterialfv(int face, int pname, FloatBuffer params)3018 public void glGetMaterialfv(int face, int pname, FloatBuffer params) { 3019 begin("glGetMaterialfv"); 3020 arg("face", face); 3021 arg("pname", pname); 3022 arg("params", params.toString()); 3023 end(); 3024 mgl11.glGetMaterialfv(face, pname, params); 3025 checkError(); 3026 } 3027 glGetMaterialxv(int face, int pname, int[] params, int offset)3028 public void glGetMaterialxv(int face, int pname, int[] params, int offset) { 3029 begin("glGetMaterialxv"); 3030 arg("face", face); 3031 arg("pname", pname); 3032 arg("params", params.toString()); 3033 arg("offset", offset); 3034 end(); 3035 mgl11.glGetMaterialxv(face, pname, params, offset); 3036 checkError(); 3037 } 3038 glGetMaterialxv(int face, int pname, IntBuffer params)3039 public void glGetMaterialxv(int face, int pname, IntBuffer params) { 3040 begin("glGetMaterialxv"); 3041 arg("face", face); 3042 arg("pname", pname); 3043 arg("params", params.toString()); 3044 end(); 3045 mgl11.glGetMaterialxv(face, pname, params); 3046 checkError(); 3047 } 3048 glGetTexEnviv(int env, int pname, int[] params, int offset)3049 public void glGetTexEnviv(int env, int pname, int[] params, int offset) { 3050 begin("glGetTexEnviv"); 3051 arg("env", env); 3052 arg("pname", pname); 3053 arg("params", params.toString()); 3054 arg("offset", offset); 3055 end(); 3056 mgl11.glGetTexEnviv(env, pname, params, offset); 3057 checkError(); 3058 } 3059 glGetTexEnviv(int env, int pname, IntBuffer params)3060 public void glGetTexEnviv(int env, int pname, IntBuffer params) { 3061 begin("glGetTexEnviv"); 3062 arg("env", env); 3063 arg("pname", pname); 3064 arg("params", params.toString()); 3065 end(); 3066 mgl11.glGetTexEnviv(env, pname, params); 3067 checkError(); 3068 } 3069 glGetTexEnvxv(int env, int pname, int[] params, int offset)3070 public void glGetTexEnvxv(int env, int pname, int[] params, int offset) { 3071 begin("glGetTexEnviv"); 3072 arg("env", env); 3073 arg("pname", pname); 3074 arg("params", params.toString()); 3075 arg("offset", offset); 3076 end(); 3077 mgl11.glGetTexEnviv(env, pname, params, offset); 3078 checkError(); 3079 } 3080 glGetTexEnvxv(int env, int pname, IntBuffer params)3081 public void glGetTexEnvxv(int env, int pname, IntBuffer params) { 3082 begin("glGetTexEnviv"); 3083 arg("env", env); 3084 arg("pname", pname); 3085 arg("params", params.toString()); 3086 end(); 3087 mgl11.glGetTexEnvxv(env, pname, params); 3088 checkError(); 3089 } 3090 glGetTexParameterfv(int target, int pname, float[] params, int offset)3091 public void glGetTexParameterfv(int target, int pname, float[] params, int offset) { 3092 begin("glGetTexParameterfv"); 3093 arg("target", target); 3094 arg("pname", pname); 3095 arg("params", params.toString()); 3096 arg("offset", offset); 3097 end(); 3098 mgl11.glGetTexParameterfv(target, pname, params, offset); 3099 checkError(); 3100 } 3101 glGetTexParameterfv(int target, int pname, FloatBuffer params)3102 public void glGetTexParameterfv(int target, int pname, FloatBuffer params) { 3103 begin("glGetTexParameterfv"); 3104 arg("target", target); 3105 arg("pname", pname); 3106 arg("params", params.toString()); 3107 end(); 3108 mgl11.glGetTexParameterfv(target, pname, params); 3109 checkError(); 3110 } 3111 glGetTexParameteriv(int target, int pname, int[] params, int offset)3112 public void glGetTexParameteriv(int target, int pname, int[] params, int offset) { 3113 begin("glGetTexParameteriv"); 3114 arg("target", target); 3115 arg("pname", pname); 3116 arg("params", params.toString()); 3117 arg("offset", offset); 3118 end(); 3119 mgl11.glGetTexEnviv(target, pname, params, offset); 3120 checkError(); 3121 } 3122 glGetTexParameteriv(int target, int pname, IntBuffer params)3123 public void glGetTexParameteriv(int target, int pname, IntBuffer params) { 3124 begin("glGetTexParameteriv"); 3125 arg("target", target); 3126 arg("pname", pname); 3127 arg("params", params.toString()); 3128 end(); 3129 mgl11.glGetTexParameteriv(target, pname, params); 3130 checkError(); 3131 } 3132 glGetTexParameterxv(int target, int pname, int[] params, int offset)3133 public void glGetTexParameterxv(int target, int pname, int[] params, 3134 int offset) { 3135 begin("glGetTexParameterxv"); 3136 arg("target", target); 3137 arg("pname", pname); 3138 arg("params", params.toString()); 3139 arg("offset", offset); 3140 end(); 3141 mgl11.glGetTexParameterxv(target, pname, params, offset); 3142 checkError(); 3143 } 3144 glGetTexParameterxv(int target, int pname, IntBuffer params)3145 public void glGetTexParameterxv(int target, int pname, IntBuffer params) { 3146 begin("glGetTexParameterxv"); 3147 arg("target", target); 3148 arg("pname", pname); 3149 arg("params", params.toString()); 3150 end(); 3151 mgl11.glGetTexParameterxv(target, pname, params); 3152 checkError(); 3153 } 3154 glIsBuffer(int buffer)3155 public boolean glIsBuffer(int buffer) { 3156 begin("glIsBuffer"); 3157 arg("buffer", buffer); 3158 end(); 3159 boolean result = mgl11.glIsBuffer(buffer); 3160 checkError(); 3161 return result; 3162 } 3163 glIsEnabled(int cap)3164 public boolean glIsEnabled(int cap) { 3165 begin("glIsEnabled"); 3166 arg("cap", cap); 3167 end(); 3168 boolean result = mgl11.glIsEnabled(cap); 3169 checkError(); 3170 return result; 3171 } 3172 glIsTexture(int texture)3173 public boolean glIsTexture(int texture) { 3174 begin("glIsTexture"); 3175 arg("texture", texture); 3176 end(); 3177 boolean result = mgl11.glIsTexture(texture); 3178 checkError(); 3179 return result; 3180 } 3181 glPointParameterf(int pname, float param)3182 public void glPointParameterf(int pname, float param) { 3183 begin("glPointParameterf"); 3184 arg("pname", pname); 3185 arg("param", param); 3186 end(); 3187 mgl11.glPointParameterf( pname, param); 3188 checkError(); 3189 } 3190 glPointParameterfv(int pname, float[] params, int offset)3191 public void glPointParameterfv(int pname, float[] params, int offset) { 3192 begin("glPointParameterfv"); 3193 arg("pname", pname); 3194 arg("params", params.toString()); 3195 arg("offset", offset); 3196 end(); 3197 mgl11.glPointParameterfv(pname, params, offset); 3198 checkError(); 3199 } 3200 glPointParameterfv(int pname, FloatBuffer params)3201 public void glPointParameterfv(int pname, FloatBuffer params) { 3202 begin("glPointParameterfv"); 3203 arg("pname", pname); 3204 arg("params", params.toString()); 3205 end(); 3206 mgl11.glPointParameterfv(pname, params); 3207 checkError(); 3208 } 3209 glPointParameterx(int pname, int param)3210 public void glPointParameterx(int pname, int param) { 3211 begin("glPointParameterfv"); 3212 arg("pname", pname); 3213 arg("param", param); 3214 end(); 3215 mgl11.glPointParameterx( pname, param); 3216 checkError(); 3217 } 3218 glPointParameterxv(int pname, int[] params, int offset)3219 public void glPointParameterxv(int pname, int[] params, int offset) { 3220 begin("glPointParameterxv"); 3221 arg("pname", pname); 3222 arg("params", params.toString()); 3223 arg("offset", offset); 3224 end(); 3225 mgl11.glPointParameterxv(pname, params, offset); 3226 checkError(); 3227 } 3228 glPointParameterxv(int pname, IntBuffer params)3229 public void glPointParameterxv(int pname, IntBuffer params) { 3230 begin("glPointParameterxv"); 3231 arg("pname", pname); 3232 arg("params", params.toString()); 3233 end(); 3234 mgl11.glPointParameterxv( pname, params); 3235 checkError(); 3236 } 3237 glPointSizePointerOES(int type, int stride, Buffer pointer)3238 public void glPointSizePointerOES(int type, int stride, Buffer pointer) { 3239 begin("glPointSizePointerOES"); 3240 arg("type", type); 3241 arg("stride", stride); 3242 arg("params", pointer.toString()); 3243 end(); 3244 mgl11.glPointSizePointerOES( type, stride, pointer); 3245 checkError(); 3246 } 3247 glTexEnvi(int target, int pname, int param)3248 public void glTexEnvi(int target, int pname, int param) { 3249 begin("glTexEnvi"); 3250 arg("target", target); 3251 arg("pname", pname); 3252 arg("param", param); 3253 end(); 3254 mgl11.glTexEnvi(target, pname, param); 3255 checkError(); 3256 } 3257 glTexEnviv(int target, int pname, int[] params, int offset)3258 public void glTexEnviv(int target, int pname, int[] params, int offset) { 3259 begin("glTexEnviv"); 3260 arg("target", target); 3261 arg("pname", pname); 3262 arg("params", params.toString()); 3263 arg("offset", offset); 3264 end(); 3265 mgl11.glTexEnviv(target, pname, params, offset); 3266 checkError(); 3267 } 3268 glTexEnviv(int target, int pname, IntBuffer params)3269 public void glTexEnviv(int target, int pname, IntBuffer params) { 3270 begin("glTexEnviv"); 3271 arg("target", target); 3272 arg("pname", pname); 3273 arg("params", params.toString()); 3274 end(); 3275 mgl11.glTexEnviv( target, pname, params); 3276 checkError(); 3277 } 3278 glTexParameterfv(int target, int pname, float[] params, int offset)3279 public void glTexParameterfv(int target, int pname, float[] params, 3280 int offset) { 3281 begin("glTexParameterfv"); 3282 arg("target", target); 3283 arg("pname", pname); 3284 arg("params", params.toString()); 3285 arg("offset", offset); 3286 end(); 3287 mgl11.glTexParameterfv( target, pname, params, offset); 3288 checkError(); 3289 } 3290 glTexParameterfv(int target, int pname, FloatBuffer params)3291 public void glTexParameterfv(int target, int pname, FloatBuffer params) { 3292 begin("glTexParameterfv"); 3293 arg("target", target); 3294 arg("pname", pname); 3295 arg("params", params.toString()); 3296 end(); 3297 mgl11.glTexParameterfv(target, pname, params); 3298 checkError(); 3299 } 3300 glTexParameteri(int target, int pname, int param)3301 public void glTexParameteri(int target, int pname, int param) { 3302 begin("glTexParameterxv"); 3303 arg("target", target); 3304 arg("pname", pname); 3305 arg("param", param); 3306 end(); 3307 mgl11.glTexParameteri(target, pname, param); 3308 checkError(); 3309 } 3310 glTexParameterxv(int target, int pname, int[] params, int offset)3311 public void glTexParameterxv(int target, int pname, int[] params, 3312 int offset) { 3313 begin("glTexParameterxv"); 3314 arg("target", target); 3315 arg("pname", pname); 3316 arg("params", params.toString()); 3317 arg("offset", offset); 3318 end(); 3319 mgl11.glTexParameterxv(target, pname, params, offset); 3320 checkError(); 3321 } 3322 glTexParameterxv(int target, int pname, IntBuffer params)3323 public void glTexParameterxv(int target, int pname, IntBuffer params) { 3324 begin("glTexParameterxv"); 3325 arg("target", target); 3326 arg("pname", pname); 3327 arg("params", params.toString()); 3328 end(); 3329 mgl11.glTexParameterxv(target, pname, params); 3330 checkError(); 3331 } 3332 3333 glColorPointer(int size, int type, int stride, int offset)3334 public void glColorPointer(int size, int type, int stride, int offset) { 3335 begin("glColorPointer"); 3336 arg("size", size); 3337 arg("type", type); 3338 arg("stride", stride); 3339 arg("offset", offset); 3340 end(); 3341 mgl11.glColorPointer(size, type, stride, offset); 3342 checkError(); 3343 } 3344 glDrawElements(int mode, int count, int type, int offset)3345 public void glDrawElements(int mode, int count, int type, int offset) { 3346 begin("glDrawElements"); 3347 arg("mode", mode); 3348 arg("count", count); 3349 arg("type", type); 3350 arg("offset", offset); 3351 end(); 3352 mgl11.glDrawElements(mode, count, type, offset); 3353 checkError(); 3354 } 3355 glGetPointerv(int pname, Buffer[] params)3356 public void glGetPointerv(int pname, Buffer[] params) { 3357 begin("glGetPointerv"); 3358 arg("pname", pname); 3359 arg("params", params.toString()); 3360 end(); 3361 mgl11.glGetPointerv(pname, params); 3362 checkError(); 3363 } 3364 glNormalPointer(int type, int stride, int offset)3365 public void glNormalPointer(int type, int stride, int offset) { 3366 begin("glNormalPointer"); 3367 arg("type", type); 3368 arg("stride", stride); 3369 arg("offset", offset); 3370 end(); 3371 mgl11.glNormalPointer(type, stride, offset); 3372 } 3373 glTexCoordPointer(int size, int type, int stride, int offset)3374 public void glTexCoordPointer(int size, int type, int stride, int offset) { 3375 begin("glTexCoordPointer"); 3376 arg("size", size); 3377 arg("type", type); 3378 arg("stride", stride); 3379 arg("offset", offset); 3380 end(); 3381 mgl11.glTexCoordPointer(size, type, stride, offset); 3382 } 3383 glVertexPointer(int size, int type, int stride, int offset)3384 public void glVertexPointer(int size, int type, int stride, int offset) { 3385 begin("glVertexPointer"); 3386 arg("size", size); 3387 arg("type", type); 3388 arg("stride", stride); 3389 arg("offset", offset); 3390 end(); 3391 mgl11.glVertexPointer(size, type, stride, offset); 3392 } 3393 glCurrentPaletteMatrixOES(int matrixpaletteindex)3394 public void glCurrentPaletteMatrixOES(int matrixpaletteindex) { 3395 begin("glCurrentPaletteMatrixOES"); 3396 arg("matrixpaletteindex", matrixpaletteindex); 3397 end(); 3398 mgl11Ext.glCurrentPaletteMatrixOES(matrixpaletteindex); 3399 checkError(); 3400 } 3401 glLoadPaletteFromModelViewMatrixOES()3402 public void glLoadPaletteFromModelViewMatrixOES() { 3403 begin("glLoadPaletteFromModelViewMatrixOES"); 3404 end(); 3405 mgl11Ext.glLoadPaletteFromModelViewMatrixOES(); 3406 checkError(); 3407 } 3408 glMatrixIndexPointerOES(int size, int type, int stride, Buffer pointer)3409 public void glMatrixIndexPointerOES(int size, int type, int stride, 3410 Buffer pointer) { 3411 begin("glMatrixIndexPointerOES"); 3412 argPointer(size, type, stride, pointer); 3413 end(); 3414 mgl11Ext.glMatrixIndexPointerOES(size, type, stride, pointer); 3415 checkError(); 3416 } 3417 glMatrixIndexPointerOES(int size, int type, int stride, int offset)3418 public void glMatrixIndexPointerOES(int size, int type, int stride, 3419 int offset) { 3420 begin("glMatrixIndexPointerOES"); 3421 arg("size", size); 3422 arg("type", type); 3423 arg("stride", stride); 3424 arg("offset", offset); 3425 end(); 3426 mgl11Ext.glMatrixIndexPointerOES(size, type, stride, offset); 3427 checkError(); 3428 } 3429 glWeightPointerOES(int size, int type, int stride, Buffer pointer)3430 public void glWeightPointerOES(int size, int type, int stride, 3431 Buffer pointer) { 3432 begin("glWeightPointerOES"); 3433 argPointer(size, type, stride, pointer); 3434 end(); 3435 mgl11Ext.glWeightPointerOES(size, type, stride, pointer); 3436 checkError(); 3437 } 3438 glWeightPointerOES(int size, int type, int stride, int offset)3439 public void glWeightPointerOES(int size, int type, int stride, int offset) { 3440 begin("glWeightPointerOES"); 3441 arg("size", size); 3442 arg("type", type); 3443 arg("stride", stride); 3444 arg("offset", offset); 3445 end(); 3446 mgl11Ext.glWeightPointerOES(size, type, stride, offset); 3447 checkError(); 3448 } 3449 3450 @Override glBindFramebufferOES(int target, int framebuffer)3451 public void glBindFramebufferOES(int target, int framebuffer) { 3452 begin("glBindFramebufferOES"); 3453 arg("target", target); 3454 arg("framebuffer", framebuffer); 3455 end(); 3456 mgl11ExtensionPack.glBindFramebufferOES(target, framebuffer); 3457 checkError(); 3458 } 3459 3460 @Override glBindRenderbufferOES(int target, int renderbuffer)3461 public void glBindRenderbufferOES(int target, int renderbuffer) { 3462 begin("glBindRenderbufferOES"); 3463 arg("target", target); 3464 arg("renderbuffer", renderbuffer); 3465 end(); 3466 mgl11ExtensionPack.glBindRenderbufferOES(target, renderbuffer); 3467 checkError(); 3468 } 3469 3470 @Override glBlendEquation(int mode)3471 public void glBlendEquation(int mode) { 3472 begin("glBlendEquation"); 3473 arg("mode", mode); 3474 end(); 3475 mgl11ExtensionPack.glBlendEquation(mode); 3476 checkError(); 3477 } 3478 3479 @Override glBlendEquationSeparate(int modeRGB, int modeAlpha)3480 public void glBlendEquationSeparate(int modeRGB, int modeAlpha) { 3481 begin("glBlendEquationSeparate"); 3482 arg("modeRGB", modeRGB); 3483 arg("modeAlpha", modeAlpha); 3484 end(); 3485 mgl11ExtensionPack.glBlendEquationSeparate(modeRGB, modeAlpha); 3486 checkError(); 3487 } 3488 3489 @Override glBlendFuncSeparate(int srcRGB, int dstRGB, int srcAlpha, int dstAlpha)3490 public void glBlendFuncSeparate(int srcRGB, int dstRGB, int srcAlpha, 3491 int dstAlpha) { 3492 begin("glBlendFuncSeparate"); 3493 arg("srcRGB", srcRGB); 3494 arg("dstRGB", dstRGB); 3495 arg("srcAlpha", srcAlpha); 3496 arg("dstAlpha", dstAlpha); 3497 end(); 3498 mgl11ExtensionPack.glBlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha); 3499 checkError(); 3500 } 3501 3502 @Override glCheckFramebufferStatusOES(int target)3503 public int glCheckFramebufferStatusOES(int target) { 3504 begin("glCheckFramebufferStatusOES"); 3505 arg("target", target); 3506 end(); 3507 int result = mgl11ExtensionPack.glCheckFramebufferStatusOES(target); 3508 checkError(); 3509 return result; 3510 } 3511 3512 @Override glDeleteFramebuffersOES(int n, int[] framebuffers, int offset)3513 public void glDeleteFramebuffersOES(int n, int[] framebuffers, int offset) { 3514 begin("glDeleteFramebuffersOES"); 3515 arg("n", n); 3516 arg("framebuffers", framebuffers.toString()); 3517 arg("offset", offset); 3518 end(); 3519 mgl11ExtensionPack.glDeleteFramebuffersOES(n, framebuffers, offset); 3520 checkError(); 3521 } 3522 3523 @Override glDeleteFramebuffersOES(int n, IntBuffer framebuffers)3524 public void glDeleteFramebuffersOES(int n, IntBuffer framebuffers) { 3525 begin("glDeleteFramebuffersOES"); 3526 arg("n", n); 3527 arg("framebuffers", framebuffers.toString()); 3528 end(); 3529 mgl11ExtensionPack.glDeleteFramebuffersOES(n, framebuffers); 3530 checkError(); 3531 } 3532 3533 @Override glDeleteRenderbuffersOES(int n, int[] renderbuffers, int offset)3534 public void glDeleteRenderbuffersOES(int n, int[] renderbuffers, int offset) { 3535 begin("glDeleteRenderbuffersOES"); 3536 arg("n", n); 3537 arg("renderbuffers", renderbuffers.toString()); 3538 arg("offset", offset); 3539 end(); 3540 mgl11ExtensionPack.glDeleteRenderbuffersOES(n, renderbuffers, offset); 3541 checkError(); 3542 } 3543 3544 @Override glDeleteRenderbuffersOES(int n, IntBuffer renderbuffers)3545 public void glDeleteRenderbuffersOES(int n, IntBuffer renderbuffers) { 3546 begin("glDeleteRenderbuffersOES"); 3547 arg("n", n); 3548 arg("renderbuffers", renderbuffers.toString()); 3549 end(); 3550 mgl11ExtensionPack.glDeleteRenderbuffersOES(n, renderbuffers); 3551 checkError(); 3552 } 3553 3554 @Override glFramebufferRenderbufferOES(int target, int attachment, int renderbuffertarget, int renderbuffer)3555 public void glFramebufferRenderbufferOES(int target, int attachment, 3556 int renderbuffertarget, int renderbuffer) { 3557 begin("glFramebufferRenderbufferOES"); 3558 arg("target", target); 3559 arg("attachment", attachment); 3560 arg("renderbuffertarget", renderbuffertarget); 3561 arg("renderbuffer", renderbuffer); 3562 end(); 3563 mgl11ExtensionPack.glFramebufferRenderbufferOES(target, attachment, renderbuffertarget, renderbuffer); 3564 checkError(); 3565 } 3566 3567 @Override glFramebufferTexture2DOES(int target, int attachment, int textarget, int texture, int level)3568 public void glFramebufferTexture2DOES(int target, int attachment, 3569 int textarget, int texture, int level) { 3570 begin("glFramebufferTexture2DOES"); 3571 arg("target", target); 3572 arg("attachment", attachment); 3573 arg("textarget", textarget); 3574 arg("texture", texture); 3575 arg("level", level); 3576 end(); 3577 mgl11ExtensionPack.glFramebufferTexture2DOES(target, attachment, textarget, texture, level); 3578 checkError(); 3579 } 3580 3581 @Override glGenerateMipmapOES(int target)3582 public void glGenerateMipmapOES(int target) { 3583 begin("glGenerateMipmapOES"); 3584 arg("target", target); 3585 end(); 3586 mgl11ExtensionPack.glGenerateMipmapOES(target); 3587 checkError(); 3588 } 3589 3590 @Override glGenFramebuffersOES(int n, int[] framebuffers, int offset)3591 public void glGenFramebuffersOES(int n, int[] framebuffers, int offset) { 3592 begin("glGenFramebuffersOES"); 3593 arg("n", n); 3594 arg("framebuffers", framebuffers.toString()); 3595 arg("offset", offset); 3596 end(); 3597 mgl11ExtensionPack.glGenFramebuffersOES(n, framebuffers, offset); 3598 checkError(); 3599 } 3600 3601 @Override glGenFramebuffersOES(int n, IntBuffer framebuffers)3602 public void glGenFramebuffersOES(int n, IntBuffer framebuffers) { 3603 begin("glGenFramebuffersOES"); 3604 arg("n", n); 3605 arg("framebuffers", framebuffers.toString()); 3606 end(); 3607 mgl11ExtensionPack.glGenFramebuffersOES(n, framebuffers); 3608 checkError(); 3609 } 3610 3611 @Override glGenRenderbuffersOES(int n, int[] renderbuffers, int offset)3612 public void glGenRenderbuffersOES(int n, int[] renderbuffers, int offset) { 3613 begin("glGenRenderbuffersOES"); 3614 arg("n", n); 3615 arg("renderbuffers", renderbuffers.toString()); 3616 arg("offset", offset); 3617 end(); 3618 mgl11ExtensionPack.glGenRenderbuffersOES(n, renderbuffers, offset); 3619 checkError(); 3620 } 3621 3622 @Override glGenRenderbuffersOES(int n, IntBuffer renderbuffers)3623 public void glGenRenderbuffersOES(int n, IntBuffer renderbuffers) { 3624 begin("glGenRenderbuffersOES"); 3625 arg("n", n); 3626 arg("renderbuffers", renderbuffers.toString()); 3627 end(); 3628 mgl11ExtensionPack.glGenRenderbuffersOES(n, renderbuffers); 3629 checkError(); 3630 } 3631 3632 @Override glGetFramebufferAttachmentParameterivOES(int target, int attachment, int pname, int[] params, int offset)3633 public void glGetFramebufferAttachmentParameterivOES(int target, 3634 int attachment, int pname, int[] params, int offset) { 3635 begin("glGetFramebufferAttachmentParameterivOES"); 3636 arg("target", target); 3637 arg("attachment", attachment); 3638 arg("pname", pname); 3639 arg("params", params.toString()); 3640 arg("offset", offset); 3641 end(); 3642 mgl11ExtensionPack.glGetFramebufferAttachmentParameterivOES(target, attachment, pname, params, offset); 3643 checkError(); 3644 } 3645 3646 @Override glGetFramebufferAttachmentParameterivOES(int target, int attachment, int pname, IntBuffer params)3647 public void glGetFramebufferAttachmentParameterivOES(int target, 3648 int attachment, int pname, IntBuffer params) { 3649 begin("glGetFramebufferAttachmentParameterivOES"); 3650 arg("target", target); 3651 arg("attachment", attachment); 3652 arg("pname", pname); 3653 arg("params", params.toString()); 3654 end(); 3655 mgl11ExtensionPack.glGetFramebufferAttachmentParameterivOES(target, attachment, pname, params); 3656 checkError(); 3657 } 3658 3659 @Override glGetRenderbufferParameterivOES(int target, int pname, int[] params, int offset)3660 public void glGetRenderbufferParameterivOES(int target, int pname, 3661 int[] params, int offset) { 3662 begin("glGetRenderbufferParameterivOES"); 3663 arg("target", target); 3664 arg("pname", pname); 3665 arg("params", params.toString()); 3666 arg("offset", offset); 3667 end(); 3668 mgl11ExtensionPack.glGetRenderbufferParameterivOES(target, pname, params, offset); 3669 checkError(); 3670 } 3671 3672 @Override glGetRenderbufferParameterivOES(int target, int pname, IntBuffer params)3673 public void glGetRenderbufferParameterivOES(int target, int pname, 3674 IntBuffer params) { 3675 begin("glGetRenderbufferParameterivOES"); 3676 arg("target", target); 3677 arg("pname", pname); 3678 arg("params", params.toString()); 3679 end(); 3680 mgl11ExtensionPack.glGetRenderbufferParameterivOES(target, pname, params); 3681 checkError(); 3682 } 3683 3684 @Override glGetTexGenfv(int coord, int pname, float[] params, int offset)3685 public void glGetTexGenfv(int coord, int pname, float[] params, int offset) { 3686 begin("glGetTexGenfv"); 3687 arg("coord", coord); 3688 arg("pname", pname); 3689 arg("params", params.toString()); 3690 arg("offset", offset); 3691 end(); 3692 mgl11ExtensionPack.glGetTexGenfv(coord, pname, params, offset); 3693 checkError(); 3694 } 3695 3696 @Override glGetTexGenfv(int coord, int pname, FloatBuffer params)3697 public void glGetTexGenfv(int coord, int pname, FloatBuffer params) { 3698 begin("glGetTexGenfv"); 3699 arg("coord", coord); 3700 arg("pname", pname); 3701 arg("params", params.toString()); 3702 end(); 3703 mgl11ExtensionPack.glGetTexGenfv(coord, pname, params); 3704 checkError(); 3705 } 3706 3707 @Override glGetTexGeniv(int coord, int pname, int[] params, int offset)3708 public void glGetTexGeniv(int coord, int pname, int[] params, int offset) { 3709 begin("glGetTexGeniv"); 3710 arg("coord", coord); 3711 arg("pname", pname); 3712 arg("params", params.toString()); 3713 arg("offset", offset); 3714 end(); 3715 mgl11ExtensionPack.glGetTexGeniv(coord, pname, params, offset); 3716 checkError(); 3717 } 3718 3719 @Override glGetTexGeniv(int coord, int pname, IntBuffer params)3720 public void glGetTexGeniv(int coord, int pname, IntBuffer params) { 3721 begin("glGetTexGeniv"); 3722 arg("coord", coord); 3723 arg("pname", pname); 3724 arg("params", params.toString()); 3725 end(); 3726 mgl11ExtensionPack.glGetTexGeniv(coord, pname, params); 3727 checkError(); 3728 } 3729 3730 @Override glGetTexGenxv(int coord, int pname, int[] params, int offset)3731 public void glGetTexGenxv(int coord, int pname, int[] params, int offset) { 3732 begin("glGetTexGenxv"); 3733 arg("coord", coord); 3734 arg("pname", pname); 3735 arg("params", params.toString()); 3736 arg("offset", offset); 3737 end(); 3738 mgl11ExtensionPack.glGetTexGenxv(coord, pname, params, offset); 3739 checkError(); 3740 } 3741 3742 @Override glGetTexGenxv(int coord, int pname, IntBuffer params)3743 public void glGetTexGenxv(int coord, int pname, IntBuffer params) { 3744 begin("glGetTexGenxv"); 3745 arg("coord", coord); 3746 arg("pname", pname); 3747 arg("params", params.toString()); 3748 end(); 3749 mgl11ExtensionPack.glGetTexGenxv(coord, pname, params); 3750 checkError(); 3751 } 3752 3753 @Override glIsFramebufferOES(int framebuffer)3754 public boolean glIsFramebufferOES(int framebuffer) { 3755 begin("glIsFramebufferOES"); 3756 arg("framebuffer", framebuffer); 3757 end(); 3758 boolean result = mgl11ExtensionPack.glIsFramebufferOES(framebuffer); 3759 checkError(); 3760 return result; 3761 } 3762 3763 @Override glIsRenderbufferOES(int renderbuffer)3764 public boolean glIsRenderbufferOES(int renderbuffer) { 3765 begin("glIsRenderbufferOES"); 3766 arg("renderbuffer", renderbuffer); 3767 end(); 3768 mgl11ExtensionPack.glIsRenderbufferOES(renderbuffer); 3769 checkError(); 3770 return false; 3771 } 3772 3773 @Override glRenderbufferStorageOES(int target, int internalformat, int width, int height)3774 public void glRenderbufferStorageOES(int target, int internalformat, 3775 int width, int height) { 3776 begin("glRenderbufferStorageOES"); 3777 arg("target", target); 3778 arg("internalformat", internalformat); 3779 arg("width", width); 3780 arg("height", height); 3781 end(); 3782 mgl11ExtensionPack.glRenderbufferStorageOES(target, internalformat, width, height); 3783 checkError(); 3784 } 3785 3786 @Override glTexGenf(int coord, int pname, float param)3787 public void glTexGenf(int coord, int pname, float param) { 3788 begin("glTexGenf"); 3789 arg("coord", coord); 3790 arg("pname", pname); 3791 arg("param", param); 3792 end(); 3793 mgl11ExtensionPack.glTexGenf(coord, pname, param); 3794 checkError(); 3795 } 3796 3797 @Override glTexGenfv(int coord, int pname, float[] params, int offset)3798 public void glTexGenfv(int coord, int pname, float[] params, int offset) { 3799 begin("glTexGenfv"); 3800 arg("coord", coord); 3801 arg("pname", pname); 3802 arg("params", params.toString()); 3803 arg("offset", offset); 3804 end(); 3805 mgl11ExtensionPack.glTexGenfv(coord, pname, params, offset); 3806 checkError(); 3807 } 3808 3809 @Override glTexGenfv(int coord, int pname, FloatBuffer params)3810 public void glTexGenfv(int coord, int pname, FloatBuffer params) { 3811 begin("glTexGenfv"); 3812 arg("coord", coord); 3813 arg("pname", pname); 3814 arg("params", params.toString()); 3815 end(); 3816 mgl11ExtensionPack.glTexGenfv(coord, pname, params); 3817 checkError(); 3818 } 3819 3820 @Override glTexGeni(int coord, int pname, int param)3821 public void glTexGeni(int coord, int pname, int param) { 3822 begin("glTexGeni"); 3823 arg("coord", coord); 3824 arg("pname", pname); 3825 arg("param", param); 3826 end(); 3827 mgl11ExtensionPack.glTexGeni(coord, pname, param); 3828 checkError(); 3829 } 3830 3831 @Override glTexGeniv(int coord, int pname, int[] params, int offset)3832 public void glTexGeniv(int coord, int pname, int[] params, int offset) { 3833 begin("glTexGeniv"); 3834 arg("coord", coord); 3835 arg("pname", pname); 3836 arg("params", params.toString()); 3837 arg("offset", offset); 3838 end(); 3839 mgl11ExtensionPack.glTexGeniv(coord, pname, params, offset); 3840 checkError(); 3841 } 3842 3843 @Override glTexGeniv(int coord, int pname, IntBuffer params)3844 public void glTexGeniv(int coord, int pname, IntBuffer params) { 3845 begin("glTexGeniv"); 3846 arg("coord", coord); 3847 arg("pname", pname); 3848 arg("params", params.toString()); 3849 end(); 3850 mgl11ExtensionPack.glTexGeniv(coord, pname, params); 3851 checkError(); 3852 } 3853 3854 @Override glTexGenx(int coord, int pname, int param)3855 public void glTexGenx(int coord, int pname, int param) { 3856 begin("glTexGenx"); 3857 arg("coord", coord); 3858 arg("pname", pname); 3859 arg("param", param); 3860 end(); 3861 mgl11ExtensionPack.glTexGenx(coord, pname, param); 3862 checkError(); 3863 } 3864 3865 @Override glTexGenxv(int coord, int pname, int[] params, int offset)3866 public void glTexGenxv(int coord, int pname, int[] params, int offset) { 3867 begin("glTexGenxv"); 3868 arg("coord", coord); 3869 arg("pname", pname); 3870 arg("params", params.toString()); 3871 arg("offset", offset); 3872 end(); 3873 mgl11ExtensionPack.glTexGenxv(coord, pname, params, offset); 3874 checkError(); 3875 } 3876 3877 @Override glTexGenxv(int coord, int pname, IntBuffer params)3878 public void glTexGenxv(int coord, int pname, IntBuffer params) { 3879 begin("glTexGenxv"); 3880 arg("coord", coord); 3881 arg("pname", pname); 3882 arg("params", params.toString()); 3883 end(); 3884 mgl11ExtensionPack.glTexGenxv(coord, pname, params); 3885 checkError(); 3886 } 3887 3888 private class PointerInfo { 3889 /** 3890 * The number of coordinates per vertex. 1..4 3891 */ 3892 public int mSize; 3893 /** 3894 * The type of each coordinate. 3895 */ 3896 public int mType; 3897 /** 3898 * The byte offset between consecutive vertices. 0 means mSize * 3899 * sizeof(mType) 3900 */ 3901 public int mStride; 3902 public Buffer mPointer; 3903 public ByteBuffer mTempByteBuffer; // Only valid during glDrawXXX calls 3904 PointerInfo()3905 public PointerInfo() { 3906 } 3907 PointerInfo(int size, int type, int stride, Buffer pointer)3908 public PointerInfo(int size, int type, int stride, Buffer pointer) { 3909 mSize = size; 3910 mType = type; 3911 mStride = stride; 3912 mPointer = pointer; 3913 } 3914 sizeof(int type)3915 public int sizeof(int type) { 3916 switch (type) { 3917 case GL_UNSIGNED_BYTE: 3918 return 1; 3919 case GL_BYTE: 3920 return 1; 3921 case GL_SHORT: 3922 return 2; 3923 case GL_FIXED: 3924 return 4; 3925 case GL_FLOAT: 3926 return 4; 3927 default: 3928 return 0; 3929 } 3930 } 3931 getStride()3932 public int getStride() { 3933 return mStride > 0 ? mStride : sizeof(mType) * mSize; 3934 } 3935 bindByteBuffer()3936 public void bindByteBuffer() { 3937 mTempByteBuffer = mPointer == null ? null : toByteBuffer(-1, mPointer); 3938 } 3939 unbindByteBuffer()3940 public void unbindByteBuffer() { 3941 mTempByteBuffer = null; 3942 } 3943 } 3944 3945 private Writer mLog; 3946 private boolean mLogArgumentNames; 3947 private int mArgCount; 3948 3949 private PointerInfo mColorPointer = new PointerInfo(); 3950 private PointerInfo mNormalPointer = new PointerInfo(); 3951 private PointerInfo mTexCoordPointer = new PointerInfo(); 3952 private PointerInfo mVertexPointer = new PointerInfo(); 3953 3954 boolean mColorArrayEnabled; 3955 boolean mNormalArrayEnabled; 3956 boolean mTextureCoordArrayEnabled; 3957 boolean mVertexArrayEnabled; 3958 3959 StringBuilder mStringBuilder; 3960 } 3961