Thread: [Jahshaka-cvs] SF.net SVN: openlibraries: [1375] trunk/src/openpluginlib/pl/shader_manager .cpp
Status: Beta
Brought to you by:
jahshaka
From: <tim...@us...> - 2008-05-28 08:59:47
|
Revision: 1375 http://openlibraries.svn.sourceforge.net/openlibraries/?rev=1375&view=rev Author: timdewhirst Date: 2008-05-28 01:59:37 -0700 (Wed, 28 May 2008) Log Message: ----------- OPL - add a few error messages Modified Paths: -------------- trunk/src/openpluginlib/pl/shader_manager.cpp Modified: trunk/src/openpluginlib/pl/shader_manager.cpp =================================================================== --- trunk/src/openpluginlib/pl/shader_manager.cpp 2008-05-28 08:58:48 UTC (rev 1374) +++ trunk/src/openpluginlib/pl/shader_manager.cpp 2008-05-28 08:59:37 UTC (rev 1375) @@ -1,4 +1,4 @@ - +/* -*- mode: C++; c-basic-offset: 4; tab-width: 4; indent-tabs-mode: t -*- */ // openpluginlib - An plugin interface to openlibraries. // Copyright (C) 2005-2006 Editopia Inc. @@ -6,6 +6,7 @@ // For more information, see http://www.openlibraries.org. #include <fstream> +#include <iostream> #include <openpluginlib/pl/openpluginlib.hpp> #include <openpluginlib/pl/shader_manager.hpp> @@ -176,21 +177,31 @@ bool shader_manager::create_GLSL_shader( const shader_string& vertex, const shader_string& fragment, GLSL_shader_object& shader ) { - if( !GLEW_VERSION_2_0 && !( GLEW_ARB_shading_language_100 && GLEW_ARB_shader_objects && GLEW_ARB_vertex_shader && GLEW_ARB_fragment_shader ) ) + if( !GLEW_VERSION_2_0 && + !( GLEW_ARB_shading_language_100 && GLEW_ARB_shader_objects && GLEW_ARB_vertex_shader && GLEW_ARB_fragment_shader ) ) + { + std::cerr << "shader_manager::create_GLSL_shader: system requirements were not met\n"; return false; + } shader.program( ) = create_GLSL_program_object( ); shader.vertex( ) = create_GLSL_shader_object( GL_VERTEX_SHADER_ARB ); shader.fragment( ) = create_GLSL_shader_object( GL_FRAGMENT_SHADER_ARB ); shader.valid( ) = false; - if( glIsShader && ( !glIsShader( shader.vertex( ) ) || !glIsShader( shader.fragment( ) ) ) ) + if( glIsShader && + ( !glIsShader( shader.vertex( ) ) || !glIsShader( shader.fragment( ) ) ) ) + { + std::cerr << "shader_manager::create_GLSL_shader: failed to get shaders\n"; return false; + } download_GLSL_shader_code_to_gpu( shader.vertex( ), vertex ); download_GLSL_shader_code_to_gpu( shader.fragment( ), fragment ); - if( compile_GLSL_shader( shader.vertex( ) ) && compile_GLSL_shader( shader.fragment( ) ) && link_GLSL_program( shader.program( ), shader.vertex( ), shader.fragment( ) ) ) + if( compile_GLSL_shader( shader.vertex( ) ) && + compile_GLSL_shader( shader.fragment( ) ) && + link_GLSL_program( shader.program( ), shader.vertex( ), shader.fragment( ) ) ) shader.valid( ) = true; #if 0 @@ -488,6 +499,10 @@ sbase_.reset( obj ); return true; } + else + { + std::cerr << "shader_object::init: failed to initialise a GLSL_shader for: " << v_uri << ", " << f_uri << ", " << prefix << "\n"; + } } #if defined ( HAVE_CG_RUNTIME ) else if( v_uri.find( "cg:", 0, 3 ) != std::string::npos && f_uri.find( "cg:", 0, 3 ) != std::string::npos ) @@ -503,6 +518,10 @@ sbase_.reset( obj ); return true; } + else + { + std::cerr << "shader_object::init: failed to initialise a Cg_shader for: " << v_uri << ", " << f_uri << ", " << prefix << "\n"; + } } #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |