Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
VDrift 12-26-07 Mac OS X Release don´t start
02-07-2008, 06:22 PM,
#26
 
forget my last post, that was completely wrong, but thanks to accesses to a affected machine, i figured it out ;-)

glUniform1f() etc is only available in opengl 2.0, previously the same function was called glUniform1fARB(), so when opengl 2.0 is not available, we get the crashes.

please apply (something like) the patch as i'm away from home.

also, i noted if you got an old preferences file which has no entry for shaders, the default is ON - this should probably changed.

patch:

Code:
Index: shader.cpp
===================================================================
--- shader.cpp  (revision 1936)
+++ shader.cpp  (working copy)
@@ -133,54 +133,69 @@
{
        Enable();

+
        //set passed variable information for matrices
        /*int mat_loc = glGetUniformLocationARB(program, "prev_modelview");
-       if (mat_loc >= 0) glUniformMatrix4fv(mat_loc, 1, GL_FALSE, game.graphics.GetPrevModelView());
+       if (mat_loc >= 0)
+               (GLEW_VERSION_2_0) ? glUniformMatrix4fv(mat_loc, 1, GL_FALSE, game.graphics.GetPrevModelView()) : glUniformMatrix4fvARB(mat_loc, 1, GL_FALSE, game.graphics.GetPrevModelView()) ;

        mat_loc = glGetUniformLocationARB(program, "prev_modelviewproj");
-       if (mat_loc >= 0) glUniformMatrix4fv(mat_loc, 1, GL_FALSE, game.graphics.GetPrevModelViewProj());*/
+       if (mat_loc >= 0)
+               (GLEW_VERSION_2_0) ? glUniformMatrix4fv(mat_loc, 1, GL_FALSE, game.graphics.GetPrevModelViewProj()) :  glUniformMatrix4fvARB(mat_loc, 1, GL_FALSE, game.graphics.GetPrevModelViewProj());*/

        int loc = glGetUniformLocationARB(program, "blurfactor");
-       if (loc >= 0) glUniform1f(loc, game.graphics.GetTrueFPS()*0.015);
+       if (loc >= 0)
+               (GLEW_VERSION_2_0) ? glUniform1f(loc, game.graphics.GetTrueFPS()*0.015) : glUniform1fARB(loc, game.graphics.GetTrueFPS()*0.015);

        loc = glGetUniformLocationARB(program, "blurfactorx");
-       if (loc >= 0) glUniform1f(loc, game.graphics.GetW()/640.0);
+       if (loc >= 0)
+               (GLEW_VERSION_2_0) ? glUniform1f(loc, game.graphics.GetW()/640.0) : glUniform1fARB(loc, game.graphics.GetW()/640.0);

        loc = glGetUniformLocationARB(program, "blurfactory");
-       if (loc >= 0) glUniform1f(loc, game.graphics.GetH()/480.0);
+       if (loc >= 0)
+               (GLEW_VERSION_2_0) ? glUniform1f(loc, game.graphics.GetH()/480.0) : glUniform1fARB(loc, game.graphics.GetH()/480.0);

        loc = glGetUniformLocationARB(program, "screenw");
-       if (loc >= 0) glUniform1f(loc, game.graphics.GetW());
+       if (loc >= 0)
+               (GLEW_VERSION_2_0) ? glUniform1f(loc, game.graphics.GetW()) : glUniform1fARB(loc, game.graphics.GetW());

        loc = glGetUniformLocationARB(program, "screenh");
-       if (loc >= 0) glUniform1f(loc, game.graphics.GetH());
+       if (loc >= 0)
+               (GLEW_VERSION_2_0) ? glUniform1f(loc, game.graphics.GetH()) : glUniform1fARB(loc, game.graphics.GetH());

        const QUATERNION & lightpos(game.graphics.GetLightPosition());
        VERTEX front;
        front.z = -1;
        loc = glGetUniformLocationARB(program, "lightposition");
        front = lightpos.RotateVec(front);
-       if (loc >= 0) glUniform3f(loc, front.x, front.y, front.z);
+       if (loc >= 0)
+               (GLEW_VERSION_2_0) ? glUniform3f(loc, front.x, front.y, front.z) : glUniform3fARB(loc, front.x, front.y, front.z);

        /*VERTEX eyelightpos(game.cam.dir.RotateVec(front));
        loc = glGetUniformLocationARB(program, "eyelightposition");
-       if (loc >= 0) glUniform3f(loc, eyelightpos.x, eyelightpos.y, eyelightpos.z);*/
+       if (loc >= 0)
+               (GLEW_VERSION_2_0) ? glUniform3f(loc, eyelightpos.x, eyelightpos.y, eyelightpos.z) : glUniform3fARB(loc, eyelightpos.x, eyelightpos.y, eyelightpos.z);*/

        /*loc = glGetUniformLocationARB(program, "screenratio");
-       if (loc >= 0) glUniform1f(loc, game.graphics.GetH()/game.graphics.GetW());
+       if (loc >= 0)
+               (GLEW_VERSION_2_0) ? glUniform1f(loc, game.graphics.GetH()/game.graphics.GetW()) : glUniform1fARB(loc, game.graphics.GetH()/game.graphics.GetW());

        loc = glGetUniformLocationARB(program, "screenratio_over2");
-       if (loc >= 0) glUniform1f(loc, (game.graphics.GetH()/game.graphics.GetW())*0.5);*/
+       if (loc >= 0)
+               (GLEW_VERSION_2_0) ? glUniform1f(loc, (game.graphics.GetH()/game.graphics.GetW())*0.5) : glUniform1fARB(loc, (game.graphics.GetH()/game.graphics.GetW())*0.5);*/

        float samples = 8;
        loc = glGetUniformLocationARB(program, "samples");
-       if (loc >= 0) glUniform1f(loc, samples);
+       if (loc >= 0)
+               (GLEW_VERSION_2_0) ? glUniform1f(loc, samples) : glUniform1fARB(loc, samples);

        loc = glGetUniformLocationARB(program, "sm1inv");
-       if (loc >= 0) glUniform1f(loc, 1.0/(samples-1.0));
+       if (loc >= 0)
+               (GLEW_VERSION_2_0) ? glUniform1f(loc, 1.0/(samples-1.0)) : glUniform1fARB(loc, 1.0/(samples-1.0));

        loc = glGetUniformLocationARB(program, "w");
-       if (loc >= 0) glUniform1f(loc, 1.0/samples);
+       if (loc >= 0)
+               (GLEW_VERSION_2_0) ? glUniform1f(loc, 1.0/samples) : glUniform1fARB(loc, 1.0/samples);

        //cout << game.graphics.GetTrueFPS() << endl;
}
Reply


Messages In This Thread
[No subject] - by abs1nth - 01-10-2008, 09:19 AM
[No subject] - by cologne - 01-10-2008, 10:07 AM
[No subject] - by abs1nth - 01-10-2008, 05:27 PM
[No subject] - by cologne - 01-10-2008, 08:02 PM
[No subject] - by joevenzon_phpbb2_import3 - 01-11-2008, 12:39 AM
[No subject] - by cotharyus - 01-11-2008, 08:19 AM
[No subject] - by abs1nth - 01-11-2008, 07:12 PM
[No subject] - by vortexfive - 01-13-2008, 08:37 AM
[No subject] - by abs1nth - 01-13-2008, 11:34 AM
[No subject] - by vortexfive - 01-13-2008, 12:20 PM
[No subject] - by abs1nth - 01-13-2008, 02:59 PM
[No subject] - by joevenzon_phpbb2_import3 - 01-14-2008, 11:13 AM
[No subject] - by cologne - 01-14-2008, 06:20 PM
[No subject] - by abs1nth - 01-14-2008, 09:32 PM
[No subject] - by vortexfive - 01-15-2008, 12:44 PM
[No subject] - by abs1nth - 01-15-2008, 01:56 PM
[No subject] - by vortexfive - 01-16-2008, 08:48 AM
[No subject] - by vortexfive - 01-16-2008, 09:04 AM
[No subject] - by abs1nth - 01-16-2008, 11:46 AM
[No subject] - by vortexfive - 01-16-2008, 03:18 PM
[No subject] - by joevenzon_phpbb2_import3 - 01-16-2008, 03:53 PM
[No subject] - by cologne - 01-16-2008, 04:09 PM
[No subject] - by vortexfive - 01-23-2008, 11:03 AM
[No subject] - by abs1nth - 01-29-2008, 09:12 PM
[No subject] - by abs1nth - 02-07-2008, 06:22 PM
[No subject] - by joevenzon_phpbb2_import3 - 02-09-2008, 11:21 PM
[No subject] - by thelusiv - 02-10-2008, 05:57 AM
[No subject] - by joevenzon_phpbb2_import3 - 02-10-2008, 04:07 PM

Forum Jump:


Users browsing this thread: 9 Guest(s)