aboutsummaryrefslogtreecommitdiffstats
path: root/src/native/ogl/Canvas3D.c
diff options
context:
space:
mode:
authorKevin Rushforth <[email protected]>2004-11-05 17:49:17 +0000
committerKevin Rushforth <[email protected]>2004-11-05 17:49:17 +0000
commit7ce0d5ef623370a6122c63ea70e0ae5b022998f9 (patch)
treea8e21f2e6be6225f26902bcad0badbd9533aad6e /src/native/ogl/Canvas3D.c
parent49fe0098cf0aa3fdd764f2b564075ac55ef59280 (diff)
1. Added new boolean property, "j3d.usePbuffer", which can be used to
enable or disable the use of OpenGL Pbuffer rendering for off-screen Canvas3D objects. The default value for this property is "true". To disable Pbuffer rendering, use "java -Dj3d.usePbuffer=false ..." 2. Changed the few remaining C++-style "//" comments to "/* ... */" for maximum portability. git-svn-id: https://svn.java.net/svn/j3d-core~svn/trunk@75 ba19aa83-45c5-6ac9-afd3-db810772062c
Diffstat (limited to 'src/native/ogl/Canvas3D.c')
-rw-r--r--src/native/ogl/Canvas3D.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/native/ogl/Canvas3D.c b/src/native/ogl/Canvas3D.c
index 339fe63..2e18925 100644
--- a/src/native/ogl/Canvas3D.c
+++ b/src/native/ogl/Canvas3D.c
@@ -2670,10 +2670,10 @@ jint JNICALL Java_javax_media_j3d_Canvas3D_createOffScreenBuffer(
glXGetFBConfigAttrib((Display *) display, fbConfigList[0],
GLX_DRAWABLE_TYPE, &val);
/* fprintf(stderr, "GLX_DRAWABLE_TYPE returns %d\n", val); */
-
- if ((val & GLX_PBUFFER_BIT) != 0) {
+
+ if (getJavaBoolEnv(env,"usePbuffer") && (val & GLX_PBUFFER_BIT) != 0) {
/* fprintf(stderr, "Using pbuffer %d\n", val); */
-
+
/* Initialize the attribute list to be used for choosing FBConfig */
attrCount = 0;
@@ -2703,8 +2703,9 @@ jint JNICALL Java_javax_media_j3d_Canvas3D_createOffScreenBuffer(
XSetWindowAttributes win_attrs;
Colormap cmap;
unsigned long win_mask;
-
+
/* fprintf(stderr, "Using pixmap %d\n", val); */
+
vinfo = glXGetVisualFromFBConfig((Display*)display, fbConfigList[0]);
if (vinfo == NULL) {
fprintf(stderr, "Java 3D ERROR : glXGetVisualFromFBConfig failed\n");
@@ -2881,7 +2882,9 @@ jint JNICALL Java_javax_media_j3d_Canvas3D_createOffScreenBuffer(
return (jint) hpbufdc;
}
-
+
+ /* fprintf(stderr, "***** Use Bitmap for offscreen ******\n"); */
+
/* create a DIB */
memset(&bih, 0, sizeof(BITMAPINFOHEADER));
@@ -2891,7 +2894,7 @@ jint JNICALL Java_javax_media_j3d_Canvas3D_createOffScreenBuffer(
bih.biPlanes = 1;
- // by MIK OF CLASSX
+ /* by MIK OF CLASSX */
if (getJavaBoolEnv(env, "transparentOffScreen")) {
bih.biBitCount = 32;
}
@@ -3128,7 +3131,7 @@ void initializeCtxInfo(JNIEnv *env , GraphicsContextPropertiesInfo* ctxInfo){
ctxInfo->implicit_multisample = getJavaBoolEnv(env, "implicitAntialiasing");
- // by MIK OF CLASSX
+ /* by MIK OF CLASSX */
ctxInfo->alphaClearValue = (getJavaBoolEnv(env, "transparentOffScreen") ? 0.0f : 1.0f);
/* ARB extensions */