Difference between revisions of "PBR"

From Empires Wiki
Jump to: navigation, search
(Parameters)
Line 8: Line 8:
 
* $pbrlookup - Must be set to "dev/pbr_lookup"
 
* $pbrlookup - Must be set to "dev/pbr_lookup"
 
* $surfaceprop - One of the following: https://developer.valvesoftware.com/wiki/$surfaceprop
 
* $surfaceprop - One of the following: https://developer.valvesoftware.com/wiki/$surfaceprop
 +
* $model - Should have a value of 1 if the texture is used on a prop.
 
* %keywords - A list of keywords separated by commas, should contain 'empires' as first element. Examples of keywords are: architectural,brown,gray,grime,hanger,industrial,metal,modern,shed,urban,wall,floor
 
* %keywords - A list of keywords separated by commas, should contain 'empires' as first element. Examples of keywords are: architectural,brown,gray,grime,hanger,industrial,metal,modern,shed,urban,wall,floor
 
* $basetexturetransform - Looks like this: "center 0.5 0.5 scale 0.1025 0.1025 rotate 0 translate 0 0" for a 2m by 2m texture.
 
* $basetexturetransform - Looks like this: "center 0.5 0.5 scale 0.1025 0.1025 rotate 0 translate 0 0" for a 2m by 2m texture.

Revision as of 17:50, 22 January 2019

Physically based rendering shader. Source code is available at: https://github.com/thexa4/source-pbr

Parameters

  • $basetexture - The albedo texture
  • $normaltexture - The normal map
  • $mraotexture - A texture with the metalness on the red channel, roughness on the green channel and ambient occlusion on the blue channel.
  • $envmap - Must be set to "env_cubemap"
  • $pbrlookup - Must be set to "dev/pbr_lookup"
  • $surfaceprop - One of the following: https://developer.valvesoftware.com/wiki/$surfaceprop
  • $model - Should have a value of 1 if the texture is used on a prop.
  •  %keywords - A list of keywords separated by commas, should contain 'empires' as first element. Examples of keywords are: architectural,brown,gray,grime,hanger,industrial,metal,modern,shed,urban,wall,floor
  • $basetexturetransform - Looks like this: "center 0.5 0.5 scale 0.1025 0.1025 rotate 0 translate 0 0" for a 2m by 2m texture.

Example

"PBR"
{
 "$basetexture"   "mymod/newtexture_albedo"
 "$normaltexture" "mymod/newtexture_normal"
 "$mraotexture"   "mymod/newtexture_mrao"
 "$envmap"        "env_cubemap"
 "$pbrlookup"     "dev/pbr_lookup"
 "$surfaceprop"   "metal"
}

Integrating in your mod

The shader is built on top of the Base SDK github code. If you continued working on top of that and still use git, you can merge in this change: https://help.github.com/articles/syncing-a-fork/

Mapping

  • You have to start hammer with a -game <yourmod> startup parameter.
  • Make sure cubemaps are on on 128x128 or higher (default in Empires)

Getting help

If you need help or have suggestions, please contact @Thexa4 on the Empires Discord or the Source Modding Community.