]> git.mxchange.org Git - simgear.git/blobdiff - simgear/screen/shader.cpp
don't rely on a compressed scanline being properly closed
[simgear.git] / simgear / screen / shader.cpp
index 6276051a92248dd00b4c6f16d8118207f44d3c11..e307d9952af6007ea2a31e9b85710bb440cd703b 100644 (file)
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
 
+#ifdef HAVE_CONFIG_H
+#  include <simgear_config.h>
+#endif 
 
 #include <simgear/debug/logstream.hxx>
 #include "shader.h"
@@ -218,7 +221,7 @@ Shader::Shader(const char *name,const char *vertex,const char *fragment) {
                        glGenProgramsPtr(1,&vertex_id);
                        glBindProgramPtr(GL_VERTEX_PROGRAM_ARB,vertex_id);
                        glProgramStringPtr(GL_VERTEX_PROGRAM_ARB,GL_PROGRAM_FORMAT_ASCII_ARB,(GLsizei)strlen(vertex_src),vertex_src);
-                       int pos = -1;
+                       GLint pos = -1;
                        glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB,&pos);
                        if(pos != -1) {
                                SG_LOG(SG_GL, SG_ALERT, "Shader::Shader(): vertex program error in " << name << " file\n" << get_error(vertex_src,pos));
@@ -291,7 +294,7 @@ Shader::Shader(const char *name,const char *vertex,const char *fragment) {
                        glGenProgramsPtr(1,&fragment_id);
                        glBindProgramPtr(GL_FRAGMENT_PROGRAM_ARB,fragment_id);
                        glProgramStringPtr(GL_FRAGMENT_PROGRAM_ARB,GL_PROGRAM_FORMAT_ASCII_ARB,(GLsizei)strlen(fragment_src),fragment_src);
-                       int pos = -1;
+                       GLint pos = -1;
                        glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB,&pos);
                        if(pos != -1) {
                                SG_LOG(SG_GL, SG_ALERT, "Shader::Shader(): fragment program error in " << name << " file\n" << get_error(fragment_src,pos));
@@ -305,7 +308,7 @@ Shader::Shader(const char *name,const char *vertex,const char *fragment) {
                        glGenProgramsNVPtr(1,&fragment_id);
                        glBindProgramNVPtr(GL_FRAGMENT_PROGRAM_NV,fragment_id);
                        glLoadProgramNVPtr(GL_FRAGMENT_PROGRAM_NV,fragment_id,(GLsizei)strlen(fragment_src),(GLubyte*)fragment_src);
-                       int pos = -1;
+                       GLint pos = -1;
                        glGetIntegerv(GL_PROGRAM_ERROR_POSITION_NV,&pos);
                        if(pos != -1) {
                                SG_LOG(SG_GL, SG_ALERT, "Shader::Shader(): fragment program error in " << name << " file\n" << get_error(fragment_src,pos));
@@ -384,7 +387,7 @@ const char *Shader::get_error(char *data,int pos) {
  */
 
 const char *Shader::get_glsl_error() {
-       int length;
+       GLint length;
        static char error[4096];
        glGetInfoLogPtr(program,sizeof(error),&length,error);
        return error;
@@ -480,7 +483,7 @@ void Shader::bind(const float *v,...) {
     }
        const float *value = v;
        va_list args;
-       va_start(args,value);
+       va_start(args,v);
        for(int i = 0; i < (int)parameters.size(); i++) {
                if( vertex_target ) {
                        glProgramLocalParameter4fvPtr( vertex_target, parameters[i].location, value);
@@ -546,7 +549,7 @@ void Shader::setParameter(const char *name,const float *value) {
 void Shader::setParameters(const float *v,...) {
        const float *value = v;
        va_list args;
-       va_start(args,value);
+       va_start(args,v);
        for(int i = 0; i < (int)parameters.size(); i++) {
                if( vertex_target ) {
                        glProgramLocalParameter4fvPtr( vertex_target, parameters[i].location, value);