OpenGL 3+ RenderSystem

Discussion area about developing or extending OGRE, adding plugins for it or building applications on it. No newbie questions please, use the Help forum for that.
User avatar
masterfalcon
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 4270
Joined: Sun Feb 25, 2007 4:56 am
Location: Bloomington, MN
x 126

Re: OpenGL 3+ RenderSystem

Post by masterfalcon »

Thanks for all the help! I'll try to make some time this weekend to fix up some of the base issues. I'll add some notes regarding the samples later tonight.
User avatar
bvanevery
Goblin
Posts: 218
Joined: Wed Feb 28, 2007 4:54 am
Location: Asheville, NC
x 7

Re: OpenGL 3+ RenderSystem

Post by bvanevery »

Ok I've got it built on Linux. SampleBrowser fails as follows when selecting GL3+ renderer.
******************************
*** Starting GLX Subsystem ***
******************************
GL3PlusRenderSystem::_createRenderWindow "OGRE Sample Browser", 1440x900 fullscreen miscParams: FSAA=0 displayFrequency=50 Hz gamma=No vsync=
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 153 (GLX)
Minor opcode of failed request: 34 ()
Serial number of failed request: 18
Current serial number in output stream: 19
bvanevery@nomad:~/devel/build/ogre/bin$
Got it built on Vista as well. There, the SampleBrowser works when selecting GL3+ renderer. Haven't fired up any actual samples yet.

On Linux, if I configure CMake to build the GL3+ renderer, the GL1 renderer becomes unchecked and won't be built. If I go back and try to check the GL1 renderer, the GL3+ renderer takes precedence and forces GL1 to be unchecked. It seems they're mutually exclusive.
User avatar
masterfalcon
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 4270
Joined: Sun Feb 25, 2007 4:56 am
Location: Bloomington, MN
x 126

Re: OpenGL 3+ RenderSystem

Post by masterfalcon »

I'm not able to reproduce this on my end. Is your display really 50 Hz?

Would you be able to possibly debug what's going on?
User avatar
bvanevery
Goblin
Posts: 218
Joined: Wed Feb 28, 2007 4:54 am
Location: Asheville, NC
x 7

Re: OpenGL 3+ RenderSystem

Post by bvanevery »

I don't know where the loony 50 Hz setting is coming from. The NVIDIA X Server Settings tool reports my display as 60.13 Hz, and I don't think laptop LCDs have variable Hz settings. Can't debug it yet as it's still building in KDevelop4, plus I need to learn to use that IDE to debug with, plus I need lunch. :lol:
scrawl
OGRE Expert User
OGRE Expert User
Posts: 1119
Joined: Sat Jan 01, 2011 7:57 pm
x 220

Re: OpenGL 3+ RenderSystem

Post by scrawl »

Getting this error on my laptop (when starting the sample browser or my application):
./SampleBrowser: symbol lookup error: /home/scrawl/Dev/ogre/build/lib/RenderSystem_GL3Plus.so: undefined symbol: glXCreateContextAttribsARB

Edit: Nevermind, I thought this card support ed GL3, apparently it does not :(

Code: Select all

OpenGL version string: 2.1 Mesa 9.0
I'll try bleeding edge drivers, maybe that helps.
dermont
Bugbear
Posts: 812
Joined: Thu Dec 09, 2004 2:51 am
x 42

Re: OpenGL 3+ RenderSystem

Post by dermont »

masterfalcon wrote:I'm not able to reproduce this on my end. Is your display really 50 Hz?

Would you be able to possibly debug what's going on?
I encounter the same issue as bvanevery. My graphics car only supports OpenGL 3.x, have you tried with a card that only supports 3.x?

Not sure what th issue is but SampleBrowser bombs out on initial context creation (glXCreateContextAttribsARB). To circumvent this I can either specify GLX_CONTEXT_MAJOR/MINOR_VERSION_ARB to match my card or implement an ErrorHandler.

http://www.opengl.org/wiki/Tutorial:_Op ... _%28GLX%29

Something has changed with the resources structure and it doesn't look like resources.cfg has been updated (????).

I tried updating resources.cfg but still encounter lots of syntax error, unexpected $end at token "<EOF>".

Code: Select all

17:09:04: Compiler error: invalid parameters in StdQuad_vp.program(106): setting of constant failed
17:09:04: GLSL compile log: FFPLib_Transform_VS
(0) : error C0000: syntax error, unexpected $end at token "<EOF>"
17:09:04: OGRE EXCEPTION(3:RenderingAPIException): Vertex Program FFPLib_Transform_VS failed to compile. See compile log above for details. in GLSLProgram::compile at /home/dermont/Development/OGRE/src/v1-9/RenderSystems/GL3Plus/src/GLSL/src/OgreGLSLProgram.cpp (line 257)
17:09:04: GLSL compile log: FFPLib_Transform_VS
(0) : error C0000: syntax error, unexpected $end at token "<EOF>"
17:09:04: OGRE EXCEPTION(3:RenderingAPIException): Vertex Program FFPLib_Transform_VS failed to compile. See compile log above for details. in GLSLProgram::compile at /home/dermont/Development/OGRE/src/v1-9/RenderSystems/GL3Plus/src/GLSL/src/OgreGLSLProgram.cpp (line 257)
17:09:04: GLSL compile log: FFPLib_Transform_VS
(0) : error C0000: syntax error, unexpected $end at token "<EOF>"
17:09:04: OGRE EXCEPTION(3:RenderingAPIException): Vertex Program FFPLib_Transform_VS failed to compile. See compile log above for details. in GLSLProgram::compile at /home/dermont/Development/OGRE/src/v1-9/RenderSystems/GL3Plus/src/GLSL/src/OgreGLSLProgram.cpp (line 257)
17:09:04: GLSL compile log: FFPLib_Transform_VS
(0) : error C0000: syntax error, unexpected $end at token "<EOF>"
17:09:04: OGRE EXCEPTION(3:RenderingAPIException): Vertex Program FFPLib_Transform_VS failed to compile. See compile log above for details. in GLSLProgram::compile at /home/dermont/Development/OGRE/src/v1-9/RenderSystems/GL3Plus/src/GLSL/src/OgreGLSLProgram.cpp (line 257)
17:09:04: GLSL compile log: FFPLib_Transform_VS
(0) : error C0000: syntax error, unexpected $end at token "<EOF>"
17:09:04: OGRE EXCEPTION(3:RenderingAPIException): Vertex Program FFPLib_Transform_VS failed to compile. See compile log above for details. in GLSLProgram::compile at /home/dermont/Development/OGRE/src/v1-9/RenderSystems/GL3Plus/src/GLSL/src/OgreGLSLProgram.cpp (line 257)
17:09:04: GLSL compile log: FFPLib_Transform_VS
(0) : error C0000: syntax error, unexpected $end at token "<EOF>"
17:09:04: OGRE EXCEPTION(3:RenderingAPIException): Vertex Program FFPLib_Transform_VS failed to compile. See compile log above for details. in GLSLProgram::compile at /home/dermont/Development/OGRE/src/v1-9/RenderSystems/GL3Plus/src/GLSL/src/OgreGLSLProgram.cpp (line 257)
17:09:04: GLSL compile log: FFPLib_Transform_VS
(0) : error C0000: syntax error, unexpected $end at token "<EOF>"
17:09:04: OGRE EXCEPTION(3:RenderingAPIException): Vertex Program FFPLib_Transform_VS failed to compile. See compile log above for details. in GLSLProgram::compile at /home/dermont/Development/OGRE/src/v1-9/RenderSystems/GL3Plus/src/GLSL/src/OgreGLSLProgram.cpp (line 257)
17:09:04: GLSL compile log: FFPLib_Transform_VS
(0) : error C0000: syntax error, unexpected $end at token "<EOF>"
17:09:04: OGRE EXCEPTION(3:RenderingAPIException): Vertex Program FFPLib_Transform_VS failed to compile. See compile log above for details. in GLSLProgram::compile at /home/dermont/Development/OGRE/src/v1-9/RenderSystems/GL3Plus/src/GLSL/src/OgreGLSLProgram.cpp (line 257)
17:09:04: GLSL compile log: FFPLib_Transform_VS
(0) : error C0000: syntax error, unexpected $end at token "<EOF>"
17:09:04: OGRE EXCEPTION(3:RenderingAPIException): Vertex Program FFPLib_Transform_VS failed to compile. See compile log above for details. in GLSLProgram::compile at /home/dermont/Development/OGRE/src/v1-9/RenderSystems/GL3Plus/src/GLSL/src/OgreGLSLProgram.cpp (line 257)
17:09:04: GLSL compile log: FFPLib_Transform_VS
(0) : error C0000: syntax error, unexpected $end at token "<EOF>"
17:09:04: OGRE EXCEPTION(3:RenderingAPIException): Vertex Program FFPLib_Transform_VS failed to compile. See compile log above for details. in GLSLProgram::compile at /home/dermont/Development/OGRE/src/v1-9/RenderSystems/GL3Plus/src/GLSL/src/OgreGLSLProgram.cpp (line 257)
17:09:04: GLSL compile log: FFPLib_Transform_VS
(0) : error C0000: syntax error, unexpected $end at token "<EOF>"
17:09:04: OGRE EXCEPTION(3:RenderingAPIException): Vertex Program FFPLib_Transform_VS failed to compile. See compile log above for details. in GLSLProgram::compile at /home/dermont/Development/OGRE/src/v1-9/RenderSystems/GL3Plus/src/GLSL/src/OgreGLSLProgram.cpp (line 257)
17:09:04: GLSL compile log: FFPLib_Transform_VS
(0) : error C0000: syntax error, unexpected $end at token "<EOF>"
17:09:04: OGRE EXCEPTION(3:RenderingAPIException): Vertex Program FFPLib_Transform_VS failed to compile. See compile log above for details. in GLSLProgram::compile at /home/dermont/Development/OGRE/src/v1-9/RenderSystems/GL3Plus/src/GLSL/src/OgreGLSLProgram.cpp (line 257)
17:09:04: GLSL compile log: FFPLib_Transform_VS
(0) : error C0000: syntax error, unexpected $end at token "<EOF>"
17:09:04: OGRE EXCEPTION(3:RenderingAPIException): Vertex Program FFPLib_Transform_VS failed to compile. See compile log above for details. in GLSLProgram::compile at /home/dermont/Development/OGRE/src/v1-9/RenderSystems/GL3Plus/src/GLSL/src/OgreGLSLProgram.cpp (line 257)
17:09:04: GLSL compile log: FFPLib_Transform_VS
(0) : error C0000: syntax error, unexpected $end at token "<EOF>"
17:09:04: OGRE EXCEPTION(3:RenderingAPIException): Vertex Program FFPLib_Transform_VS failed to compile. See compile log above for details. in GLSLProgram::compile at /home/dermont/Development/OGRE/src/v1-9/RenderSystems/GL3Plus/src/GLSL/src/OgreGLSLProgram.cpp (line 257)
17:09:04: Parsing script Examples.program
17:09:04: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource AmbientOneTexture.glsl in resource group Popular or any other group. in ResourceGroupManager::openResource at /home/dermont/Development/OGRE/src/v1-9/OgreMain/src/OgreResourceGroupManager.cpp (line 756)
17:09:04: High-level program Ogre/BasicVertexPrograms/AmbientOneTextureGLSL encountered an error during loading and is thus not supported.
OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource AmbientOneTexture.glsl in resource group Popular or any other group. in ResourceGroupManager::openResource at /home/dermont/Development/OGRE/src/v1-9/OgreMain/src/OgreResourceGroupManager.cpp (line 756)
17:09:04: OGRE EXCEPTION(2:InvalidParametersException): Named constants have not been initialised, perhaps a compile error. in GpuProgramParameters::_findNamedConstantDefinition at /home/dermont/Development/OGRE/src/v1-9/OgreMain/src/OgreGpuProgramParams.cpp (line 1625)
17:09:04: Compiler error: invalid parameters in Examples.program(63): setting of constant failed
17:09:04: OGRE EXCEPTION(2:InvalidParametersException): Named constants have not been initialised, perhaps a compile error. in GpuProgramParameters::_findNamedConstantDefinition at /home/dermont/Development/OGRE/src/v1-9/OgreMain/src/OgreGpuProgramParams.cpp (line 1625)
17:09:04: Compiler error: invalid parameters in Examples.program(64): setting of constant failed
17:09:04: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource AmbientOneTextureWithUV.glsl in resource group Popular or any other group. in ResourceGroupManager::openResource at /home/dermont/Development/OGRE/src/v1-9/OgreMain/src/OgreResourceGroupManager.cpp (line 756)
17:09:04: High-level program Ogre/BasicVertexPrograms/AmbientOneTextureWithUVGLSL encountered an error during loading and is thus not supported.
OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource AmbientOneTextureWithUV.glsl in resource group Popular or any other group. in ResourceGroupManager::openResource at /home/dermont/Development/OGRE/src/v1-9/OgreMain/src/OgreResourceGroupManager.cpp (line 756)
17:09:04: OGRE EXCEPTION(2:InvalidParametersException): Named constants have not been initialised, perhaps a compile error. in GpuProgramParameters::_findNamedConstantDefinition at /home/dermont/Development/OGRE/src/v1-9/OgreMain/src/OgreGpuProgramParams.cpp (line 1625)
17:09:04: Compiler error: invalid parameters in Examples.program(98): setting of constant failed
17:09:04: OGRE EXCEPTION(2:InvalidParametersException): Named constants have not been initialised, perhaps a compile error. in GpuProgramParameters::_findNamedConstantDefinition at /home/dermont/Development/OGRE/src/v1-9/OgreMain/src/OgreGpuProgramParams.cpp (line 1625)
17:09:04: Compiler error: invalid parameters in Examples.program(99): setting of constant failed
17:09:04: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource DiffuseOneTexture.glsl in resource group Popular or any other group. in ResourceGroupManager::openResource at /home/dermont/Development/OGRE/src/v1-9/OgreMain/src/OgreResourceGroupManager.cpp (line 756)
17:09:04: High-level program Ogre/BasicFragmentPrograms/DiffuseOneTextureGLSL encountered an error during loading and is thus not supported.
OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource DiffuseOneTexture.glsl in resource group Popular or any other group. in ResourceGroupManager::openResource at /home/dermont/Development/OGRE/src/v1-9/OgreMain/src/OgreResourceGroupManager.cpp (line 756)
17:09:04: OGRE EXCEPTION(2:InvalidParametersException): Named constants have not been initialised, perhaps a compile error. in GpuProgramParameters::_findNamedConstantDefinition at /home/dermont/Development/OGRE/src/v1-9/OgreMain/src/OgreGpuProgramParams.cpp (line 1625)
17:09:04: Compiler error: invalid parameters in Examples.program(142): setting of constant failed
17:09:04: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource skinningTwoWeightsVp.glsl in resource group Popular or any other group. in ResourceGroupManager::openResource at /home/dermont/Development/OGRE/src/v1-9/OgreMain/src/OgreResourceGroupManager.cpp (line 756)
17:09:04: High-level program Ogre/HardwareSkinningTwoWeightsGLSL encountered an error during loading and is thus not supported.
OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource skinningTwoWeightsVp.glsl in resource group Popular or any other group. in ResourceGroupManager::openResource at /home/dermont/Development/OGRE/src/v1-9/OgreMain/src/OgreResourceGroupManager.cpp (line 756)
17:09:04: OGRE EXCEPTION(2:InvalidParametersException): Named constants have not been initialised, perhaps a compile error. in GpuProgramParameters::_findNamedConstantDefinition at /home/dermont/Development/OGRE/src/v1-9/OgreMain/src/OgreGpuProgramParams.cpp (line 1625)
17:09:04: Compiler error: invalid parameters in Examples.program(293): setting of constant failed
17:09:04: OGRE EXCEPTION(2:InvalidParametersException): Named constants have not been initialised, perhaps a compile error. in GpuProgramParameters::_findNamedConstantDefinition at /home/dermont/Development/OGRE/src/v1-9/OgreMain/src/OgreGpuProgramParams.cpp (line 1625)
17:09:04: Compiler error: invalid parameters in Examples.program(294): setting of constant failed
17:09:04: OGRE EXCEPTION(2:InvalidParametersException): Named constants have not been initialised, perhaps a compile error. in GpuProgramParameters::_findNamedConstantDefinition at /home/dermont/Development/OGRE/src/v1-9/OgreMain/src/OgreGpuProgramParams.cpp (line 1625)
17:09:04: Compiler error: invalid parameters in Examples.program(295): setting of constant failed
17:09:04: OGRE EXCEPTION(2:InvalidParametersException): Named constants have not been initialised, perhaps a compile error. in GpuProgramParameters::_findNamedConstantDefinition at /home/dermont/Development/OGRE/src/v1-9/OgreMain/src/OgreGpuProgramParams.cpp (line 1625)
17:09:04: Compiler error: invalid parameters in Examples.program(296): setting of constant failed
17:09:04: OGRE EXCEPTION(2:InvalidParametersException): Named constants have not been initialised, perhaps a compile error. in GpuProgramParameters::_findNamedConstantDefinition at /home/dermont/Development/OGRE/src/v1-9/OgreMain/src/OgreGpuProgramParams.cpp (line 1625)
17:09:04: Compiler error: invalid parameters in Examples.program(297): setting of constant failed
17:09:04: OGRE EXCEPTION(2:InvalidParametersException): Named constants have not been initialised, perhaps a compile error. in GpuProgramParameters::_findNamedConstantDefinition at /home/dermont/Development/OGRE/src/v1-9/OgreMain/src/OgreGpuProgramParams.cpp (line 1625)
17:09:04: Compiler error: invalid parameters in Examples.program(298): setting of constant failed
17:09:04: OGRE EXCEPTION(2:InvalidParametersException): Named constants have not been initialised, perhaps a compile error. in GpuProgramParameters::_findNamedConstantDefinition at /home/dermont/Development/OGRE/src/v1-9/OgreMain/src/OgreGpuProgramParams.cpp (line 1625)
17:09:04: Compiler error: invalid parameters in Examples.program(299): setting of constant failed
17:09:04: OGRE EXCEPTION(2:InvalidParametersException): Named constants have not been initialised, perhaps a compile error. in GpuProgramParameters::_findNamedConstantDefinition at /home/dermont/Development/OGRE/src/v1-9/OgreMain/src/OgreGpuProgramParams.cpp (line 1625)
17:09:04: Compiler error: invalid parameters in Examples.program(301): setting of constant failed
17:09:04: GLSL compile log: FFPLib_Transform_VS
(0) : error C0000: syntax error, unexpected $end at token "<EOF>"
17:09:04: OGRE EXCEPTION(3:RenderingAPIException): Vertex Program FFPLib_Transform_VS failed to compile. See compile log above for details. in GLSLProgram::compile at /home/dermont/Development/OGRE/src/v1-9/RenderSystems/GL3Plus/src/GLSL/src/OgreGLSLProgram.cpp (line 257)
17:09:04: GLSL compile log: FFPLib_Transform_VS
(0) : error C0000: syntax error, unexpected $end at token "<EOF>"
17:09:04: OGRE EXCEPTION(3:RenderingAPIException): Vertex Program FFPLib_Transform_VS failed to compile. See compile log above for details. in GLSLProgram::compile at /home/dermont/Development/OGRE/src/v1-9/RenderSystems/GL3Plus/src/GLSL/src/OgreGLSLProgram.cpp (line 257)
17:09:04: GLSL compile log: FFPLib_Transform_VS
(0) : error C0000: syntax error, unexpected $end at token "<EOF>"
17:09:04: OGRE EXCEPTION(3:RenderingAPIException): Vertex Program FFPLib_Transform_VS failed to compile. See compile log above for details. in GLSLProgram::compile at /home/dermont/Development/OGRE/src/v1-9/RenderSystems/GL3Plus/src/GLSL/src/OgreGLSLProgram.cpp (line 257)
17:09:04: GLSL compile log: FFPLib_Transform_VS
(0) : error C0000: syntax error, unexpected $end at token "<EOF>"
17:09:04: OGRE EXCEPTION(3:RenderingAPIException): Vertex Program FFPLib_Transform_VS failed to compile. See compile log above for details. in GLSLProgram::compile at /home/dermont/Development/OGRE/src/v1-9/RenderSystems/GL3Plus/src/GLSL/src/OgreGLSLProgram.cpp (line 257)
17:09:04: GLSL compile log: FFPLib_Transform_VS
(0) : error C0000: syntax error, unexpected $end at token "<EOF>"
17:09:04: OGRE EXCEPTION(3:RenderingAPIException): Vertex Program FFPLib_Transform_VS failed to compile. See compile log above for details. in GLSLProgram::compile at /home/dermont/Development/OGRE/src/v1-9/RenderSystems/GL3Plus/src/GLSL/src/OgreGLSLProgram.cpp (line 257)
17:09:04: GLSL compile log: FFPLib_Transform_VS
(0) : error C0000: syntax error, unexpected $end at token "<EOF>"
17:09:04: OGRE EXCEPTION(3:RenderingAPIException): Vertex Program FFPLib_Transform_VS failed to compile. See compile log above for details. in GLSLProgram::compile at /home/dermont/Development/OGRE/src/v1-9/RenderSystems/GL3Plus/src/GLSL/src/OgreGLSLProgram.cpp (line 257)
17:09:04: GLSL compile log: FFPLib_Transform_VS
(0) : error C0000: syntax error, unexpected $end at token "<EOF>"
17:09:04: OGRE EXCEPTION(3:RenderingAPIException): Vertex Program FFPLib_Transform_VS failed to compile. See compile log above for details. in GLSLProgram::compile at /home/dermont/Development/OGRE/src/v1-9/RenderSystems/GL3Plus/src/GLSL/src/OgreGLSLProgram.cpp (line 257)
17:09:04: GLSL compile log: FFPLib_Transform_VS
(0) : error C0000: syntax error, unexpected $end at token "<EOF>"
17:09:04: OGRE EXCEPTION(3:RenderingAPIException): Vertex Program FFPLib_Transform_VS failed to compile. See compile log above for details. in GLSLProgram::compile at /home/dermont/Development/OGRE/src/v1-9/RenderSystems/GL3Plus/src/GLSL/src/OgreGLSLProgram.cpp (line 257)
17:09:04: GLSL compile log: FFPLib_Transform_VS
(0) : error C0000: syntax error, unexpected $end at token "<EOF>"
17:09:04: OGRE EXCEPTION(3:RenderingAPIException): Vertex Program FFPLib_Transform_VS failed to compile. See compile log above for details. in GLSLProgram::compile at /home/dermont/Development/OGRE/src/v1-9/RenderSystems/GL3Plus/src/GLSL/src/OgreGLSLProgram.cpp (line 257)
17:09:04: GLSL compile log: FFPLib_Transform_VS
(0) : error C0000: syntax error, unexpected $end at token "<EOF>"
17:09:04: OGRE EXCEPTION(3:RenderingAPIException): Vertex Program FFPLib_Transform_VS failed to compile. See compile log above for details. in GLSLProgram::compile at /home/dermont/Development/OGRE/src/v1-9/RenderSystems/GL3Plus/src/GLSL/src/OgreGLSLProgram.cpp (line 257)
17:09:04: GLSL compile log: FFPLib_Transform_VS
(0) : error C0000: syntax error, unexpected $end at token "<EOF>"
17:09:04: OGRE EXCEPTION(3:RenderingAPIException): Vertex Program FFPLib_Transform_VS failed to compile. See compile log above for details. in GLSLProgram::compile at /home/dermont/Development/OGRE/src/v1-9/RenderSystems/GL3Plus/src/GLSL/src/OgreGLSLProgram.cpp (line 257)
17:09:04: GLSL compile log: FFPLib_Transform_VS
(0) : error C0000: syntax error, unexpected $end at token "<EOF>"
17:09:04: OGRE EXCEPTION(3:RenderingAPIException): Vertex Program FFPLib_Transform_VS failed to compile. See compile log above for details. in GLSLProgram::compile at /home/dermont/Development/OGRE/src/v1-9/RenderSystems/GL3Plus/src/GLSL/src/OgreGLSLProgram.cpp (line 257)
17:09:04: GLSL compile log: FFPLib_Transform_VS
(0) : error C0000: syntax error, unexpected $end at token "<EOF>"
17:09:04: OGRE EXCEPTION(3:RenderingAPIException): Vertex Program FFPLib_Transform_VS failed to compile. See compile log above for details. in GLSLProgram::compile at /home/dermont/Development/OGRE/src/v1-9/RenderSystems/GL3Plus/src/GLSL/src/OgreGLSLProgram.cpp (line 257)
17:09:04: GLSL compile log: FFPLib_Transform_VS
(0) : error C0000: syntax error, unexpected $end at token "<EOF>"
17:09:04: OGRE EXCEPTION(3:RenderingAPIException): Vertex Program FFPLib_Transform_VS failed to compile. See compile log above for details. in GLSLProgram::compile at /home/dermont/Development/OGRE/src/v1-9/RenderSystems/GL3Plus/src/GLSL/src/OgreGLSLProgram.cpp (line 257)
17:09:04: Parsing script Instancing.program
17:09:04: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource shadows.glsl in resource group Popular or any other group. in ResourceGroupManager::openResource at /home/dermont/Development/OGRE/src/v1-9/OgreMain/src/OgreResourceGroupManager.cpp (line 756)
User avatar
masterfalcon
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 4270
Joined: Sun Feb 25, 2007 4:56 am
Location: Bloomington, MN
x 126

Re: OpenGL 3+ RenderSystem

Post by masterfalcon »

I have not. Would you be able to provide the whole ogre.log?
dermont
Bugbear
Posts: 812
Joined: Thu Dec 09, 2004 2:51 am
x 42

Re: OpenGL 3+ RenderSystem

Post by dermont »

masterfalcon wrote:I have not. Would you be able to provide the whole ogre.log?
OpenGL 3.3.0 NVIDIA 304.51 GLX 1.4

GLSL version numbers as per:
http://www.opengl.org/wiki/Detecting_the_Shader_Model

Code: Select all

 log from glx crash
http://www.pasteall.org/40658

Code: Select all

GLX_CONTEXT_MAJOR_VERSION_ARB, 3,
GLX_CONTEXT_MINOR_VERSION_ARB, 3,
a) log using original resources.cfg
http://www.pasteall.org/40655

b) log using modified resources file, added paths for programs/GLSL150. This works in that SampleBrowser loads, some demos work OK, some crash, software skinning only and some resource problems. I'm not sure what the contents of resources.cfg should now be.
log file - http://www.pasteall.org/40656
resources file - http://www.pasteall.org/40657

Code: Select all

GLX_CONTEXT_MAJOR_VERSION_ARB, 3,
GLX_CONTEXT_MINOR_VERSION_ARB, 2,
log file - http://www.pasteall.org/40654

Code: Select all

GLX_CONTEXT_MAJOR_VERSION_ARB, 3,
GLX_CONTEXT_MINOR_VERSION_ARB, 0,
log file - http://www.pasteall.org/40653
User avatar
masterfalcon
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 4270
Joined: Sun Feb 25, 2007 4:56 am
Location: Bloomington, MN
x 126

Re: OpenGL 3+ RenderSystem

Post by masterfalcon »

Just a quick question regarding those logs. The path is kind of odd, are you building from source? And if so, where on your filesystem?
dermont
Bugbear
Posts: 812
Joined: Thu Dec 09, 2004 2:51 am
x 42

Re: OpenGL 3+ RenderSystem

Post by dermont »

masterfalcon wrote:Just a quick question regarding those logs. The path is kind of odd, are you building from source? And if so, where on your filesystem?
Yes I'm building from source, how else would I be able to change the context versions? Anyway AFAIK there isn't a prebuilt package for 1.9 and I've always built from source anyway.

What is odd about the path? Anyway to answer your question:

source dir - /home/dermont/Development/OGRE/src/v1-9
build dir - /home/dermont/Development/OGRE/build/v1-9
install dir - /home/dermont/Development/OGRE/sdk/v1-9

Same dir structure for 1-7/1-8 and default .
User avatar
bvanevery
Goblin
Posts: 218
Joined: Wed Feb 28, 2007 4:54 am
Location: Asheville, NC
x 7

Re: OpenGL 3+ RenderSystem

Post by bvanevery »

I've gotten somewhat up to speed on using KDevelop4 to debug. Like the other poster, it bombs in glXCreateContextAttribsARB. I also have an OpenGL 3.x only vintage card, an NVIDIA GeForce 8600M GT. Lubuntu 12.10 with driver 310.14 Beta/Experimental from the Ubuntu "Quantal Updates" repository. So experimental, but not some weird fly-by-night driver. I'm building from source, didn't know there was some other way for 1.9+ on Linux. Path weirdness could be from doing CMake "out of directory" builds, for instance my untouched code is in devel/ogre and my actual build with all the nasty CMake files is in devel/kde/ogre.
User avatar
masterfalcon
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 4270
Joined: Sun Feb 25, 2007 4:56 am
Location: Bloomington, MN
x 126

Re: OpenGL 3+ RenderSystem

Post by masterfalcon »

I think that's the issue there. Try setting up your build directory as a subdirectory of the source. Sounds like other setups may need some more testing.
User avatar
bvanevery
Goblin
Posts: 218
Joined: Wed Feb 28, 2007 4:54 am
Location: Asheville, NC
x 7

Re: OpenGL 3+ RenderSystem

Post by bvanevery »

An installed SampleBrowser is supposed to work, nothing to do with build directories. So I will try that after lunch. I will also do the build "your way" just to prove that this line of thinking isn't much worth chasing down in the future, but the build takes awhile on my box. So between lunch and then back to building, it'll be a few hours.

Ok I did a totally clean build "my way," using KDevelop4 an independent build directory, then installing to the default /usr/local. Had to run sudo ldconfig to get SampleBrowser_d to find some shared library, no big deal. In the installed scenario, SampleBrowser_d fails with exactly the same error messages as previously reported. So if it's a build bug, it's also an installation bug, and I doubt both. Moving on to building things "your way."

For "your way" I cloned my local Mercurial repository to another directory. That would eliminate any stray files, such as from KDevelop. I configured it with standalone CMake rather than using KDevelop, and gave it a target subdirectory of /build. Then I ran "make" in a shell. I did cd ogre/build/bin and ran ./SampleBrowser from that directory. It fails with exactly the same error as previously reported.

Also, when I previously built the default GL renderer, not GL3, I remember SampleBrowser working just fine.
dermont
Bugbear
Posts: 812
Joined: Thu Dec 09, 2004 2:51 am
x 42

Re: OpenGL 3+ RenderSystem

Post by dermont »

bvanevery wrote:An installed SampleBrowser is supposed to work, nothing to do with build directories. So I will try that after lunch. I will also do the build "your way" just to prove that this line of thinking isn't much worth chasing down in the future, but the build takes awhile on my box. So between lunch and then back to building, it'll be a few hours.

Ok I did a totally clean build "my way," using KDevelop4 an independent build directory, then installing to the default /usr/local. Had to run sudo ldconfig to get SampleBrowser_d to find some shared library, no big deal. In the installed scenario, SampleBrowser_d fails with exactly the same error messages as previously reported. So if it's a build bug, it's also an installation bug, and I doubt both. Moving on to building things "your way."

For "your way" I cloned my local Mercurial repository to another directory. That would eliminate any stray files, such as from KDevelop. I configured it with standalone CMake rather than using KDevelop, and gave it a target subdirectory of /build. Then I ran "make" in a shell. I did cd ogre/build/bin and ran ./SampleBrowser from that directory. It fails with exactly the same error as previously reported.

Also, when I previously built the default GL renderer, not GL3, I remember SampleBrowser working just fine.
I don't think your BadMatch error is related to your paths. Have you tried implementing an ErrorHandler in OgreGLXGLSupport.cpp (createNewContext)?, e.g:

Code: Select all

...

static bool ctxErrorOccurred = false;
static int ctxErrorHandler( Display *dpy, XErrorEvent *ev )
{
    ctxErrorOccurred = true;
    return 0;
}

...
    //-------------------------------------------------------------------------------------------------//
    ::GLXContext GLXGLSupport::createNewContext(GLXFBConfig fbConfig, GLint renderType, ::GLXContext shareList, GLboolean direct) const
    {
        ::GLXContext glxContext=0;
        int context_attribs[] =
        {
            GLX_CONTEXT_MAJOR_VERSION_ARB, 5,
            GLX_CONTEXT_MINOR_VERSION_ARB, 0,
            GLX_CONTEXT_PROFILE_MASK_ARB, GLX_CONTEXT_CORE_PROFILE_BIT_ARB, 
            None
        };

        ctxErrorOccurred = false;
        int (*oldHandler)(Display*, XErrorEvent*) =
            XSetErrorHandler(&ctxErrorHandler);

        // Try to get the best core profile context possible. Working backwards by versions until we find one that is acceptable.

        while(!glxContext && (context_attribs[1] >= 3))
        {
            ctxErrorOccurred = false;
            glxContext = glXCreateContextAttribsARB(mGLDisplay, fbConfig, shareList, direct, context_attribs);
            // Sync to ensure any errors generated are processed.
            XSync( mGLDisplay, False );
            if ( !ctxErrorOccurred && glxContext )
            {
                LogManager::getSingleton().logMessage("Created GL " + StringConverter::toString(context_attribs[1]) + "." + StringConverter::toString(context_attribs[3]) + " context" );
            }
            else
            {
                if(context_attribs[3] == 0)
                {
                    context_attribs[1] -= 1;
                    context_attribs[3] = 5;
                }
                else
                {
                    context_attribs[3] -= 1;
                }
            }
        }
        // Sync to ensure any errors generated are processed.
        XSync( mGLDisplay, False );
 
        // Restore the original error handler
        XSetErrorHandler( oldHandler );
 
        if ( ctxErrorOccurred || !glxContext )
            LogManager::getSingleton().logMessage("Failed to create an OpenGL 3+ context");

        return glxContext;
    }
dermont
Bugbear
Posts: 812
Joined: Thu Dec 09, 2004 2:51 am
x 42

Re: OpenGL 3+ RenderSystem

Post by dermont »

dermont wrote:
masterfalcon wrote:I have not. Would you be able to provide the whole ogre.log?
OpenGL 3.3.0 NVIDIA 304.51 GLX 1.4


b) log using modified resources file, added paths for programs/GLSL150. This works in that SampleBrowser loads, some demos work OK, some crash, software skinning only and some resource problems. I'm not sure what the contents of resources.cfg should now be.
Ok I think it is a case issue in SampleContext.h where all the Media/ dirs should be lower case media/.

//addResourceLocation(arch + "Media/materials/programs/GLSL150", type, sec);
addResourceLocation(arch + "media/materials/programs/GLSL150", type, sec);
User avatar
bvanevery
Goblin
Posts: 218
Joined: Wed Feb 28, 2007 4:54 am
Location: Asheville, NC
x 7

Re: OpenGL 3+ RenderSystem

Post by bvanevery »

Well paths are case sensitive on Linux, so it would explain a lot. However I'm noticing that the source path ogre/Samples/Media is capitalized, and the installation path /usr/local/share/OGRE/media is lowercase. So I guess the source directory should also be changed to ogre/Samples/media .
User avatar
holocronweaver
Google Summer of Code Student
Google Summer of Code Student
Posts: 273
Joined: Mon Oct 29, 2012 8:52 pm
Location: Princeton, NJ
x 47

Re: OpenGL 3+ RenderSystem

Post by holocronweaver »

I just want to chime in that I have tested the sample browser on Linux (Ubuntu 13.04; AMD HD 6950) using the latest pull of v1-9 from and my results were identical to those of Transporter. I am glad to see that the sample browser is finally working with GL3+ on Linux and that most samples are nearly fully operational. Awesome work masterfalcon!

In a month or two I will try once more to use tessellation shaders in Ogre, so I will more likely than not be digging through the GL3+ code to help fix any lingering problems pertaining to my application. Expect questions from me. :)
User avatar
bvanevery
Goblin
Posts: 218
Joined: Wed Feb 28, 2007 4:54 am
Location: Asheville, NC
x 7

Re: OpenGL 3+ RenderSystem

Post by bvanevery »

Looking at the sources today, I believe all lowercase instances of "media" are errors. This includes the directory installation portion of Samples/Media/CMakeLists.txt. Why on Earth should some platforms be lowercased? I think this is just some cross-platform cruft that has crept in.

Unfortunately, sanitizing everything to "Media" hasn't eliminated the problem.
User avatar
bvanevery
Goblin
Posts: 218
Joined: Wed Feb 28, 2007 4:54 am
Location: Asheville, NC
x 7

Re: OpenGL 3+ RenderSystem

Post by bvanevery »

Dermont, I'm starting to wonder if this is some kind of Lubuntu 12.10 X11 specific configuration issue. I find the "50 Hz" value in my configuration to be rather mysterious, as I didn't think that was a proper laptop LCD frequency. I notice that my system does not have an /etc/X11/xorg.conf file, per various things I've briefly searched on the web about. I'm going up a learning curve of how things are supposed to be configured and what files should be present. My question for you is, what system are you using? Maybe we've both got "odd" Linuxes with old OpenGL 3.x only HW and that's why we're the ones seeing the problems.
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179

Re: OpenGL 3+ RenderSystem

Post by jacmoe »

The topic hi-jack (by a moderator, of all things!) has been split out to this off-topic topic: http://www.ogre3d.org/forums/viewtopic.php?f=16&t=76923
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
bvanevery
Goblin
Posts: 218
Joined: Wed Feb 28, 2007 4:54 am
Location: Asheville, NC
x 7

Re: OpenGL 3+ RenderSystem

Post by bvanevery »

Circumstantial evidence that I'm suffering a problem specific to the NVIDIA GeForce 8x00 Gx series cards.
It was also with me on Nvidia 8400GS, I was getting only 50hz instead of 60hz which my Viewsonic VA1912wb LCD monitor supports.
Better switch to nouveau driver, which will get us better refresh rates. After switching to nouveau driver, i get 59.9 refresh rate. Using lower refresh rates tires and hurts the eyes quickly. Now that nouveau drivers with 3d is pretty usable. NVidia closed source drivers will only get reduced refresh rates. Just my 2 cents.
I have a GeForce 8600M GT. That post was from June 2011, so don't know what current circumstances are.
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179

Re: OpenGL 3+ RenderSystem

Post by jacmoe »

I am running OpenGL 4.3 and also have 50hZ refresh rate:
OpenGL renderer string: GeForce GT 430/PCIe/SSE2
OpenGL version string: 4.3.0 NVIDIA 313.26
<edit> This is a desktop machine, btw. With a decent Samsung widescreen monitor. </edit>

I haven't good experiences with nouveau (it was crap) in the past, but if this is true..
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
bvanevery
Goblin
Posts: 218
Joined: Wed Feb 28, 2007 4:54 am
Location: Asheville, NC
x 7

Re: OpenGL 3+ RenderSystem

Post by bvanevery »

Seems that 50 Hz may be weird on NVIDIA in general. Something about frontend and backend resolutions.
Problem 2: Even with DynamicTwinView disabled, xrandr can still report a refresh rate of 50hz while it is in reality is 60Hz (This is related to the nVIDIA driver’s concept of frontend and backend resolution).

The following options will tell the nVIDIA driver to allow 50Hz backend modes in some cases where it would otherwise map your frontend custom modelines to a 60hz backend resolution:
Having no xorg.conf on Ubuntu is normal. Settings are supposed to be detected automatically, although an xorg.conf file can be made to configure things manually.
dermont
Bugbear
Posts: 812
Joined: Thu Dec 09, 2004 2:51 am
x 42

Re: OpenGL 3+ RenderSystem

Post by dermont »

bvanevery wrote:Looking at the sources today, I believe all lowercase instances of "media" are errors. This includes the directory installation portion of Samples/Media/CMakeLists.txt. Why on Earth should some platforms be lowercased? I think this is just some cross-platform cruft that has crept in.

Unfortunately, sanitizing everything to "Media" hasn't eliminated the problem.
I think the confusion arises on Linux for the media dir due to the fact the build dir resources.cfg points to the source media <source_dir>/Samples/Media and the CMake build installs to <install_dir>/share/OGRE/media and the install resources.cfg points to that location.

Code: Select all

InstallResources.cmake

elseif (UNIX)
  set(OGRE_MEDIA_PATH "share/OGRE/media")
So if you run SampleBrowser from the install dir you may run into problems.
dermont
Bugbear
Posts: 812
Joined: Thu Dec 09, 2004 2:51 am
x 42

Re: OpenGL 3+ RenderSystem

Post by dermont »

bvanevery wrote:Dermont, I'm starting to wonder if this is some kind of Lubuntu 12.10 X11 specific configuration issue. I find the "50 Hz" value in my configuration to be rather mysterious, as I didn't think that was a proper laptop LCD frequency. I notice that my system does not have an /etc/X11/xorg.conf file, per various things I've briefly searched on the web about. I'm going up a learning curve of how things are supposed to be configured and what files should be present. My question for you is, what system are you using? Maybe we've both got "odd" Linuxes with old OpenGL 3.x only HW and that's why we're the ones seeing the problems.
Not sure it's related to Lubuntu, with 290.10 the "50 Hz" issue only occurred when TwinView was enabled and you could disable that from nvidia-settings and create your own xorg.conf file.

For 12.10 I'm using gnome, 304.51 driver the nvidia-settings is weird and I'm not sure that the xorg.conf is still being used.

I'm going to try building/installing the latest propriety drivers from NVidia. Not sure how difficult that is with 12.10 but with each passing version of Ubuntu it becomes more of a pain.