Show Posts
|
|
Pages: [1]
|
|
1
|
Java Game APIs & Engines / JOGL Development / Method glClientActiveTexture not available problem in TextFlow demo
|
on: 2007-11-14 16:51:36
|
|
I have encountered a problem running the TextFlow demo on a Win XP Pro PC with Intel 82810E built in graphics, the 7/23/02 driver 6.13.01.3196 (which I believe is the latest).
The application throws GLExceptions: "Method glClientActiveTexture not available" and does not display anything. All of the text related demos (and my own application) have the same problem.
Has anyone else encountered the problem? Is there a workaround? The demo claims to need no special capabilities. pdj
|
|
|
|
|
3
|
Java Game APIs & Engines / JOGL Development / Re: What is under the covers?
|
on: 2005-03-23 18:23:13
|
I can reproduce the resize problem on a G4 Powerbook with the Gears demo. Here's part of an email from Dmitry about a year ago when I was trying to track it down. It crashed then, and things have improved since then, but the size mismatch is still there. BTW: I can see that hanging almost for every jogl-demo example (except Gera and jGear)
here is a code from GL4Java implementation related to resizing:
JNIEXPORT void JNICALL Java_gl4java_GLContext_gljResizeNative (JNIEnv *env, jobject object, jboolean isOwnWindow, jlong disp, jlong pData, jint width, jint height) { NSLock *lock = [[NSLock alloc] init];
if ([lock tryLock]) { gl4javaResize(env,object,(NSWindow *)pData,width,height);// [lock unlock]; } [lock release]; }
before I use locking gl4java exhibited very similar behavior: it crashed (not heavily as jogl though)
hope it will help
just FYI
void gl4javaResize(JNIEnv *env, jobject object, NSWindow *window, int width, int height) { jclass cls = 0; NSView *view = NULL; jfieldID fglContext=0; jfieldID foffScreenRenderer=0; jboolean joffScreenRenderer=JNI_FALSE; NSOpenGLContext *gc = NULL; NSOpenGLContext *currentContext = [NSOpenGLContext currentContext]; NSRect viewFrame; jboolean needResetContext = JNI_FALSE; cls = (*env)->GetObjectClass(env, object); if (cls==0) return; foffScreenRenderer = (*env)->GetFieldID(env, cls, "offScreenRenderer", "Z"); if (foffScreenRenderer==0) return; joffScreenRenderer =(*env)->GetBooleanField(env, object, foffScreenRenderer); if(joffScreenRenderer == JNI_TRUE) return; fglContext=(*env)->GetFieldID(env, cls, "glContext", "J"); if (fglContext==0) return; gc =(NSOpenGLContext*)((int)(*env)->GetLongField(env, object, fglContext)); if (gc==0) return; view = [gc view]; if(view == NULL) return; viewFrame = [view frame];
if(gc == currentContext) needResetContext = JNI_TRUE; else needResetContext = JNI_FALSE; if(needResetContext){ [NSOpenGLContext clearCurrentContext]; } [gc clearDrawable]; [gc setView : view]; if(needResetContext){ [gc makeCurrentContext]; } [gc flushBuffer]; if(window != NULL) [window setViewsNeedDisplay:YES]; }
|
|
|
|
|
6
|
Java Game APIs & Engines / JOGL Development / Re: "On-demand" mode modification to tut
|
on: 2005-02-13 23:39:35
|
Thanks for the demo - I've been looking for something like this! I see two problems on a Mac PowerBook with a Radeon 9600. - maximizing the window does not resize the canvas, although resizing the window usually does. The result is the figures are cropped to their previous window size and ocassionally there is junk in the rest of the window. I also see some occasional shards during resize. It's as if the adjusted viewport sometimes lags behind the window changes. - The application hangs. I can't find a simple trigger, but resizing, rotating, maximizing, restoring to the previous size when repeated for a while (10 seconds to a few minutes) cause a hang. Here's a thread dump: pdj > suspend All threads suspended. > threads Group system: (java.lang.ref.Reference$ReferenceHandler)0xdf Reference Handler cond. waiting (java.lang.ref.Finalizer$FinalizerThread)0xde Finalizer cond. waiting (java.lang.Thread)0xdd Signal Dispatcher running (java.lang.Thread)0x403 Java2D Disposer cond. waiting Group main: (java.lang.Thread)0x221 AWT-AppKit cond. waiting (java.lang.Thread)0x39d AWT-Shutdown cond. waiting (java.awt.EventDispatchThread)0x3a6 AWT-EventQueue-0 cond. waiting (java.lang.Thread)0x3bf DestroyJavaVM running > wherei all Signal Dispatcher: Finalizer: [1] java.lang.Object.wait (native method) [2] java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:111), pc = 44 [3] java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:127), pc = 2 [4] java.lang.ref.Finalizer$FinalizerThread.run (Finalizer.java:159), pc = 3 Reference Handler: [1] java.lang.Object.wait (native method) [2] java.lang.Object.wait (Object.java:429), pc = 2 [3] java.lang.ref.Reference$ReferenceHandler.run (Reference.java:115), pc = 46 AWT-AppKit: [1] java.lang.Object.wait (native method) [2] java.lang.Object.wait (Object.java:429), pc = 2 [3] apple.awt.CToolkit.invokeAndWait (CToolkit.java:1,021), pc = 40 [4] apple.awt.ComponentModel.handlePaint (ComponentModel.java:344), pc = 28 AWT-Shutdown: [1] java.lang.Object.wait (native method) [2] java.lang.Object.wait (Object.java:429), pc = 2 [3] sun.awt.AWTAutoShutdown.run (AWTAutoShutdown.java:259), pc = 32 [4] java.lang.Thread.run (Thread.java:552), pc = 11 AWT-EventQueue-0: [1] java.lang.Object.wait (native method) [2] java.lang.Object.wait (Object.java:429), pc = 2 [3] java.awt.EventQueue.getNextEvent (EventQueue.java:339), pc = 89 [4] java.awt.EventDispatchThread.pumpOneEventForHierarchy (EventDispatchThread.java:195), pc = 9 [5] java.awt.EventDispatchThread.pumpEventsForHierarchy (EventDispatchThread.java:184), pc = 26 [6] java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:178 ), pc = 4 [7] java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:170), pc = 3 [8] java.awt.EventDispatchThread.run (EventDispatchThread.java:100), pc = 9 DestroyJavaVM: Java2D Disposer: [1] java.lang.Object.wait (native method) [2] java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:111), pc = 44 [3] java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:127), pc = 2 [4] sun.java2d.Disposer.run (Disposer.java:116), pc = 3 [5] java.lang.Thread.run (Thread.java:552), pc = 11 >
|
|
|
|
|
7
|
Java Game APIs & Engines / JOGL Development / Re: Machine dependent problems in Virtual Globe
|
on: 2005-01-13 20:00:51
|
I find this application exhibits two of the resize problems I've seen in my own application, at least on a Mac 1.33Ghz 17" Powerbook. I have a suspicion the problem lies in the JOGL arithmetic in determining the upper left screen coordinates, where they are allowed to extend outside of the canvas. 1. It looks like the repaint after a resize is delayed behind the window event - as if the previously reported size as the window continuously repaints during the drag of a corner is what is displayed when the drag completes. So if the window is expanding, there is white space or garbage at the right and bottom edges. If it is decreasing, the view may be cropped to something larger. 2. If I resize, at least on the Mac, I can move the bottom of the window up into the menu area, causing the following: Java Web Start 1.4.2_05 Console, started Thu Jan 13 14:43:55 MST 2005 Java 2 Runtime Environment: Version 1.4.2_05 by Apple Computer, Inc. Logging to file: /Users/pdj/Desktop/JWSlog Opened connection to elevation server: http://globe.sintef.no/globe.fcgiOpenGL vendor: ATI Technologies Inc. OpenGL renderer: ATI Radeon 9600 OpenGL Engine OpenGL version: 1.5 ATI-1.3.36 OpenGL extensionsGL_ARB_transpose_matrix GL_ARB_vertex_program GL_ARB_vertex_blend GL_ARB_window_pos GL_ARB_shader_objects GL_ARB_vertex_shader GL_ARB_fragment_shader GL_EXT_multi_draw_arrays GL_EXT_clip_volume_hint GL_EXT_rescale_normal GL_EXT_draw_range_elements GL_EXT_fog_coord GL_APPLE_client_storage GL_APPLE_specular_vector GL_APPLE_transform_hint GL_APPLE_packed_pixels GL_APPLE_fence GL_APPLE_vertex_array_object GL_APPLE_vertex_program_evaluators GL_APPLE_element_array GL_APPLE_flush_render GL_NV_texgen_reflection GL_NV_light_max_exponent GL_IBM_rasterpos_clip GL_SGIS_generate_mipmap GL_ARB_imaging GL_ARB_point_parameters GL_ARB_texture_env_crossbar GL_ARB_texture_border_clamp GL_ARB_multitexture GL_ARB_texture_env_add GL_ARB_texture_cube_map GL_ARB_texture_env_dot3 GL_ARB_multisample GL_ARB_texture_env_combine GL_ARB_texture_compression GL_ARB_texture_mirrored_repeat GL_ARB_shadow GL_ARB_depth_texture GL_ARB_shadow_ambient GL_ARB_fragment_program GL_ARB_occlusion_query GL_ARB_point_sprite GL_ARB_vertex_buffer_object GL_EXT_compiled_vertex_array GL_EXT_texture_rectangle GL_EXT_texture_env_add GL_EXT_blend_color GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_texture_lod_bias GL_EXT_abgr GL_EXT_bgra GL_EXT_stencil_wrap GL_EXT_texture_filter_anisotropic GL_EXT_separate_specular_color GL_EXT_secondary_color GL_EXT_blend_func_separate GL_EXT_shadow_funcs GL_EXT_texture_compression_s3tc GL_EXT_blend_equation_separate GL_EXT_texture_mirror_clamp GL_APPLE_ycbcr_422 GL_APPLE_vertex_array_range GL_APPLE_texture_range GL_APPLE_float_pixels GL_APPLE_pixel_buffer GL_NV_blend_square GL_ATI_texture_mirror_once GL_ATI_text_fragment_shader GL_ATI_blend_equation_separate GL_ATI_blend_weighted_minmax GL_ATI_texture_env_combine3 GL_ATI_separate_stencil GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod GL_SGI_color_matrix Fetching images from: http://globe.sintef.no/WMSproxy.fcgi?wms-host=onearth.jpl.nasa.gov&wms-path=wms.cgi&layers=modis,global_mosaic&pos-code=Fetching images from: http://globe.sintef.no/WMSproxy.fcgi?wms-host=onearth.jpl.nasa.gov&wms-path=wms.cgi&layers=modis,global_mosaic&pos-code=net.java.games.jogl.GLException: java.lang.reflect.InvocationTargetException at net.java.games.jogl.GLCanvas.displayImpl(GLCanvas.java:205) at net.java.games.jogl.GLCanvas.display(GLCanvas.java:75) at net.java.games.jogl.Animator$1.run(Animator.java:107) at java.lang.Thread.run(Thread.java:552) Caused by: java.lang.reflect.InvocationTargetException at java.awt.EventQueue.invokeAndWait(EventQueue.java:834) at net.java.games.jogl.GLCanvas.displayImpl(GLCanvas.java:203) ... 3 more Caused by: net.java.games.jogl.GLException: glGetError() returned the following error codes after a call to glViewport(): GL_INVALID_VALUE at net.java.games.jogl.DebugGL.checkGLGetError(DebugGL.java:13783) at net.java.games.jogl.DebugGL.glViewport(DebugGL.java:12638) at net.java.games.jogl.GLCanvas$1.run(GLCanvas.java:114) at net.java.games.jogl.impl.macosx.MacOSXOnscreenGLContext$1.run(MacOSXOnscreenGLContext.java:76) at net.java.games.jogl.impl.GLContext.invokeGL(GLContext.java:287) at net.java.games.jogl.impl.macosx.MacOSXOnscreenGLContext.invokeGL(MacOSXOnscreenGLContext.java:81) at net.java.games.jogl.GLCanvas$DisplayOnEventDispatchThreadAction.run(GLCanvas.java:238) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:171) at java.awt.EventQueue.dispatchEvent(EventQueue.java:454) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:178) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:170) at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
|
|
|
|
|
9
|
Java Game APIs & Engines / JOGL Development / Re: Own Animator class
|
on: 2004-10-21 03:06:25
|
This will probably be of little help, but with the nightly build from 10/17, I get a window, then: Using ATI workaround of dispatching display() on event thread java.lang.IllegalMonitorStateException: current thread not owner at net.java.games.jogl.impl.JAWT_DrawingSurface.Unlock0(Native Method) at net.java.games.jogl.impl.JAWT_DrawingSurface.Unlock(JAWT_DrawingSurface.java:61) at net.java.games.jogl.impl.macosx.MacOSXOnscreenGLContext.unlockSurface(MacOSXOnscreenGLContext.java:253) at net.java.games.jogl.impl.macosx.MacOSXOnscreenGLContext.free(MacOSXOnscreenGLContext.java:161) at net.java.games.jogl.impl.GLContext.invokeGL(GLContext.java:319) at net.java.games.jogl.impl.macosx.MacOSXOnscreenGLContext.invokeGL(MacOSXOnscreenGLContext.java:84) at net.java.games.jogl.GLCanvas.displayImpl(GLCanvas.java:208) at net.java.games.jogl.GLCanvas.display(GLCanvas.java:75) at MyAnimator$1.run(AnimatorTest.java:113) at java.lang.Thread.run(Thread.java:552) Bus error
|
|
|
|
|
13
|
Java Game APIs & Engines / JOGL Development / Re: JOGL on Java 1.4.2 for OSX?
|
on: 2004-02-19 21:26:17
|
|
Gregory Pierce wrote:
> What version are you using? If its not the latest nightly build or the latest release build from the site, then you need to upgrade.
Checking the cvs repository (:pserver:xxx@cvs.dev.java.net:/cvs jogl) on a fairly regular basis, I've seen no changes at all in the source code for months (weeks if you count a change on 1/31 that went in and back out because of my confusion). Same for the source distribution on the nightly build site <https://games-binaries.dev.java.net/build/index.html>. And I find no release builds there either. Are the nightly builds done off something else? Am I looking in the right places?
I'm not complaining, just making sure I understand the current code state.
pdj
|
|
|
|
|
14
|
Java Game APIs & Engines / JOGL Development / Tessellation bug fix for vertex[Data] callback
|
on: 2004-01-29 13:27:33
|
|
In net.java.games.jogl.impl.tesselator.Render.java, line 306 of the Sept 5 release, the line
tess.callVertexOrVertexData( e.Org.data);
should be
tess.callVertexOrVertexData( e.Org.coords);
The vertex(coords) and vertexData(coords, userData) callbacks were getting the userData information in place of the coords. pdj
|
|
|
|
|
15
|
Java Game APIs & Engines / JOGL Development / Re: Demo Request, Swing and jogl
|
on: 2004-01-26 00:10:16
|
|
As I mentioned in an earlier post, there seem to be problems with GLCanvas and AWT or Swing - even in an independent windows - on a Win2K system.
I've posted a simple modification to the Gears demo that instantiates a Swing Slider in another window to control the rotation of the gears. There are Java Web Start files to run it requesting either double or single buffered GL capabilities.
Don't run it on a system you don't want to crash. It's behavior is not repeatable.
I can run it and it looks normal for a few times, but resizing the GL window can hang the PC. Sometimes I get a blank screen, sometme the performance is slow, sometimes everything looks fine. But repeated execution of the same application gives unpredictable results.
The double and single buffered versions are at:
<http://agileimage.com/html/statistics/Gears.jnlp> <http://agileimage.com/html/statistics/Gears_single_buffered.jnlp>
The source is included in the jar file.
Any help would be appreciated. pdj
|
|
|
|
|
16
|
Java Game APIs & Engines / JOGL Development / Re: Demo Request, Swing and jogl
|
on: 2004-01-23 22:14:01
|
I've been having little luck in using a Swing control in one window to manipulate a scene in a different GL window. I'm trying this to avoid some of the issues mentioned on this group in mixing the two in the same Frame. I see two problems - 1 - poor performance on OS X, very poor on Win2K. The awt thread does not seem to take much cpu time, but it seems like the repaint of the GLCanvas takes a long long time. Direct manipulation through a mouse in the GL window itself is instantaneous, as is the manipulation of the control by itself. 2 - lack of anything displayed at all on Win2K or XP when there is much object complexity. Once I saw the the GL canvas come alive afer 2-3 minutes when the objects were the three gears from the Gears demo. The first problem A is shown in a modified form of the example in this thread and posted at: http://agileimage.com/html/statistics/Lesson03.jnlpThe jar file has the source as well. The problem with the lack of any display seems to happen both with an Animator running freely and when repaint is used. I'll put an example of that up when I get time. I've set the doubleBuffer capability to false on the PC with no effect. I'd like to find some way to get this working. Any pointers to parts of jogl to look at would be appreciated. Working demos that use both Swing and jogl and which run well would be even better. Thanks, Paul Jensen
|
|
|
|
|
|
Add your game by posting it in the WIP section,
or publish it in Showcase.
The first screenshot will be displayed as a thumbnail.
|
|