TextRenderer broken in webstart

Hi All,

I think the TextRenderer is broken in the rc-4 and rc-5 webstart versions of the jogl library.

If my applet uses http://download.java.net/media/jogl/builds/archive/jsr-231-webstart-current/jogl.jar no text appears, but if I drop back to using rc-3 my text appears fine.

I’ve also noticed that all of the TextRenderer demos on the jogl home page are broken (probably for the same reason)

Hope this helps someone

Stu.

BTW is there somewhere other than this forum where I can post bug reports?

What’s the output of demos.printext.PrintExt?

The new TextRenderer introduced in 1.1.1-rc4 currently assumes VBOs are available. This might not be a good assumption for older graphics cards.

Hi, I’m bumping into this topic but talking about VBO, we may have spotted an error in TextRender code…
Well not an error but it seems that a state is not properly reverted…

We had to call

glBindBuffer(GL.GL_ARRAY_BUFFER_ARB, 0);

just after the end3DRendering.

I don’t have the code right here, but I should I put a bug if I can confirm it?

Thanks

what happens on graphics cards, where VBOs are not available? does it fallback to the old textrenderer?

Yes, please file it if you can confirm it. I actually had that workaround in place but took it out as at least on some graphics cards it seems it isn’t needed. However this is an area where the OpenGL spec seems to be ambiguous. If you can file the bug soon I’ll refer to it in the checkin message fixing it.

Right now it will either silently fail or throw a GLException. It needs to be changed to use normal vertex arrays in this case.

It looks like its a problem with VBO’s not being available. I get javax.media.opengl.GLException: Method “glBindBuffer” not available

This is not an old gfx card but an Mobile Intel® 945 Express Chipset Family which is in the current version of the MacBook.

Stu.

What OS are you running on your MacBook? Could you please download the jogl demos jar files, put jogl-demos.jar on your CLASSPATH and run demos.printext.PrintExt, posting the output?

I can fix the bug without this information, but it would be helpful to know how many configurations out there are affected.

Hi,
Same behaviour on this laptop - I’m running XP SP2, with an Intel 945 as well
WorldWind Java is using TextRenderer for tooltips which vanished :’( !

demos.printext.PrintExt on here comes back as:

GL vendor: Intel
GL version: 1.4.0 - Build 4.14.10.4421
GL renderer: Intel 945GM
GL extensions:
GL_ARB_depth_texture GL_ARB_fragment_program
GL_ARB_multitexture GL_ARB_point_parameters
GL_ARB_shadow GL_ARB_texture_border_clamp
GL_ARB_texture_compression GL_ARB_texture_cube_map
GL_ARB_texture_env_add GL_ARB_texture_env_combine
GL_ARB_texture_env_dot3 GL_ARB_texture_env_crossbar
GL_ARB_transpose_matrix GL_ARB_vertex_buffer_object
GL_ARB_vertex_program GL_ARB_window_pos
GL_EXT_abgr GL_EXT_bgra
GL_EXT_blend_color GL_EXT_blend_func_separate
GL_EXT_blend_minmax GL_EXT_blend_subtract
GL_EXT_clip_volume_hint GL_EXT_compiled_vertex_array
GL_EXT_cull_vertex GL_EXT_draw_range_elements
GL_EXT_fog_coord GL_EXT_multi_draw_arrays
GL_EXT_packed_pixels GL_EXT_rescale_normal
GL_EXT_secondary_color GL_EXT_separate_specular_color
GL_EXT_shadow_funcs GL_EXT_stencil_two_side
GL_EXT_stencil_wrap GL_EXT_texture_compression_s3tc
GL_EXT_texture_env_add GL_EXT_texture_env_combine
GL_EXT_texture_filter_anisotropic GL_EXT_texture3D
GL_3DFX_texture_compression_FXT1 GL_IBM_texture_mirrored_repeat
GL_NV_blend_square GL_NV_texgen_reflection
GL_SGIS_generate_mipmap GL_WIN_swap_hint

Cheers,
Mike

A coworker confirmed the “little bug” about VBO state, so I filled the bug ID 323 (quite in a hurry).
Thanks.

printext.printExt output, same renderer as lith but a newer version with a couple of extra extensions.

GL vendor: Intel
GL version: 1.4.0 - Build 7.14.10.4859
GL renderer: Intel 945GM
GL extensions:
GL_ARB_depth_texture GL_ARB_fragment_program
GL_ARB_multitexture GL_ARB_point_parameters
GL_ARB_shadow GL_ARB_texture_border_clamp
GL_ARB_texture_compression GL_ARB_texture_cube_map
GL_ARB_texture_env_add GL_ARB_texture_env_combine
GL_ARB_texture_env_dot3 GL_ARB_texture_env_crossbar
GL_ARB_transpose_matrix GL_ARB_vertex_buffer_object
GL_ARB_vertex_program GL_ARB_window_pos
GL_EXT_abgr GL_EXT_bgra
GL_EXT_blend_color GL_EXT_blend_func_separate
GL_EXT_blend_minmax GL_EXT_blend_subtract
GL_EXT_clip_volume_hint GL_EXT_compiled_vertex_array
GL_EXT_cull_vertex GL_EXT_draw_range_elements
GL_EXT_fog_coord GL_EXT_multi_draw_arrays
GL_EXT_packed_pixels GL_EXT_rescale_normal
GL_EXT_secondary_color GL_EXT_separate_specular_color
GL_EXT_shadow_funcs GL_EXT_stencil_two_side
GL_EXT_stencil_wrap GL_EXT_texture_compression_s3tc
GL_EXT_texture_env_add GL_EXT_texture_env_combine
GL_EXT_texture_lod_bias GL_EXT_texture_filter_anisotropic
GL_EXT_texture3D GL_3DFX_texture_compression_FXT1
GL_IBM_texture_mirrored_repeat GL_NV_blend_square
GL_NV_texgen_reflection GL_SGIS_generate_mipmap
GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod
GL_WIN_swap_hint


Extra extensions:
GL_EXT_texture_lod_bias GL_SGIS_texture_edge_clamp
GL_SGIS_texture_lod

Stu.

Sorry forgot to mention the last output was from a MacBook running WinXP under bootcamp.

This next output is from the macbook running OSX 10.4 where the fonts appear correctly

GL vendor: Intel Inc.
GL version: 1.2 APPLE-1.4.56
GL renderer: Intel GMA 950 OpenGL Engine
GL extensions:
GL_ARB_transpose_matrix GL_ARB_vertex_program
GL_ARB_vertex_blend GL_ARB_window_pos
GL_ARB_shader_objects GL_ARB_vertex_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_EXT_gpu_program_parameters
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_shading_language_100

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_texture_env_combine
GL_ARB_texture_compression GL_ARB_texture_mirrored_repeat
GL_ARB_shadow GL_ARB_depth_texture
GL_ARB_fragment_program GL_ARB_fragment_shader
GL_ARB_point_sprite GL_ARB_texture_non_power_of_two
GL_ARB_vertex_buffer_object GL_ARB_pixel_buffer_object
GL_EXT_framebuffer_object GL_EXT_texture_rectangle
GL_ARB_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_stencil_two_side GL_EXT_texture_compression_s3tc
GL_EXT_texture_compression_dxt1 GL_EXT_blend_equation_separate
GL_EXT_packed_depth_stencil GL_APPLE_flush_buffer_range
GL_APPLE_ycbcr_422 GL_APPLE_texture_range
GL_APPLE_pixel_buffer GL_NV_blend_square
GL_ATI_texture_env_combine3 GL_SGIS_texture_edge_clamp
GL_SGIS_texture_lod

Hope this helps

Stu.

Will be fixed in tomorrow’s promoted build, 1.1.1-rc6. Also a fallback code path has been added for machines without VBO support.

this might be a very stupid question, but since i cant stop thinking about it, i dare to ask it:

what does the textrenderer use VERTEX buffer objects for?
since it is based mostly on glyphs which are rendered on a texture, shouldnt it use FRAME buffer objects?

The trick is to render each glyph as a textured quad isn’t? So the VBO are welcom to do this.