I have only an ATI Radeon 9250 Pro that doesn't support nor pixel shading neither official VBO extension (only ARB VBO). Lots of enums used in init in JOGLContextCapabilities are considered as invalid by my graphics card as unknown. Now, the JOGL canvas test works.
Replace the init() method in JOGLContextCapabilities:
public void init(final GL gl) {
// See Renderer
GL_ARB_vertex_buffer_object = gl
.isExtensionAvailable("GL_ARB_vertex_buffer_object");
GL_VERSION_1_2 = gl.isExtensionAvailable("GL_VERSION_1_2");
// See BlendState
GL_ARB_imaging = gl.isExtensionAvailable("GL_ARB_imaging");
GL_EXT_blend_func_separate = gl
.isExtensionAvailable("GL_EXT_blend_func_separate");
GL_EXT_blend_equation_separate = gl
.isExtensionAvailable("GL_EXT_blend_equation_separate");
GL_EXT_blend_minmax = gl.isExtensionAvailable("GL_EXT_blend_minmax");
GL_EXT_blend_subtract = gl
.isExtensionAvailable("GL_EXT_blend_subtract");
// See FogState
GL_EXT_fog_coord = gl.isExtensionAvailable("GL_EXT_fog_coord");
// See FragmentProgramState
GL_ARB_fragment_program = gl
.isExtensionAvailable("GL_ARB_fragment_program");
// See ShaderObjectsState
GL_ARB_shader_objects = gl
.isExtensionAvailable("GL_ARB_shader_objects");
GL_ARB_fragment_shader = gl
.isExtensionAvailable("GL_ARB_fragment_shader");
GL_ARB_vertex_shader = gl.isExtensionAvailable("GL_ARB_vertex_shader");
GL_ARB_shading_language_100 = gl
.isExtensionAvailable("GL_ARB_shading_language_100");
try{gl.glGetIntegerv(GL.GL_MAX_VERTEX_ATTRIBS_ARB, intBuf);
GL_MAX_VERTEX_ATTRIBS_ARB = intBuf.get(0);
}
catch(GLException gle)
{
GL_MAX_VERTEX_ATTRIBS_ARB=0;
}
try{gl.glGetIntegerv(GL.GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB, intBuf);
GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB = intBuf.get(0);
}
catch(GLException gle)
{GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB=0;}
try{gl.glGetIntegerv(GL.GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB, intBuf);
GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = intBuf.get(0);
}
catch(GLException gle)
{GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB=0;}
try{gl.glGetIntegerv(GL.GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB, intBuf);
GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB = intBuf.get(0);
}
catch(GLException gle)
{GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB=0;}
try{gl.glGetIntegerv(GL.GL_MAX_VARYING_FLOATS_ARB, intBuf);
GL_MAX_VARYING_FLOATS_ARB = intBuf.get(0);
}
catch(GLException gle)
{GL_MAX_VARYING_FLOATS_ARB=0;}
// See StencilState
GL_EXT_stencil_two_side = gl
.isExtensionAvailable("GL_EXT_stencil_two_side");
GL_EXT_stencil_wrap = gl.isExtensionAvailable("GL_EXT_stencil_wrap");
// See TextureState
GL_ARB_multitexture = gl.isExtensionAvailable("GL_ARB_multitexture");
GL_ARB_texture_env_dot3 = gl
.isExtensionAvailable("GL_ARB_texture_env_dot3");
GL_ARB_texture_env_combine = gl
.isExtensionAvailable("GL_ARB_texture_env_combine");
GL_SGIS_generate_mipmap = gl
.isExtensionAvailable("GL_SGIS_generate_mipmap");
GL_EXT_texture_compression_s3tc = gl
.isExtensionAvailable("GL_EXT_texture_compression_s3tc");
GL_EXT_texture_3d = gl.isExtensionAvailable("GL_EXT_texture_3d");
GL_ARB_texture_cube_map = gl
.isExtensionAvailable("GL_ARB_texture_cube_map");
GL_EXT_texture_filter_anisotropic = gl
.isExtensionAvailable("GL_EXT_texture_filter_anisotropic");
GL_ARB_texture_non_power_of_two = gl
.isExtensionAvailable("GL_ARB_texture_non_power_of_two");
GL_ARB_texture_rectangle = gl
.isExtensionAvailable("GL_ARB_texture_rectangle");
gl.glGetIntegerv(GL.GL_MAX_TEXTURE_UNITS, intBuf);
GL_MAX_TEXTURE_UNITS = intBuf.get(0);
try{gl.glGetIntegerv(GL.GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB, intBuf);
GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = intBuf.get(0);
}
catch(GLException gle)
{GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB=0;}
try{gl.glGetIntegerv(GL.GL_MAX_TEXTURE_IMAGE_UNITS_ARB, intBuf);
GL_MAX_TEXTURE_IMAGE_UNITS_ARB = intBuf.get(0);
}
catch(GLException gle)
{GL_MAX_TEXTURE_IMAGE_UNITS_ARB=0;}
try{gl.glGetIntegerv(GL.GL_MAX_TEXTURE_COORDS_ARB, intBuf);
GL_MAX_TEXTURE_COORDS_ARB = intBuf.get(0);}
catch(GLException gle)
{GL_MAX_TEXTURE_COORDS_ARB=0;}
try{GL_SHADING_LANGUAGE_VERSION_ARB = gl
.glGetString(GL.GL_SHADING_LANGUAGE_VERSION_ARB);}
catch(GLException gle)
{GL_SHADING_LANGUAGE_VERSION_ARB="";}
// FIXME I don't think this was necessary: floatBuf.rewind();
try{gl.glGetFloatv(GL.GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, floatBuf);
GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = floatBuf.get(0);
}
catch(GLException gle)
{GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT=0;}
// See VertexProgram
GL_ARB_vertex_program = gl
.isExtensionAvailable("GL_ARB_vertex_program");
// See TextureStateRecord
GL_ARB_texture_mirrored_repeat = gl
.isExtensionAvailable("GL_ARB_texture_mirrored_repeat");
GL_EXT_texture_mirror_clamp = gl
.isExtensionAvailable("GL_EXT_texture_mirror_clamp");
GL_ARB_texture_border_clamp = gl
.isExtensionAvailable("GL_ARB_texture_border_clamp");
GL_EXT_compiled_vertex_array = gl.isExtensionAvailable("GL_EXT_compiled_vertex_array");
}
How can I become the maintainer of the JOGL renderer? I need to make it work just fine and I have enough time to investigate if there are other bugs on it.
the url you posted seems correct
for contributors (http://www.jmonkeyengine.com/jmeforum/index.php?topic=9169.0) its
https://jmonkeyengine.googlecode.com/svn/trunk
First try posting a diff patch against the latest SVN (as per the policy in this board), rather than instructions on what to replace. Most IDE supports generating such a diff with only a few clicks.
This helps other people see what goes in and what goes out more easily, and to apply it in their own IDEs
llama said:
First try posting a diff patch against the latest SVN (as per the policy in this board), rather than instructions on what to replace. Most IDE supports generating such a diff with only a few clicks.
This helps other people see what goes in and what goes out more easily, and to apply it in their own IDEs
Can I do it with Eclipse? I'm going to investigate.
I think it's right click file -> team -> create patch
llama said:
I think it's right click file -> team -> create patch
But I don't succeed in configuring SVN in Eclipse with this project. Which svn url do I have to use? http://jmonkeyengine.googlecode.com/svn/?
Which user? no password?
Well there must be some tutorials and stuff on that first, make sure you learn SVN or it'll be hard to contribute.
To check out you should use your Google account or Gmail acount, since you won't be able to check in any changes without one (if you get approval).
llama said:
Well there must be some tutorials and stuff on that first, make sure you learn SVN or it'll be hard to contribute.
To check out you should use your Google account or Gmail acount, since you won't be able to check in any changes without one (if you get approval).
I have used SVN for months for my own game, I only need the correct SVN URL, the login, the password and that's all. I know how it works. I tried to use the url I quoted and it didn't work.
I'm trying to do it with kdesvn instead of Eclipse. Good night
svn diff > ~/Desktop/bugfix.diff in the svn root, it is quite simple, please find the difference file enclosed. Time to sleep for me.
Core-Dump said:
the url you posted seems correct
for contributors (http://www.jmonkeyengine.com/jmeforum/index.php?topic=9169.0) its
https://jmonkeyengine.googlecode.com/svn/trunk
It works in command line ;) now.
Has someone watched the modification I suggest (the diff file in my previous post)?
hey there,
afaik, you post a diff and after 24 hours of noone voting against it, you can check it in. should be explained in the thread llama posted above.
dhdd said:
hey there,
afaik, you post a diff and after 24 hours of noone voting against it, you can check it in. should be explained in the thread llama posted above.
Then, is it the good section to post the diff??
Yes this is a good section… just post the change as a patch… and wait a bit…
Patch enclosed (the same)
I've found a bug in StandardGame, we allow to choose a renderer:
display = DisplaySystem.getDisplaySystem(settings.getRenderer());
but we force the use of LWJGL further:
display.registerCanvasConstructor("AWT", LWJGLAWTCanvasConstructor.class);
The more I watch the source code, the more I find bugs :-o Does anybody use the JOGL renderer?
I have improved the regularity of the frame rate of JMEJOGLAWTTest by using an AWT frame and ignoring some repaint requests. Do you find it useful? On my machine (ATI Radeon 9250 Pro, AMD Sempron 2600+, 2GB DDRAM, Mandriva Linux 2007), the frame rate was between 32 and 49 FPS. Now it is always 49 FPS
Please find enclosed the previous fix (for JOGLContextCapabilities) and the next fix (for StandardGame) as a diff file.
Am I the only one who doesn't see any files?
I can see the files.