Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PaintBlob shader from CS:GO #2569

Open
piqey opened this issue Dec 26, 2024 · 2 comments
Open

PaintBlob shader from CS:GO #2569

piqey opened this issue Dec 26, 2024 · 2 comments
Labels
Shaders The issue relates to shaders.

Comments

@piqey
Copy link

piqey commented Dec 26, 2024

In the March 2024 Update, we got support for the SolidEnergy shader from CS:GO for increased compatibility with visuals from Portal 2 maps. It would be nice to get support for the PaintBlob shader as well, as it can be used to create a number of interesting visual effects, such as sheets of ice with a sort of pseudo-subsurface scattering:

Image

As the PaintBlob shader was originally created for Portal 2's paint blobs and the wiki page for PaintBlob doesn't provide any VMT snippets for this screenshot, I'm going to look into reverse engineering them myself (or a similar effect with gmod-native textures). But, in the meantime, I figured it'd be best to submit this request while I work on acquiring that additional information.

@robotboy655 robotboy655 added the Shaders The issue relates to shaders. label Dec 26, 2024
@piqey
Copy link
Author

piqey commented Dec 26, 2024

This is the closest I could get to the screenshot:

Image
Image

The prop_static archways were for testing $contactshadows, but enabling that didn't seem to do anything other than make the material freak out when viewed in Hammer.

"PaintBlob"
{
	$basetexture		"nature/vostok_snow"

	$uvscale			.004

	$normalmap		"dev/watera_normal"
	$bumpstrength		1.3333

	$phongexponent		40
	$phongboost		2
	$phongexponent2		400
	$phongboost2		7

	$rimlightexponent		4
	$rimlightboost		2.2

	$opacitytexture			"detail/dt_walltexture01"
	$translucent			1
	$translucentfresnelminmaxexp		"[ 0 1 6 ]"

	$envmap			env_cubemap

	$fresnelBumpStrength	1.0

	$interior			0
//	$interiorlayer		1
	$interiorFogStrength		.00325
	$interiorFogLimit		.56
	$interiorFogNormalBoost	8.5
	$interiorBackgroundBoost	8
	$interiorAmbientScale	1
	$interiorBacklightScale	1
	$interiorColor		"[ .4 .8 1 ]"
	$interiorRefractStrength	.7667

	$nocull			1

	$contactshadows		0
}

"nature/vostok_snow" and "detail/dt_walltexture01" are textures unique to CS:GO, but any texture should work for $basetexture and any grayscale mask should work for $opacitytexture.

@piqey
Copy link
Author

piqey commented Dec 28, 2024

Apparently there's another shader in the CS:GO engine branch, IceSurface, which is almost the same but includes additional features.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Shaders The issue relates to shaders.
Projects
None yet
Development

No branches or pull requests

2 participants