Look how ugly my terrain looks


(Mr_Tickles) #41

Thanks, I will do. I think I’ll also dive into the shader manual for another read around. Will post the results later… :slight_smile:

[Edit]Thanks, lol, you must’ve just posted the second message as I posted mine, so i’m editing this one to put an end to all this double posting.

I’ll also try altering the numbers and will post a screenie or two to better describe my problem, it’s pretty much the same as Darklandz experienced. The textures are repeating too often[/Edit]


(Mr_Tickles) #42

Ok, I have the shots, the altering of the ivector didn’t seem to work.

Here be screenie’s:

                                                                               ^

This is what I mean with the textures repeating alot |

However, this is what they looked like before I did the wolfet template thing for easygen:

Ok, I feel really dull now, I’ve just realised I could probably compare the two shaders and get the benefits from both… maybe.


(MadJack) #43

Maybe there’s something conflicting in the shader? Maybe a doubling of terrain_base or a tcMod somewhere? Dunno… Was the shader you posted the entire map shader? If not check if something might conflict. If you want send me the whole shader as an attachment in a PM and I’ll take a look at it.


(chavo_one) #44

The first thing I always ask when q3map_tcGen ivector commands are ignored is “Have you added your shader to shaderlist.txt?”

q3map_tcGen ivector is a compile time setting, so if your shader isn’t in shaderlist.txt then q3map2 will not find it.

EDIT: sorry didn’t notice someone mentioned shaderlist.txt on the first page. And you fixed your problem anyways.


(Mr_Tickles) #45

Well, I have proved myself stupid yet again, I compared the two shaders, and altered the proper one accordingly using the tcMod values from the first one and everything seems to be working well now.

Sorry for wasting your time there MadJack, Thanks for all the help. :smiley:

Edit:

Compile time? dammit, didn’t recompile each time, I’ll remove the mod’s I made and try it with a recompile, thanks.


(MadJack) #46

Chavo is right and unfortunately it’s the thing that was nagging me in the back of my mind yelling “You forgot that!” but couldn’t figure out what… :slight_smile:

That should work Tickles try it :slight_smile:

EDIT: Don’t forget to add your .shader file in your shaderlist.txt !!! :smiley:


(The Wanderer) #47

@Mr_Tickles using the + - keys with the wolf template you’re using will NOT work simply because the template doesn’t have a tcmod scale stage anywhere for the changes to be saved.
q3map_tcGen ivector is a complier directive so you HAVE to recompile to view the changes in game.
q3map_tcGen ivector should take care of 90% of your scalling needs for the terrain, but if you absolutely need to have a texture scale differently, just use q3map_tcMod scale on the specific shader for that texture. This too needs recompile for the changes to take effect(as a matter of fact all commands that start with q3map_ need recompile because they’re compiler directives)


(Mr_Tickles) #48

Ok, hopefully I’ll get this post in before anyone posts again :slight_smile: (I’m a slow poster)
I didn’t realize that this shader needed to be put into the shaderlist aswell because the terrain shows up and that’s only referred to from the shader. Anyway… the shader is now added, the mods removed and the ivector set to 2048. Starting compiling in a few mins and will be back with results in about 30. Thanks MadJack, Chavo and Wanderer :smiley:


(MadJack) #49

512 should be enough but you’ll see when it’s done :slight_smile:

Oh and sorry about the compiling, I was pretty sure you didn’t have to recompile.


(Mr_Tickles) #50

Lol, no worries, I’ll see what 2048’s like first seen as though it’s compiling at the moment. The batch file you made is really very handy. :slight_smile:


(chavo_one) #51

actually the recompile is neccessary when using q3map_tcGen ivector as Wanderer mentioned above.

There are two methods for setting the texture scale:
“q3map_tcGen ivector (or vector)” - sets the scaling at compile time. Better framerates since the scaling is already done.
“tcGen vector” - a per-stage directive. Does the scaling at runtime therefore hurts framerates.


(Mr_Tickles) #52

Great! Best stick with the ivector then. I’m guessing that the q3map prefix is pointing out that it is a compile time function then?

I’ve compiled and run with the 2048 and it looks quite pre-historic and I feel very very small and ickle. Time for number playing time methinks.

Thanks everyone for your help, much appreciated :D. (apologies for re-hi-jacking the thread Darklandz :slight_smile: )


(dime1622) #53

i don’t believe that the vertex lighting wont allow shadows to be cast. from one of my other mappers, i got this shader:

textures/popomaha/terrain_0
{
q3map_lightmapsamplesize 64
q3map_lightmapaxis z
q3map_texturesize 512 512
q3map_tcGen ivector ( 512 0 0 ) ( 0 512 0 )
{
map textures/temperate_sd/master_grass_dirt3.tga
}
{
map $lightmap
blendFunc GL_DST_COLOR GL_ZERO
tcGen lightmap
}
}

textures/popomaha/terrain_1
{
q3map_lightmapsamplesize 64
q3map_lightmapaxis z
q3map_texturesize 512 512
q3map_tcGen ivector ( 512 0 0 ) ( 0 512 0 )
{
map textures/temperate_sd/rock_ugly_brown.tga
}
{
map $lightmap
blendFunc GL_DST_COLOR GL_ZERO
tcGen lightmap
}
}

textures/popomaha/terrain_2
{
q3map_lightmapsamplesize 64
q3map_lightmapaxis z
q3map_texturesize 512 512
q3map_tcGen ivector ( 512 0 0 ) ( 0 512 0 )
{
map textures/temperate_sd/rock_grayvar.tga
}
{
map $lightmap
blendFunc GL_DST_COLOR GL_ZERO
tcGen lightmap
}
}

textures/popomaha/terrain_3
{
q3map_lightmapsamplesize 64
q3map_lightmapaxis z
q3map_texturesize 512 512
q3map_tcGen ivector ( 512 0 0 ) ( 0 512 0 )
{
map textures/temperate_sd/sand_wave_bright.tga
}
{
map $lightmap
blendFunc GL_DST_COLOR GL_ZERO
tcGen lightmap
}
}

textures/popomaha/terrain_4
{
q3map_lightmapsamplesize 64
q3map_lightmapaxis z
q3map_texturesize 512 512
q3map_tcGen ivector ( 512 0 0 ) ( 0 512 0 )
{
map textures/temperate_sd/rocky_sand.tga
}
{
map $lightmap
blendFunc GL_DST_COLOR GL_ZERO
tcGen lightmap
}
}

textures/popomaha/terrain_5
{
q3map_lightmapsamplesize 64
q3map_lightmapaxis z
q3map_texturesize 512 512
q3map_tcGen ivector ( 512 0 0 ) ( 0 512 0 )
{
map textures/temperate_sd/grass_path1.tga
}
{
map $lightmap
blendFunc GL_DST_COLOR GL_ZERO
tcGen lightmap
}
}

textures/popomaha/terrain_6
{
q3map_lightmapsamplesize 64
q3map_lightmapaxis z
q3map_texturesize 512 512
q3map_tcGen ivector ( 512 0 0 ) ( 0 512 0 )
{
map textures/temperate_sd/dirt3.tga
}
{
map $lightmap
blendFunc GL_DST_COLOR GL_ZERO
tcGen lightmap
}
}

textures/popomaha/terrain_0to1
{
q3map_lightmapsamplesize 64
q3map_lightmapaxis z
q3map_texturesize 512 512
q3map_tcGen ivector ( 512 0 0 ) ( 0 512 0 )

{
map textures/temperate_sd/master_grass_dirt3.tga
}
{
map textures/temperate_sd/rock_ugly_brown.tga
alphaGen vertex
blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
}
{
map $lightmap
blendFunc GL_DST_COLOR GL_ZERO
tcGen lightmap
}
}

textures/popomaha/terrain_0to2
{
q3map_lightmapsamplesize 64
q3map_lightmapaxis z
q3map_texturesize 512 512
q3map_tcGen ivector ( 512 0 0 ) ( 0 512 0 )

{
map textures/temperate_sd/master_grass_dirt3.tga
}
{
map textures/temperate_sd/rock_grayvar.tga
alphaGen vertex
blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
}
{
map $lightmap
blendFunc GL_DST_COLOR GL_ZERO
tcGen lightmap
}
}

textures/popomaha/terrain_0to3
{
q3map_lightmapsamplesize 64
q3map_lightmapaxis z
q3map_texturesize 512 512
q3map_tcGen ivector ( 512 0 0 ) ( 0 512 0 )

{
map textures/temperate_sd/master_grass_dirt3.tga
}
{
map textures/temperate_sd/sand_wave_bright.tga
alphaGen vertex
blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
}
{
map $lightmap
blendFunc GL_DST_COLOR GL_ZERO
tcGen lightmap
}
}

textures/popomaha/terrain_0to4
{
q3map_lightmapsamplesize 64
q3map_lightmapaxis z
q3map_texturesize 512 512
q3map_tcGen ivector ( 512 0 0 ) ( 0 512 0 )

{
map textures/temperate_sd/master_grass_dirt3.tga
}
{
map textures/temperate_sd/rocky_sand.tga
alphaGen vertex
blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
}
{
map $lightmap
blendFunc GL_DST_COLOR GL_ZERO
tcGen lightmap
}
}

textures/popomaha/terrain_0to5
{
q3map_lightmapsamplesize 64
q3map_lightmapaxis z
q3map_texturesize 512 512
q3map_tcGen ivector ( 512 0 0 ) ( 0 512 0 )

{
map textures/temperate_sd/master_grass_dirt3.tga
}
{
map textures/temperate_sd/grass_path1.tga
alphaGen vertex
blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
}
{
map $lightmap
blendFunc GL_DST_COLOR GL_ZERO
tcGen lightmap
}
}

textures/popomaha/terrain_0to6
{
q3map_lightmapsamplesize 64
q3map_lightmapaxis z
q3map_texturesize 512 512
q3map_tcGen ivector ( 512 0 0 ) ( 0 512 0 )

{
map textures/temperate_sd/master_grass_dirt3.tga
}
{
map textures/temperate_sd/dirt3.tga
alphaGen vertex
blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
}
{
map $lightmap
blendFunc GL_DST_COLOR GL_ZERO
tcGen lightmap
}
}

textures/popomaha/terrain_1to2
{
q3map_lightmapsamplesize 64
q3map_lightmapaxis z
q3map_texturesize 512 512
q3map_tcGen ivector ( 512 0 0 ) ( 0 512 0 )

{
map textures/temperate_sd/rock_ugly_brown.tga
}
{
map textures/temperate_sd/rock_grayvar.tga
alphaGen vertex
blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
}
{
map $lightmap
blendFunc GL_DST_COLOR GL_ZERO
tcGen lightmap
}
}

textures/popomaha/terrain_1to3
{
q3map_lightmapsamplesize 64
q3map_lightmapaxis z
q3map_texturesize 512 512
q3map_tcGen ivector ( 512 0 0 ) ( 0 512 0 )

{
map textures/temperate_sd/rock_ugly_brown.tga
}
{
map textures/temperate_sd/sand_wave_bright.tga
alphaGen vertex
blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
}
{
map $lightmap
blendFunc GL_DST_COLOR GL_ZERO
tcGen lightmap
}
}

textures/popomaha/terrain_1to4
{
q3map_lightmapsamplesize 64
q3map_lightmapaxis z
q3map_texturesize 512 512
q3map_tcGen ivector ( 512 0 0 ) ( 0 512 0 )

{
map textures/temperate_sd/rock_ugly_brown.tga
}
{
map textures/temperate_sd/rocky_sand.tga
alphaGen vertex
blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
}
{
map $lightmap
blendFunc GL_DST_COLOR GL_ZERO
tcGen lightmap
}
}

textures/popomaha/terrain_1to5
{
q3map_lightmapsamplesize 64
q3map_lightmapaxis z
q3map_texturesize 512 512
q3map_tcGen ivector ( 512 0 0 ) ( 0 512 0 )

{
map textures/temperate_sd/rock_ugly_brown.tga
}
{
map textures/temperate_sd/grass_path1.tga
alphaGen vertex
blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
}
{
map $lightmap
blendFunc GL_DST_COLOR GL_ZERO
tcGen lightmap
}
}

textures/popomaha/terrain_1to6
{
q3map_lightmapsamplesize 64
q3map_lightmapaxis z
q3map_texturesize 512 512
q3map_tcGen ivector ( 512 0 0 ) ( 0 512 0 )

{
map textures/temperate_sd/rock_ugly_brown.tga
}
{
map textures/temperate_sd/dirt3.tga
alphaGen vertex
blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
}
{
map $lightmap
blendFunc GL_DST_COLOR GL_ZERO
tcGen lightmap
}
}

textures/popomaha/terrain_2to3
{
q3map_lightmapsamplesize 64
q3map_lightmapaxis z
q3map_texturesize 512 512
q3map_tcGen ivector ( 512 0 0 ) ( 0 512 0 )

{
map textures/temperate_sd/rock_grayvar.tga
}
{
map textures/temperate_sd/sand_wave_bright.tga
alphaGen vertex
blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
}
{
map $lightmap
blendFunc GL_DST_COLOR GL_ZERO
tcGen lightmap
}
}

textures/popomaha/terrain_2to4
{
q3map_lightmapsamplesize 64
q3map_lightmapaxis z
q3map_texturesize 512 512
q3map_tcGen ivector ( 512 0 0 ) ( 0 512 0 )

{
map textures/temperate_sd/rock_grayvar.tga
}
{
map textures/temperate_sd/rocky_sand.tga
alphaGen vertex
blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
}
{
map $lightmap
blendFunc GL_DST_COLOR GL_ZERO
tcGen lightmap
}
}

textures/popomaha/terrain_2to5
{
q3map_lightmapsamplesize 64
q3map_lightmapaxis z
q3map_texturesize 512 512
q3map_tcGen ivector ( 512 0 0 ) ( 0 512 0 )

{
map textures/temperate_sd/rock_grayvar.tga
}
{
map textures/temperate_sd/grass_path1.tga
alphaGen vertex
blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
}
{
map $lightmap
blendFunc GL_DST_COLOR GL_ZERO
tcGen lightmap
}
}

textures/popomaha/terrain_2to6
{
q3map_lightmapsamplesize 64
q3map_lightmapaxis z
q3map_texturesize 512 512
q3map_tcGen ivector ( 512 0 0 ) ( 0 512 0 )

{
map textures/temperate_sd/rock_grayvar.tga
}
{
map textures/temperate_sd/dirt3.tga
alphaGen vertex
blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
}
{
map $lightmap
blendFunc GL_DST_COLOR GL_ZERO
tcGen lightmap
}
}

textures/popomaha/terrain_3to4
{
q3map_lightmapsamplesize 64
q3map_lightmapaxis z
q3map_texturesize 512 512
q3map_tcGen ivector ( 512 0 0 ) ( 0 512 0 )

{
map textures/temperate_sd/sand_wave_bright.tga
}
{
map textures/temperate_sd/rocky_sand.tga
alphaGen vertex
blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
}
{
map $lightmap
blendFunc GL_DST_COLOR GL_ZERO
tcGen lightmap
}
}

textures/popomaha/terrain_3to5
{
q3map_lightmapsamplesize 64
q3map_lightmapaxis z
q3map_texturesize 512 512
q3map_tcGen ivector ( 512 0 0 ) ( 0 512 0 )

{
map textures/temperate_sd/sand_wave_bright.tga
}
{
map textures/temperate_sd/grass_path1.tga
alphaGen vertex
blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
}
{
map $lightmap
blendFunc GL_DST_COLOR GL_ZERO
tcGen lightmap
}
}

textures/popomaha/terrain_3to6
{
q3map_lightmapsamplesize 64
q3map_lightmapaxis z
q3map_texturesize 512 512
q3map_tcGen ivector ( 512 0 0 ) ( 0 512 0 )

{
map textures/temperate_sd/sand_wave_bright.tga
}
{
map textures/temperate_sd/dirt3.tga
alphaGen vertex
blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
}
{
map $lightmap
blendFunc GL_DST_COLOR GL_ZERO
tcGen lightmap
}
}

textures/popomaha/terrain_4to5
{
q3map_lightmapsamplesize 64
q3map_lightmapaxis z
q3map_texturesize 512 512
q3map_tcGen ivector ( 512 0 0 ) ( 0 512 0 )

{
map textures/temperate_sd/rocky_sand.tga
}
{
map textures/temperate_sd/grass_path1.tga
alphaGen vertex
blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
}
{
map $lightmap
blendFunc GL_DST_COLOR GL_ZERO
tcGen lightmap
}
}

textures/popomaha/terrain_4to6
{
q3map_lightmapsamplesize 64
q3map_lightmapaxis z
q3map_texturesize 512 512
q3map_tcGen ivector ( 512 0 0 ) ( 0 512 0 )

{
map textures/temperate_sd/rocky_sand.tga
}
{
map textures/temperate_sd/dirt3.tga
alphaGen vertex
blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
}
{
map $lightmap
blendFunc GL_DST_COLOR GL_ZERO
tcGen lightmap
}
}

textures/popomaha/terrain_5to6
{
q3map_lightmapsamplesize 64
q3map_lightmapaxis z
q3map_texturesize 512 512
q3map_tcGen ivector ( 512 0 0 ) ( 0 512 0 )

{
map textures/temperate_sd/grass_path1.tga
}
{
map textures/temperate_sd/dirt3.tga
alphaGen vertex
blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
}
{
map $lightmap
blendFunc GL_DST_COLOR GL_ZERO
tcGen lightmap
}
}

textures/popomaha/terrain.vertex
{
{
map textures/temperate_sd/master_grass_dirt3.tga
rgbGen vertex
}
}

and it yeilded this result:


(dime1622) #54

but its not working for me, im getting that tiling :frowning:


(The Wanderer) #55

that shader is not using vertex lighting. It’s clearly lightmapped.
Whether terrain is vertex lit or not, is decided by whether you’re using the lightmap which in this case you clearly are. Just becuse you have a .vertex shader doesn’t mean you’re using vertex lighting.
You don’t have to repeat these lines in every shader, that’s what _base shaders are for:


q3map_lightmapsamplesize 64 
q3map_lightmapaxis z 
q3map_texturesize 512 512 
q3map_tcGen ivector ( 512 0 0 ) ( 0 512 0 ) 

instead put the shader below at the top of the file and include the line q3map_baseshader textures/popomaha/terrain_base at the top of all your other shaders


textures/popomaha/terrain_base
{
	q3map_nonplanar
	q3map_shadeangle 179
	q3map_lightmapsamplesize 64 
	q3map_lightmapaxis z 
	q3map_tcGen ivector ( 512 0 0 ) ( 0 512 0 )
}

this should make your file more compact and easier to read


(Mr_Tickles) #56

Ok, try the editing each of these lines in your shader: (once you have done the above modifications)

q3map_tcGen ivector ( 512 0 0 ) ( 0 512 0 )

try 64 in place of all of the 512’s in the above lines, save the shader, make sure it’s in the shaderlist.txt file, and you need to recompile the map each time.
then try the number 2048, save shader, recompile etc, hopefully you will see the difference.

Oh yeah, and keep a backup, it’s a lot easier to revert to an old copy than to change everything back.

Another tip, when you have the file open in wordpad, there is a nifty little option in ‘Edit’ that will allow you to replace phrases with other phrases. So just highlight the above code, type in the new line of code and press replace. Remember though to move the carat/cursor back to the very beginning of the file as it will only replace from the position of the carat/cursor downwards.