diff options
author | Kevin Rushforth <[email protected]> | 2004-11-05 17:49:17 +0000 |
---|---|---|
committer | Kevin Rushforth <[email protected]> | 2004-11-05 17:49:17 +0000 |
commit | 7ce0d5ef623370a6122c63ea70e0ae5b022998f9 (patch) | |
tree | a8e21f2e6be6225f26902bcad0badbd9533aad6e /src/native/ogl/Canvas3D.c | |
parent | 49fe0098cf0aa3fdd764f2b564075ac55ef59280 (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.c | 17 |
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 */ |