How to add GLSL Codes into Quake 3?

Locked
michael18
Posts: 26
Joined: Fri Apr 04, 2008 4:08 pm

How to add GLSL Codes into Quake 3?

Post by michael18 »

Hello
I want to learn on my own how to add GLSL Shaders into Quake 3
So can someone explain me what exackly I need to edit/add to get glsl Shaders working?

Here is a example:

Team Fortress 2 Shader

vertex

Code: Select all

varying vec2 uv;
varying vec3 normal;
varying vec3 localLightDir;

uniform vec3 lightDir;

void main(void)
{
   uv = gl_MultiTexCoord0.xy;
   
   normal = gl_Normal;
   localLightDir = lightDir * gl_NormalMatrix;
   
   gl_Position = ftransform();
}

Fragment

Code: Select all

varying vec2 uv;
varying vec3 normal;
varying vec3 localLightDir;

uniform sampler2D skin;
uniform sampler2D ramp;

void main(void)
{
   vec3 nN = normalize(normal);
   vec3 nL = normalize(localLightDir);
   
   float lambert = max(dot(nN, nL), 0.0);
   vec4 texture = texture2D(skin, uv);
   vec4 ambient = vec4(0.4, 0.4, 0.4, 1.0);
   vec4 rampText = texture2D(ramp, vec2(lambert, lambert));
   
   // Ambient is the texture
   vec4 finalColor = ambient;
   if (lambert > 0.0)
   {
      // half lambert
      finalColor += ambient*lambert;
      finalColor *= 0.5 + ambient;
      finalColor += 0.5;
      finalColor *= finalColor;
     
      // Ramp
      float rampColor = pow(lambert, 1.6);
     
      // Final
      finalColor += rampText*rampColor*0.5;
   }
   
   finalColor *= texture;
   gl_FragColor = finalColor;
}
How can i add this into ioquake3/quake3 engine
can someone explained it step by step

Thank you a lot
^misantropia^
Posts: 4022
Joined: Sat Mar 12, 2005 6:24 pm

Re: How to add GLSL Codes into Quake 3?

Post by ^misantropia^ »

It's quite a lot of work but check out XReal, it already has support for GLSL.
Locked