[INFO] Checkers as cubemaps

grazr

Old Man Mutant Ninja Turtle
aa
Mar 4, 2008
5,441
3,814
Interesting.

People do appreciate proper grammar and punctuation.

Also you might want to reference/quote the full cubemap compile command list as stated by Samn in the thread that inspired you to create this tutorial.

The title could probably be a little more relative too, it's a little obscure. People might not click this topic as it may not sound relavent to them.

You should quote the full commands for cheats and developer (i believe there is a useful third command too but it's been so long since my last compile, i forget what commands i have running) and define them and explain why you need them.

You babbled a fair amount distracting a bit from the important information you were trying to convey. Overall you presume the reader has a level of understanding equal to that of this tutorial, remember, you are trying to explain this to someone who doesn't know what they are doing; who probably wont understand what "developer 1/2" means.

There's no need to mention bspzip or pakrat here, they don't, or atleast shouldn't come into this process.

P.S. people might want to see some screen shots.
 

samn

L4: Comfortable Member
Mar 28, 2008
158
47
Cubemaps are basically pictures that are transferred onto any nearby reflective surfaces. When you put a cubemap entity into a map, compile, and then type the necessary commands into the game while the map is running, the game looks at the map from the viewpoint of each cubemap entity and generates 6 pictures of the surrounding area. Each reflective surface such as the sniper's scope, some types of water and shiney floors then grab the pictures from the cubemap entity nearest to them and use it as their own kind of texture. It is important to have many cubemap entities spaced throughout the level, usually one in every room (or several in a room if it's quite large) so that the reflections seem accurate and reflect the word around them.

I posted the commands you need to run ingame after compiling your map in another thread:
Compile your map (make sure there are cubemap entities spaced throughout the map)
Ignore those errors you get when you compile.
Start TF2, turn HDR OFF and go into console and type mat_specular 0.
Start your map and type 'sv_cheats 1' then 'buildcubemaps' into the console.
Turn HDR ON, reload the map, type the same into your console. Leave the map, type mat_specular 1, load the map and hopefully it should be working properly.

You will need to do this everytime you compile.
After the game has generated the cubemap images (they will flash up on your screen for some time) it packs them into the file. When you recompile your map and overwrite the map you just built cubemaps for, it will also overwrite the cubemap images packed into the map.

The reason you never see moving objects like players, rockets or stickybombs reflected on surfaces is that the reflective surface is showing a reflection of the world around it at the time the commands were run, not while a match is being played. Some newer engines have more realistic reflections because they are generating the cubemap images on-the-fly so you can see moving objects reflected.

The reason FaTony mentioned Pakrat is because Pakrat allows you to see a list of files that are packed into the map. The cubemap images appear on this list and can be viewed, removed or edited, but it's really not necessary. Pakrat is mainly used to put custom textures sounds and models into a map so that those who do not have these custom files installed can see them in the map anyway.
 

samn

L4: Comfortable Member
Mar 28, 2008
158
47
Tbh your post wasn't very helpful in explaining how to use cubemaps or how they work, and beginners could be confused..
 

Nineaxis

Quack Doctor
aa
May 19, 2008
1,767
2,820
Yeah, it wasn't that helpful and didn't explain anything except that you weren't explaining how to build cubemaps, which is truly the fix for the lack of them.

And you shouldn't encourage doing LDR maps.
 

Vander

L8: Fancy Shmancy Member
Feb 16, 2008
506
215
Cubemaps are basically pictures that are transferred onto any nearby reflective surfaces. When you put a cubemap entity into a map, compile, and then type the necessary commands into the game while the map is running, the game looks at the map from the viewpoint of each cubemap entity and generates 6 pictures of the surrounding area. Each reflective surface such as the sniper's scope, some types of water and shiney floors then grab the pictures from the cubemap entity nearest to them and use it as their own kind of texture. It is important to have many cubemap entities spaced throughout the level, usually one in every room (or several in a room if it's quite large) so that the reflections seem accurate and reflect the word around them.

I posted the commands you need to run ingame after compiling your map in another thread:

After the game has generated the cubemap images (they will flash up on your screen for some time) it packs them into the file. When you recompile your map and overwrite the map you just built cubemaps for, it will also overwrite the cubemap images packed into the map.

The reason you never see moving objects like players, rockets or stickybombs reflected on surfaces is that the reflective surface is showing a reflection of the world around it at the time the commands were run, not while a match is being played. Some newer engines have more realistic reflections because they are generating the cubemap images on-the-fly so you can see moving objects reflected.

The reason FaTony mentioned Pakrat is because Pakrat allows you to see a list of files that are packed into the map. The cubemap images appear on this list and can be viewed, removed or edited, but it's really not necessary. Pakrat is mainly used to put custom textures sounds and models into a map so that those who do not have these custom files installed can see them in the map anyway.

Probably the best explanation I have read on how cubemaps work! Thanks for the post Samn.

Thanks to Fatony as well, your heart was in the right place big guy!
 

Beetle

L9: Fashionable Member
Aug 17, 2008
627
178
Well in his defense, he wasn't explaining how to use cubemaps or their main purpose. This was helpful for me including what Samn said in another thread. Samn told me how to fix the problem, and FaTony explained why. It was a bit confusing, but it pretty much explained it. I knew alt tabbing screwed with tf2, but i didn't know it actually affected the bsp.
 

grazr

Old Man Mutant Ninja Turtle
aa
Mar 4, 2008
5,441
3,814
I'm not sure alt tabbing actually effects the bsp itself..

It's probably a bug encountered when your RAM moves certain data from it's memory to virtual memory (so that you have free memory to do what ever you gotta do from your desktop), and forgets to bring it back up when you get back ingame. Reflective materials arn't a priority ingame as people run multiple dx settings and this just gets overlooked. I'd imagine it needs reloading or something but this is a little beyond my knowlegde and simply speculation.

What samn was saying was that the bsp gets overwritten when you build your cubemaps. They just don't show at first because you're still running the version without the cubemaps, which is why you need to reload your map to see them.
 

joeholley

L1: Registered
Aug 26, 2008
11
0
So what do we do? Purge map filesystem by simple loading another map and then loading our map again. This would completely erase any offset-size data of our previous map from tf2's memory. In my case i have a very tiny map that I switch to before minimizing tf2 to prevent checkers when I load my current map.

FYI, you can do this a bit quicker by typing this in the console:
disconnect
map mapname
This basically just shuts down the server and then restarts it, loading your map again. Would at least save you the up to half a minute or so it takes to load up another map.

Your post does have some useful info, but I agree that the title would lead most beginners to think that they were about to read something different, like a tutorial on how to get rid of the checkerboard reflections that are so puzzling when they start out.