PDA

View Full Version : OpenGL don't support Pixel Buffer and Shader Objects



Gandhi
07-17-2013, 09:21 PM
Hi. I'm new user of ClanLib and I'm very glad, that finally I found really good c++ game engine.

I downloaded ClanLib3.0 and when I was looked on examples, I tried to open PixelBuffer and PointSprite Examples (from Display_Render), but I had this error.


Exception caught: Shader Objects are not supported for OpenGL 1.3
at clan::System::capture_stack_trace(int, int, void**, unsigned int*) (/usr/local/lib/libclan30Core-3.0.so.1)
at clan::Exception::Exception(std::string const&) (/usr/local/lib/libclan30Core-3.0.so.1)
at clan::GL1GraphicContextProvider::alloc_shader_obje ct() (/usr/local/lib/libclan30GL-3.0.so.1)
at clan::ShaderObject::ShaderObject(clan::GraphicCont ext&, clan::ShaderType, std::string const&) (/usr/local/lib/libclan30Display-3.0.so.1)
at (./pointsprite)
at (./pointsprite)
at main (/usr/local/lib/libclan30App-3.0.so.1)
at __libc_start_main (/lib/i386-linux-gnu/libc.so.6)
at (./pointsprite)


I don't have idea how to repair this, I can't update opengl and nothing.

Please respond me how to fix it.

Bless.

Judas
07-17-2013, 11:00 PM
That error means that OpenGL on your machine is significantly out of date. Possible causes:


You are using a very old driver version. Check if there's a newer one.
You are not using the binary display driver from your hardware vendor, and the open source driver you are using doesn't support any modern version of OpenGL.
Your graphics card might not support modern versions of OpenGL (typically true for older embedded Intel graphics)
You found a bug in the OpenGL version detection code in ClanLib (fairly unlikely).


ClanLib can use older versions (pre 3.0) of OpenGL, but with a reduced feature set. The examples you are trying to run require those extra features and therefore cannot run on really old versions of OpenGL.

Gandhi
07-21-2013, 09:57 PM
Thanks Judas, You have right. I've forgot to install graphic card drivers (ati catalyst for me), and now I'm don't have this error.

I very like examples included in ClanLib, but I've found some errors:

in Display_Render/PointSprite, when executing:

Exception caught: Unable to compile fragment shader object: Fragment shader failed to compile with the following errors:
ERROR: error(#271) Explicit version number 120 not supported by GL3 forward compatible context
ERROR: error(#273) 1 compilation errors. No code generated


at clan::System::capture_stack_trace(int, int, void**, unsigned int*) (/lib/libclan30Core-3.0.so.1)
at clan::Exception::Exception(std::string const&) (/lib/libclan30Core-3.0.so.1)
at (./pointsprite)
at (./pointsprite)
at main (/lib/libclan30App-3.0.so.1)
at __libc_start_main (/lib/libc.so.6)
at (./pointsprite)


and in Game/DiceWar, when compiling client: http://pastebin.com/raw.php?i=m33QYt2Q
VertexArrayBuffer in ClanLib-3.0 don't have functions lock and unlock (http://clanlib.org/docs/clanlib-3.0/reference_doxygen/classclan_1_1VertexArrayBuffer.html), so how I can fix it?