Es/$distancealpha

es una técnica de filtrado sencilla para imágenes de patrones poligonales. Da ventaja en métodos de filtrado de texturas en hardware 3D, definiendo una serie de por encima, por debajo y entre medias de los efectos aplicados. Esta función se añadió al motor con el lanzamiento . Es ideal para elementos de interfaz, vegetación, vallas de cadenas y otros elementos.
;Ventajas
:Bordes de vectores en imágenes de patrones poligonales, incluso con aumentos extremos.
:Mayor adaptación a gran distancia.
;Desventajas: se ve extremadamente pixelado desde ciertos ángulos en algunas situaciones.
Para (mucho) más detalle, véase el papel SIGGRAPH.
== Creación de texturas ==
Las texturas alfa en la distancia se crean en resoluciones muy altas. Valve usa imágenes en 4096x4096, pero SDK no es capaz de ejecutar si se superan los 2048x2048, provocando un cuelgue.
La imagen debe ser completamente normal, excepto si el canal alfa puede evitar los gradientes.
Para compilar las texturas, es necesario usar ; herramientas de terceros no soportan la distancia alfa aún.
Tu archivo .txt debe ser similar a este aspecto:
 // Enable distance alpha compiling
 alphatodistance 1
 
 // Scale the image down to 1/nth its original size. '8' takes 2048 down to 256
 reduce 8
 
 // Size of 'spread' zone between alpha values of 0 and 1. This is the area the shader works with.
 // Bear in mind that higher numbers exponentially increase texture compile time!
 distancespread 4
 
 // To prevent artefacting:
 nomip 1
 nolod 1
 nocompress 1
== Creación de material (class_spy_outline) ==
Este material se mustra en cuando un Spy se disfraza o se quita el disfraz. Como debe ocupar toda la pantalla, sin importar su resolución, esta textura (vista a la izquierda) es solo de 256 píxeles.
 
 {
 		hud\class_spy_outline
 		1
 	$distancealpha	1
 	
 	$softedges		1
 	$edgesoftnessstart	.5
 	$edgesoftnessend	.46
 	$scaleedgesoftnessbasedonscreenres 1
 	
 	$glow		1
 	$glowcolor	"[0 0 0]"
 	$glowalpha	.4
 	$glowstart	.1
 	$glowend	.5
 	//$glowx	.98
 	//$glowy	.98
 
 		1
 		1
 		1
 		1
 }
Los comandos más interesantes aquí son start y end. Sus valores determinan el rango de los valores alfa en los que cada efecto se aplica.
*$softedges se aplica del 50 % al 46 % de opacidad
*$glow se aplica del 10 % al 50 % de opacidad
Con $glowcolor para el negro y $glowalpha al 40 %, el efecto brillo se verá como una sombra.
== Efectos ==
===$softedges===
Desvanece todos los canales de color de $edgesoftnessstart (opaco) a $edgesoftnessend (transparente).
;$scaleedgesoftnessbasedonscreenres <>
:
===$glow===
Crea un gradiente monótono de $glowstart (opaco) a $glowend (transparente).
; $glowcolor <RGB>
: Color del brillo.
; $glowalpha <>
: Opacidad del brillo.
; $glowx <normal>
; $glowy <normal>
: Contraste del brillo; bueno para efectos de sombras.
; $glowstart <normal>
; $glowend <normal>
: Canal alfa. $glowstart tiene intensidad total, $glowend es cuando se hace invisible.
===$outline===
Igual que en el brillo, pero con la opción añadida de definir la aspereza de los bordes.
; $outlinecolor <RGB>
: Color del contorno.
; $outlinealpha <>
: Opacidad del contorno.
; $outlinestart0 <normal>
; $outlinestart1 <normal>
: Define el borde exterior del contorno. Cualquier hueco entre dos valores será un gradiente.
: 0 es de exterior a exterior, mientras que 1 es de interior a exterior.
; $outlineend0 <normal>
; $outlineend1 <normal>
: Define el borde interior del contorno. 
: 0 es de exterior a interior, mientras que 1 es de interior a interior. 
; $scaleoutlinesoftnessbasedonscreenres 1
: Escala la suavidad del contorno según la resolución de pantalla del usuario.