71 |
* <p> |
* <p> |
72 |
* ATI: if you want to know what you're still doing |
* ATI: if you want to know what you're still doing |
73 |
* wrong, just grep the source for this variable name ;) |
* wrong, just grep the source for this variable name ;) |
74 |
|
* <p> |
75 |
|
* A brief list of some of the issues: |
76 |
|
* <ul> |
77 |
|
* <li> Loading compressed textures using glCompressedTexImage2D |
78 |
|
* does not work. VERY bad for us, need to load full |
79 |
|
* uncompressed levels from disk. Can't work around |
80 |
|
* without losing a lot of performance |
81 |
|
* <li> glCopyTexImage does not obey GENERATE_MIPMAP_SGIS. |
82 |
|
* Can work around; not fun. |
83 |
|
* <li> Something about our texture image copying code |
84 |
|
* makes it take it from the wrong location - |
85 |
|
* glGet raster position? |
86 |
|
* <li> pbuffers not usable on non-firegl cards |
87 |
|
* </ul> |
88 |
*/ |
*/ |
89 |
public static boolean workaroundStupidBuggyAtiDrivers = false; |
public static boolean workaroundStupidBuggyAtiDrivers = false; |
90 |
|
|
443 |
return impl_Texture_getCompressedTexImage(getId(), lod); |
return impl_Texture_getCompressedTexImage(getId(), lod); |
444 |
} |
} |
445 |
|
|
446 |
|
public void getTexImage(int lod, String format, String type, |
447 |
|
byte[] array) { |
448 |
|
impl_Texture_getTexImage(getId(), lod, format, type, |
449 |
|
array); |
450 |
|
} |
451 |
|
|
452 |
/** Call glCompressedTexImage. |
/** Call glCompressedTexImage. |
453 |
* The length of data is used so it needs to be right. |
* The length of data is used so it needs to be right. |
454 |
*/ |
*/ |
545 |
static private native byte[] impl_Texture_getCompressedTexImage(int id, int lod); |
static private native byte[] impl_Texture_getCompressedTexImage(int id, int lod); |
546 |
static private native void impl_Texture_compressedTexImage(int id, int level, String internalFormat, |
static private native void impl_Texture_compressedTexImage(int id, int level, String internalFormat, |
547 |
int width, int height, int border, byte[] data); |
int width, int height, int border, byte[] data); |
548 |
|
static private native void impl_Texture_getTexImage(int id, |
549 |
|
int lod, String format, String type, byte[] array) ; |
550 |
|
|
551 |
//--------- OpenGL Program |
//--------- OpenGL Program |
552 |
/** An OpenGL program object. |
/** An OpenGL program object. |