diff options
| author | tma <tma@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2008-08-12 19:34:43 +0000 | 
|---|---|---|
| committer | tma <tma@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2008-08-12 19:34:43 +0000 | 
| commit | 3e8b6511c08ad62b03d50d3a3147ba17bfcedce5 (patch) | |
| tree | 5765df4b3604f6cd342381527fc5f3987a598a41 | |
| parent | 6de20d7f8a60ca52aa7c0ac5e0651e8dd6b03765 (diff) | |
| download | ioquake3-aero-3e8b6511c08ad62b03d50d3a3147ba17bfcedce5.tar.gz ioquake3-aero-3e8b6511c08ad62b03d50d3a3147ba17bfcedce5.zip  | |
* s/GL_CLAMP/GL_CLAMP_TO_EDGE/g (If this change appears to cause you problems
  and you're using an nVidia graphics card, make sure your 'conformant texture
  clamp' setting is set to on for ioq3)
git-svn-id: svn://svn.icculus.org/quake3/trunk@1445 edf5b092-35ff-0310-97b2-ce42778d08ea
| -rw-r--r-- | code/renderer/tr_backend.c | 8 | ||||
| -rw-r--r-- | code/renderer/tr_bsp.c | 2 | ||||
| -rw-r--r-- | code/renderer/tr_font.c | 2 | ||||
| -rw-r--r-- | code/renderer/tr_image.c | 8 | ||||
| -rw-r--r-- | code/renderer/tr_local.h | 2 | ||||
| -rw-r--r-- | code/renderer/tr_shader.c | 9 | 
6 files changed, 14 insertions, 17 deletions
diff --git a/code/renderer/tr_backend.c b/code/renderer/tr_backend.c index 15e32c5..30c9368 100644 --- a/code/renderer/tr_backend.c +++ b/code/renderer/tr_backend.c @@ -776,8 +776,8 @@ void RE_StretchRaw (int x, int y, int w, int h, int cols, int rows, const byte *  		qglTexImage2D( GL_TEXTURE_2D, 0, GL_RGB8, cols, rows, 0, GL_RGBA, GL_UNSIGNED_BYTE, data );  		qglTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );  		qglTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); -		qglTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP ); -		qglTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP );	 +		qglTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE ); +		qglTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE );	  	} else {  		if (dirty) {  			// otherwise, just subimage upload it so that drivers can tell we are going to be changing @@ -818,8 +818,8 @@ void RE_UploadCinematic (int w, int h, int cols, int rows, const byte *data, int  		qglTexImage2D( GL_TEXTURE_2D, 0, GL_RGB8, cols, rows, 0, GL_RGBA, GL_UNSIGNED_BYTE, data );  		qglTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );  		qglTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); -		qglTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP ); -		qglTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP );	 +		qglTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE ); +		qglTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE );	  	} else {  		if (dirty) {  			// otherwise, just subimage upload it so that drivers can tell we are going to be changing diff --git a/code/renderer/tr_bsp.c b/code/renderer/tr_bsp.c index 72e88f3..90aaf9d 100644 --- a/code/renderer/tr_bsp.c +++ b/code/renderer/tr_bsp.c @@ -205,7 +205,7 @@ static	void R_LoadLightmaps( lump_t *l ) {  			}  		}  		tr.lightmaps[i] = R_CreateImage( va("*lightmap%d",i), image,  -			LIGHTMAP_SIZE, LIGHTMAP_SIZE, qfalse, qfalse, GL_CLAMP ); +			LIGHTMAP_SIZE, LIGHTMAP_SIZE, qfalse, qfalse, GL_CLAMP_TO_EDGE );  	}  	if ( r_lightmap->integer == 2 )	{ diff --git a/code/renderer/tr_font.c b/code/renderer/tr_font.c index 383108f..bdb4251 100644 --- a/code/renderer/tr_font.c +++ b/code/renderer/tr_font.c @@ -493,7 +493,7 @@ void RE_RegisterFont(const char *fontName, int pointSize, fontInfo_t *font) {  			}      	//Com_sprintf (name, sizeof(name), "fonts/fontImage_%i_%i", imageNumber++, pointSize); -      image = R_CreateImage(name, imageBuff, 256, 256, qfalse, qfalse, GL_CLAMP); +      image = R_CreateImage(name, imageBuff, 256, 256, qfalse, qfalse, GL_CLAMP_TO_EDGE);        h = RE_RegisterShaderFromImage(name, LIGHTMAP_2D, image, qfalse);        for (j = lastStart; j < i; j++) {          font->glyphs[j].glyph = h; diff --git a/code/renderer/tr_image.c b/code/renderer/tr_image.c index c3828cd..2c3b72f 100644 --- a/code/renderer/tr_image.c +++ b/code/renderer/tr_image.c @@ -199,7 +199,7 @@ void R_ImageList_f( void ) {  		case GL_REPEAT:  			ri.Printf( PRINT_ALL, "rept " );  			break; -		case GL_CLAMP: +		case GL_CLAMP_TO_EDGE:  			ri.Printf( PRINT_ALL, "clmp " );  			break;  		default: @@ -1004,7 +1004,7 @@ static void R_CreateDlightImage( void ) {  			data[y][x][3] = 255;			  		}  	} -	tr.dlightImage = R_CreateImage("*dlight", (byte *)data, DLIGHT_SIZE, DLIGHT_SIZE, qfalse, qfalse, GL_CLAMP ); +	tr.dlightImage = R_CreateImage("*dlight", (byte *)data, DLIGHT_SIZE, DLIGHT_SIZE, qfalse, qfalse, GL_CLAMP_TO_EDGE );  } @@ -1094,7 +1094,7 @@ static void R_CreateFogImage( void ) {  	// standard openGL clamping doesn't really do what we want -- it includes  	// the border color at the edges.  OpenGL 1.2 has clamp-to-edge, which does  	// what we want. -	tr.fogImage = R_CreateImage("*fog", (byte *)data, FOG_S, FOG_T, qfalse, qfalse, GL_CLAMP ); +	tr.fogImage = R_CreateImage("*fog", (byte *)data, FOG_S, FOG_T, qfalse, qfalse, GL_CLAMP_TO_EDGE );  	ri.Hunk_FreeTempMemory( data );  	borderColor[0] = 1.0; @@ -1172,7 +1172,7 @@ void R_CreateBuiltinImages( void ) {  	for(x=0;x<32;x++) {  		// scratchimage is usually used for cinematic drawing -		tr.scratchImage[x] = R_CreateImage("*scratch", (byte *)data, DEFAULT_SIZE, DEFAULT_SIZE, qfalse, qtrue, GL_CLAMP ); +		tr.scratchImage[x] = R_CreateImage("*scratch", (byte *)data, DEFAULT_SIZE, DEFAULT_SIZE, qfalse, qtrue, GL_CLAMP_TO_EDGE );  	}  	R_CreateDlightImage(); diff --git a/code/renderer/tr_local.h b/code/renderer/tr_local.h index 0da894e..897d54b 100644 --- a/code/renderer/tr_local.h +++ b/code/renderer/tr_local.h @@ -103,7 +103,7 @@ typedef struct image_s {  	qboolean	mipmap;  	qboolean	allowPicmip; -	int			wrapClampMode;		// GL_CLAMP or GL_REPEAT +	int			wrapClampMode;		// GL_CLAMP_TO_EDGE or GL_REPEAT  	struct image_s*	next;  } image_t; diff --git a/code/renderer/tr_shader.c b/code/renderer/tr_shader.c index 7a44d35..79b8aa0 100644 --- a/code/renderer/tr_shader.c +++ b/code/renderer/tr_shader.c @@ -657,7 +657,7 @@ static qboolean ParseStage( shaderStage_t *stage, char **text )  				return qfalse;  			} -			stage->bundle[0].image[0] = R_FindImageFile( token, !shader.noMipMaps, !shader.noPicMip, GL_CLAMP ); +			stage->bundle[0].image[0] = R_FindImageFile( token, !shader.noMipMaps, !shader.noPicMip, GL_CLAMP_TO_EDGE );  			if ( !stage->bundle[0].image[0] )  			{  				ri.Printf( PRINT_WARNING, "WARNING: R_FindImageFile could not find '%s' in shader '%s'\n", token, shader.name ); @@ -1230,11 +1230,8 @@ static void ParseSkyParms( char **text ) {  		for (i=0 ; i<6 ; i++) {  			Com_sprintf( pathname, sizeof(pathname), "%s_%s.tga"  				, token, suf[i] ); -#ifdef GL_CLAMP_TO_EDGE  			shader.sky.outerbox[i] = R_FindImageFile( ( char * ) pathname, qtrue, qtrue, GL_CLAMP_TO_EDGE ); -#else -			shader.sky.outerbox[i] = R_FindImageFile( ( char * ) pathname, qtrue, qtrue, GL_CLAMP ); -#endif +  			if ( !shader.sky.outerbox[i] ) {  				shader.sky.outerbox[i] = tr.defaultImage;  			} @@ -2516,7 +2513,7 @@ shader_t *R_FindShader( const char *name, int lightmapIndex, qboolean mipRawImag  	// if not defined in the in-memory shader descriptions,  	// look for a single supported image file  	// -	image = R_FindImageFile( name, mipRawImage, mipRawImage, mipRawImage ? GL_REPEAT : GL_CLAMP ); +	image = R_FindImageFile( name, mipRawImage, mipRawImage, mipRawImage ? GL_REPEAT : GL_CLAMP_TO_EDGE );  	if ( !image ) {  		ri.Printf( PRINT_DEVELOPER, "Couldn't find image file for shader %s\n", name );  		shader.defaultShader = qtrue;  | 
