¿Qué es el formato de archivo VTF?
Un archivo .vtf es un archivo Valve Texture Format, el contenedor de texturas binario propietario utilizado por el motor Source de Valve, introducido por primera vez con Half-Life 2 en noviembre de 2004. Los archivos VTF almacenan datos de textura comprimidos o sin comprimir listos para la GPU junto con una pirámide de mip-maps preconstruida y una pequeña miniatura comprimida en DXT1 utilizada para previsualizaciones del motor.
El archivo comienza con la firma mágica de 4 bytes VTF\0 (hex 56 54 46 00) seguida de un par de versión mayor/menor (la mayor siempre es 7; la menor oscila entre 0 y 6). El encabezado codifica las dimensiones de la imagen, el recuento de fotogramas, la profundidad (para texturas de volumen), el recuento de caras de cube-map, un vector de color de reflectividad y un enumerador de formato de píxel. La versión 7.3 añadió una sección de datos de recursos extensible para fragmentos de metadatos arbitrarios definidos por el motor.
Los formatos de píxel compatibles incluyen DXT1 (4 bpp), DXT5 (8 bpp), BGR888 (24 bpp), BGRA8888 (32 bpp) y RGBA16161616F (64 bpp HDR). Las dimensiones de la imagen deben ser potencias de dos, hasta 4096×4096 en el uso típico.
Las texturas .vtf siempre se emparejan con un archivo .vmt (Valve Material Type) que define los parámetros del sombreador, el tipo de superficie y los modos de mezcla, haciendo referencia al .vtf por su nombre. VTFEdit es la herramienta estándar de la comunidad para crear y editar archivos .vtf fuera del SDK de Valve.
En Source 2, el equivalente de textura compilada es .vtex_c, producido por el flujo de trabajo VTex en lugar de VTFEdit.
Seguridad y protección
RIESGO: LOWVTF es un archivo de datos de textura sin código ejecutable. Los archivos VTF creados maliciosamente podrían, teóricamente, activar errores de análisis en VTFLib/VTFEdit (desbordamientos de búfer en los campos de dimensión o formato), pero esto es una preocupación teórica. En la práctica, solo abra archivos VTF de fuentes de juegos o mods confiables.
Detalles del formato
en pocas palabrasProgramas que abren archivos VTF
Detalles técnicos
especificación profunda| Bytes mágicos | 56 54 46 00 («VTF\0») en el desplazamiento 0; versión mayor (siempre 7) y versión menor (0-6) en el desplazamiento 4 como dos DWORDs |
| Orden de bytes | Little-endian |
| Formatos de píxel | DXT1 (4 bpp), DXT3, DXT5 (8 bpp), BGR888 (24 bpp), BGRA8888 (32 bpp), RGBA16161616F (64 bpp HDR); seleccionados por el enumerador de formato en el encabezado |
| Pirámide de mip-maps | Cadena completa de mips almacenada desde el nivel más pequeño al más grande; recuento de mips especificado en el encabezado; utilizado para renderizado LOD |
| Miniatura | Pequeña previsualización de baja resolución comprimida en DXT1 almacenada en el área del encabezado; utilizada por el motor para la identificación rápida de recursos |
| Tipos de textura | Texturas 2D, cube-maps (6 caras), texturas de volumen/3D, sprites animados (múltiples fotogramas), mapas de normales |
| Restricciones de dimensión | Se requiere potencia de dos (anterior a v7.5); máximo típico 4096x4096; algunas versiones de Source admiten hasta 16384x16384 |
| Sección de recursos | Fragmentos de datos de recursos extensibles añadidos en v7.3, que permiten metadatos arbitrarios definidos por el motor; utilizados para datos de hojas de partículas, etc. |
| Tamaño típico | 4 KB - 32 MB dependiendo de la resolución, los niveles de mip y el formato de píxel |
| Formato emparejado | Siempre se utiliza con un archivo .vmt (Valve Material Type) que define el sombreador, el modo de mezcla y el tipo de superficie; el .vtf solo contiene los datos de píxeles |
| Compresión | Sin compresión a nivel de archivo; la compresión de texturas de GPU (DXT1/DXT5/BCn) está integrada en los datos de píxeles almacenados |
| Equivalente en Source 2 | .vtex_c (compilado por el flujo de trabajo VTex); VTF sigue vigente para los títulos del motor Source (Team Fortress 2, CS:GO, etc.) |
| Lanzado | 2004 (Half-Life 2 and Source engine launch) |
| Última versión | VTF 7.5 (Source engine); VTF 7.6 (Source 2 / Portal 2 on Linux) |
| Especificación | developer.valvesoftware.com |
Conversiones de VTF
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos VTF.