custom cubemaps in source?

Is it possible for certan models to have there own specified cubemaps?

Like this one:

(Yes I know It’s not a power of 2 its a cubemap.)


Please no comments on “why would you want this? source’s cubemaps are fine”.

Not as far as I know. Definitely not on a per-model basis. Maybe with some hacking of the map, you could do it, but it would apply to everything in an area.

Well you could look at the hunter’s shader. It has something similar to what you want to do. At least I think.

“env_cubemap is normally used, as it tells VBSP to swap in the name of the nearest env_cubemap when the map compiles. However it is also possible to enter the name of a texture directly.”

I figured that was what i’d use, but how should the texture be set?
(size of each square, direction of squares)

I dug around and found this which looks like an envmap:

I couldn’t find a .vmt for it though

You import them into VTFEdit as an envmap and the multiple textures become different “faces” for the texture.
I used to have it written down which face number was which direction and the correct rotation needed for it to work, but I lost the post-it note that I wrote it on.

They’re really simple to make once you have that sorted.

I reealy wish you knew where that post it was.

I only figured it out with trial and error anyway. So you can probably jsut do the same thing.
Make 6 textures (different colours might make it easier), add a few numbers to them with an underline for quick reference, import all 6 textures at once as an environment texture, then apply that to a model as it’s envmap. Use model viewer to determine how it will appear in-game, then write down the results as to which texture face number represents which direction and what orientation adjustments will be required per face.


Also, once it’s all confirmed and stuff, someone should add the info to the Valve dev wiki for easier reference on the topic.

Thank you so much! It looks Perfect!

I agree, I was surprised there was no documentation on that. :l

Sorry for bumping an old thread but it’s linked to the valve Developer Community Site as a resource so I thought I needed to add this:


** the d_00_00_00 and d_00_01_00 need to be switched for some reason **

Fixed that up ^

Here is an example of Valve’s reflection cubemap

here is another example of some of my custom made cubemaps