64 |
// Texture |
// Texture |
65 |
jf(jint, impl_1createTexture) |
jf(jint, impl_1createTexture) |
66 |
(JNIEnv *, jclass) { |
(JNIEnv *, jclass) { |
|
setWindow(); |
|
67 |
GLuint ret; |
GLuint ret; |
68 |
glGenTextures(1, &ret); |
glGenTextures(1, &ret); |
69 |
DBG(dbg) << "Created texture id "<<ret<<"\n"; |
DBG(dbg) << "Created texture id "<<ret<<"\n"; |
70 |
GLERR; |
GLERR; |
|
releaseWindow(); |
|
71 |
return ret; |
return ret; |
72 |
} |
} |
73 |
|
|
74 |
jf(void, impl_1deleteTexture) |
jf(void, impl_1deleteTexture) |
75 |
(JNIEnv *, jclass, jint id) { |
(JNIEnv *, jclass, jint id) { |
|
setWindow(); |
|
76 |
GLuint rel = id; |
GLuint rel = id; |
77 |
glDeleteTextures(1, &rel); |
glDeleteTextures(1, &rel); |
78 |
GLERR; |
GLERR; |
|
releaseWindow(); |
|
79 |
} |
} |
80 |
|
|
81 |
bool hasGenMipmaps() { |
bool hasGenMipmaps() { |
200 |
|
|
201 |
glCompressedTexImage2DARB(GL_TEXTURE_2D, level, internalFormat, |
glCompressedTexImage2DARB(GL_TEXTURE_2D, level, internalFormat, |
202 |
width, height, border, size, data); |
width, height, border, size, data); |
|
glFinish(); // Appears that NV 4191 drivers need this. |
|
203 |
glBindTexture(GL_TEXTURE_2D, 0); |
glBindTexture(GL_TEXTURE_2D, 0); |
204 |
|
// glFinish(); // Appears that NV 4191 drivers need this. |
205 |
env->ReleaseByteArrayElements(jdata, data, 0); |
env->ReleaseByteArrayElements(jdata, data, 0); |
206 |
GLERR; |
GLERR; |
207 |
|
|
216 |
|
|
217 |
glCompressedTexSubImage2DARB(GL_TEXTURE_2D, level, xoffs, yoffs, |
glCompressedTexSubImage2DARB(GL_TEXTURE_2D, level, xoffs, yoffs, |
218 |
width, height, format, size, data); |
width, height, format, size, data); |
|
glFinish(); // Appears that NV 4191 drivers need this. |
|
219 |
glBindTexture(GL_TEXTURE_2D, 0); |
glBindTexture(GL_TEXTURE_2D, 0); |
220 |
|
// glFinish(); // Appears that NV 4191 drivers need this. |
221 |
env->ReleaseByteArrayElements(jdata, data, 0); |
env->ReleaseByteArrayElements(jdata, data, 0); |
222 |
GLERR; |
GLERR; |
223 |
|
|
280 |
jstring internalFormat, |
jstring internalFormat, |
281 |
jstring format, |
jstring format, |
282 |
jstring name, jobjectArray params, jboolean shade_all_levels) { |
jstring name, jobjectArray params, jboolean shade_all_levels) { |
|
setWindow(); |
|
283 |
DBG(dbg)<<"Shade into "<<id<<"\n"; |
DBG(dbg)<<"Shade into "<<id<<"\n"; |
284 |
|
|
285 |
std::string name_utf = jstr2stdstr(env, name); |
std::string name_utf = jstr2stdstr(env, name); |
357 |
delete[] value; |
delete[] value; |
358 |
delete s; |
delete s; |
359 |
|
|
|
releaseWindow(); |
|
360 |
|
|
361 |
return 1; |
return 1; |
362 |
} |
} |