La información en este artículo es para Source. Haga clic aquí para más información.

$phong

From Valve Developer Community
< Es
Jump to: navigation, search
English (en)Español (es)Русский (ru)中文 (zh)Translate (Translate)

$phong es un UNTRANSLATED string "shader parameter" see Template:This is a/strings disponible en todos los juegos de Source Source desde Source 2006 Source 2006.

Sombreado phong en la piel, el pelo y los labios de Alyx.

También está disponible en sombreado Shader-ball.png LightmappedGeneric y Shader-ball.png WorldVertexTransition en todos los juegos desde Counter-Strike: Global Offensive Counter-Strike: Global Offensive. proporcionando reflexión difusa a baja intensidad y resaltado especular, enmascarados con una textura que controla su intensidad mediante téxeles. Para una explicación completa, véase materiales phong(en).

Note.pngNota:El sombreado phong LightmappedGeneric y WorldVertexTransition solo está disponible en CS:GO rama de motor CS:GO rama de motor. Es necesario que la luz solar ilumine el material de una entidad env_cascade_light para que funcione adecuadamente y usa sombras dinámicas generadas como máscara sobre las máscaras de sombreado tradicional ((en todos juegos desde Strata Source) env_projectedtexture 4 también afecta a los sólidos con sombreado phong activado)

.

Note.pngNota:El sombreado phong para LightmappedGeneric también está disponible en Mapbase Mapbase, pero se implementa distinto.
Icon-Important.pngImportante:En Black Mesa Black Mesa el reflejo de Lambert para nuevas iluminaciones(en) no funciona. Por tanto las mallas con $phong(en) o $halflambert(en) reciben luz de TODOS lados perpendicularmente. Si quieres usar $phong(en) o $halflambert(en) puedes corregir esto añadiendo para el material VMT(en) el parámetro "$halflambert_gbuffer_off" "1".

Sintaxis

$phong <bool(en)>
Note.pngNota:Todos los parámetros del siguiente ejemplo deben estar especificados en el material, de otro modo el sombreado phong no se muestra, excepto en Insurgency Insurgency.
Pendiente: Otros juegos que no necesitan parámetros phong (como Portal 2 en adelante)
VertexLitGeneric
{
	$phong 1

	$bumpmap				[texture]
	$phongexponent			5			// either/or
	$phongexponenttexture	[texture]	// either/or
	$phongboost				1.0
	$phongfresnelranges		"[0 0.5 1]"
}


Parámetros

Enmascarado

Warning.pngAviso:There are some caveats regarding $normalmapalphaenvmapmask and $selfillumfresnel when using $phong!


Phong requires mask. The alpha channel(en) of a bump map(en) acts as a Phong mask by default.
$basemapalphaphongmask(en) <boolean(en)> (en todos juegos desde Source 2007)
Shader(s): VertexLitGeneric
Use $basetexture's alpha channel(en) as the Phong mask instead of $bumpmap's alpha channel(en).
Warning.pngAviso:Using this with $normalmapalphaenvmapmask will override the mask used for $envmap to be the contents of the $basetexture's alpha channel!
Warning.pngAviso:Garry's Mod Garry's Mod Using this with $normalmapalphaenvmapmask and $envmap renders in $envmap and $phong be masked by both $basemapalphaphongmask alpha channel and $normalmapalphaenvmapmask alpha channel.
$basemapluminancephongmask(en) <boolean(en)> (en todos juegos desde Left 4 Dead)
Shader(s): VertexLitGeneric
Mask phong intensity based on the brightness of the $basetexture.
Icon-Bug.pngError:Basetexture Luminance will replace the mask used for $envmap, if $normalmapalphaenvmapmask is used.  [todo tested in?]
Icon-Bug.pngError:Doesn't work in Garry's Mod Garry's Mod.  [todo tested in?]
A global exponent value. Overrides an exponent mask if present.
$phongexponent2 is for WorldVertexTransition's second material in CS:GO rama de motor CS:GO rama de motor.
Shader(s): VertexLitGeneric
A per-texel exponent map. In an exponent map:
  • Red channel: Exponent mask (size of highlight, 0-255, where a value of 0 is a large highlight, 255 small.)
  • Green channel: Albedo tint mask (only if $phongalbedotint 1, 0-255, where a value of 0 is no tint, 255 full tint.)
  • Blue channel: Nothing.
  • Alpha channel: $rimlight mask (only if $rimmask 1.)
Note.pngNota:LightmappedGeneric and WorldVertexTransition do not have support for $phongexponenttexture. You must use $phongexponent instead.
$phongexponentfactor(en) <float(en)> (only in Source 2013 MultiplayerTeam Fortress 2)
Shader(s): VertexLitGeneric
Multiply the exponent from the $phongexponenttexture by this amount.
Tip.pngConsejo: The default value of this parameter is "0.0". However, a more reasonable default value would be "149.0"
$invertphongmask(en) <boolean(en)> (en todos juegos desde Source 2007)
Shader(s): VertexLitGeneric
Invert the value of the phong mask.
Icon-Bug.pngError:In Alien Swarms and Source 2013s Shadercode, using this parameter will invert the mask used for $envmap, not the one used for $phong!   [todo tested in?]
Confirmar: Is this the case for all branches?
$forcephong(en) <boolean(en)> (en todos juegos desde Portal 2)
Shader(s): VertexLitGeneric
Force phong shading on phong-using materials even at low GPU levels when mat_phong is disabled.
$diffuseexp(en) <float(en)> (only in Left 4 Dead series)
Shader(s): VertexLitGeneric, Infected
Diffuse exponent used for dynamic lights only.
Note.pngNota:have this with $halflambert greatly decrease it effect.
$shinyblood(en) <integer(en)> (only in Left 4 Dead series)
Shader(s): VertexLitGeneric, Infected
Derive phong mask from areas that are more red than others. Only when variation is disabled.
$shinybloodexponent(en) <integer(en)> (only in Left 4 Dead series)
Shader(s): VertexLitGeneric, Infected
Exponent for the above.

Brillo

Shader(s): VertexLitGeneric, LightmappedGeneric((solo en Mapbase))
Phong brightness factor. Larger values create a more intense highlight, useful for surfaces like metal and glass.
Shader(s): VertexLitGeneric, LightmappedGeneric((solo en Mapbase))
See Phong Fresnel ranges. Default is "[0 0.5 1]".
Note.pngNota:$envmap is also affected by these fresnel ranges if both it and Phong are enabled in a material.
Note.pngNota: drives the x component of a phongwarptexture if specified.
$phongdisablehalflambert(en) <boolean(en)> (en todos juegos desde Alien Swarm) (también en Garry's Mod,Mapbase)
Shader(s): VertexLitGeneric
Disables forced half-lambertian(en) shading on Phong materials.
Note.pngNota:This parameter is effectively forced on in CS:GO rama de motor CS:GO rama de motor due to $halflambert being disabled.

Colores

$phongalbedotint(en) <boolean(en)> (en todos juegos desde Source 2007)
Shader(s): VertexLitGeneric
Tints the phong reflection by the color of the $basetexture. The amount of tint is defined by the green channel of $phongexponenttexture. A $phongexponenttexture must be specified in order for $phongalbedotint to work.
Warning.pngAviso:$phongalbedotint cannot be used with $phongtint. The later will disable the effect.
Note.pngNota:$phongalbedotint works by multiplying the $basetexture over the reflection, without darkening the albedo. The reflection will get dimmer as a result, so account for this in the phong mask or with $phongboost.
Note.pngNota:$phongalbedotint will tint highlights by the original color of the $basetexture even when the material is tinted by $color2 or rendercolor.
$phongalbedoboost(en) <float(en)> (en todos juegos desde Counter-Strike: Global Offensive) (también en Garry's Mod)
Shader(s): VertexLitGeneric
Phong albedo overbrightening factor. Ranges 0-255.
Note.pngNota: This will multiply the tint that is being applied to phong from $phongalbedotint.
Icon-Bug.pngError: This does not work when using $detail(en).   [todo tested in?]
The Hunter without and with its $phongwarptexture, showing how it affects the Phong reflection.
$phongtint(en) <RGB(en) matrix(en)> (en todos juegos desde Source 2007)
Shader(s): VertexLitGeneric
Color tint of the phong reflection.
Warning.pngAviso:This will override $phongalbedotint if both are used.
Note.pngNota: Also tints $rimlight
Breakdown of the $phongwarptexture: computed coordinates, texture and result
$phongwarptexture(en) <texture(en)> (en todos juegos desde Source 2007)
Shader(s): VertexLitGeneric
Used to create an iridescence effect, as seen on Episode Two's Hunters(en).
The highlight is multiplied with a texture. The coordinates of the sampled pixel are as follows:
x: 1 - (distance to the center of the highlight)
y: 1 - (fresnel component as computed by Phong Fresnel ranges)
Note.pngNota:Disables the initial phongfresnelranges masking
Icon-Bug.pngError:Does not work in Left 4 Dead 2 Left 4 Dead 2.  [todo tested in?]
Brush phong in Counter-Strike: Global Offensive Counter-Strike: Global Offensive using tile/hr_t/inferno/tile_a. Note the complete absence of the reflection in the shaded area.

Parámetros de sombreado de sólidos (solo en CS:GO rama de motor)(también en Garry's Mod)

Shader(s): LightmappedGeneric, WorldVertexTransition
The first value controls the contrast level between light and dark areas in the mask, and the second value controls the overall brightness.
$phongmaskcontrastbrightness2 is for WorldVertexTransition's second material.
Pendiente: Find out the range of both values.
Shader(s): LightmappedGeneric, WorldVertexTransition
The first 3 values control the color tint, and the fourth value controls the brightness. The fourth value can go beyond 1, but affects the brightness of the whole texture, not just the highlight.
$phongamount2 is for WorldVertexTransition's second material.
Shader(s): LightmappedGeneric, WorldVertexTransition
Allows the $basetexture and/or $basetexture2 to tint the color of the Phong highlight.

Comandos de consola

mat_phong <boolean(en)>
Desactiva o activa el sombreado phong. Por defecto 1.

Véase también

Enlaces externos