¿Qué es el formato de archivo FP?
Un archivo .fp es un archivo fuente de sombreador tipo ensamblador en texto plano utilizado en la extensión heredada ARB_fragment_program de OpenGL (ratificada en septiembre de 2002). Cada archivo le indica a la GPU cómo calcular el color de un píxel renderizado -la etapa de fragmento del flujo de gráficos- utilizando un conjunto de instrucciones de máquina de registros de bajo nivel en lugar de un lenguaje de sombreado de alto nivel.
Los archivos .fp bien formados comienzan con la directiva de encabezado !!ARBfp1.0, seguida de declaraciones PARAM (que vinculan constantes del sombreador al entorno del programa o parámetros locales), declaraciones de registro TEMP y códigos de operación de ensamblador como MOV, MUL, ADD, TEX, DP3, DP4 y MAD. El archivo finaliza con una directiva END.
El formato fue adoptado por aplicaciones 3D de principios de la década de 2000, incluyendo Celestia, el programa de simulación espacial de código abierto, que todavía incluye sombreadores .fp heredados para el renderizado por objeto de planetas, estrellas y naves espaciales. Celestia se mantiene activamente en GitHub.
ARB_fragment_program fue reemplazado cuando GLSL (OpenGL Shading Language) se lanzó con OpenGL 2.0 en septiembre de 2004. OpenGL 3.1 (2009) eliminó por completo los programas de ensamblador del perfil principal (core profile). Los sombreadores de GPU modernos se escriben en GLSL (archivos .glsl / .frag) o HLSL en su lugar.
Debido a que .fp es texto ASCII plano, cualquier editor de texto puede abrirlo, aunque los editores con resaltado de sintaxis GLSL proporcionan la experiencia de lectura más cercana. Los archivos varían desde unas pocas docenas de líneas para efectos simples hasta varios cientos de líneas para pases complejos de mezcla de múltiples texturas.
Seguridad y protección
RIESGO: LOWArchivos de sombreador en texto plano sin contenido ejecutable fuera de un entorno de ejecución 3D. Un archivo FP cargado por un complemento malicioso de Celestia podría causar artefactos de renderizado o abuso de recursos mediante sombreadores patológicos, pero no existe riesgo de ejecución de código fuera del compilador de sombreadores de la GPU. Archivo de texto estándar de bajo riesgo.
Detalles del formato
en pocas palabras- Base de datos FileMaker Pro 4-6 - Las versiones 4-6 de FileMaker Pro guardaban bases de datos con la extensión .fp (las variantes .fp3, .fp5 eran comunes); FileMaker Pro 7+ utiliza .fp7 y posteriormente .fmp12.
- Archivo de configuración de Visual FoxPro / FoxPro 2.x - Microsoft FoxPro 2.x (DOS/Windows, década de 1990) utilizaba .fp para archivos de configuración; Visual FoxPro está en fin de vida (2015), estos archivos son artefactos heredados raros.
Programas que abren archivos FP
Detalles técnicos
especificación profunda| Directiva de encabezado de archivo | «!!ARBfp1.0» - primera línea obligatoria en cada archivo de programa de fragmentos ARB válido |
| Conjunto de instrucciones | Códigos de operación estilo ensamblador: MOV, MUL, ADD, MAD, TEX, DP3, DP4, LRP, POW, SWZ y otros definidos en la especificación ARB_fragment_program |
| Tipos de registro | TEMP (propósito general), ATTRIB (entrada de fragmento), OUTPUT (result.color / result.depth), PARAM (constantes y vínculos de entorno) |
| Acceso a texturas | Instrucciones TEX / TXB / TXP / TXD; hasta 16 unidades de imagen de textura por programa (mínimo de la especificación) |
| Máximo de instrucciones ALU | 1.024 por programa (mínimo de la especificación; las implementaciones de controladores pueden permitir más) |
| Máximo de registros TEMP | 16 registros temporales (mínimo de la especificación) |
| Máximo de vínculos PARAM | 24 parámetros locales + 96 vínculos de parámetros de entorno (mínimos de la especificación) |
| Codificación | Texto ASCII plano; sin caracteres no ASCII en códigos de operación o directivas |
| Tamaño de archivo típico | 1 KB - 50 KB |
| Formato complementario | Se empareja con archivos `.vp` (ARB vertex program) para formar un reemplazo completo de la canalización de vértices y fragmentos de función fija |
| Modelo de ejecución | Se ejecuta una vez por fragmento rasterizado; la especificación base no tiene ramificaciones condicionales ni bucles (las extensiones los agregaron más tarde) |
| Adoptante conocido | El simulador espacial Celestia (código abierto) incluye sombreadores `.fp` heredados para el renderizado por objeto de planetas y naves espaciales |
| Reemplazado por | GLSL (`.frag` / `.glsl`) introducido con OpenGL 2.0 (septiembre de 2004); eliminado del perfil principal de OpenGL en la versión 3.1 (2009) |
| Soporte de plataforma | Windows, Linux, macOS - cualquier plataforma con OpenGL 1.4+ y la extensión ARB_fragment_program |
| Lanzado | 2002 (ARB_fragment_program OpenGL extension; Celestia adoption circa 2003-2004) |
| Última versión | ARB_fragment_program spec v1.0; effectively superseded by GLSL (OpenGL 2.0, 2004) |
| Estándar abierto | Sí · libre de regalías |
| Especificación | www.khronos.org |
Conversiones de FP
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos FP.