Qu'est-ce que le format de fichier FP ?
Un fichier .fp est un fichier source de shader en texte brut de type assembleur utilisé dans l'extension héritée ARB_fragment_program d'OpenGL (ratifiée en septembre 2002). Chaque fichier indique au GPU comment calculer la couleur d'un pixel rendu - l'étape du fragment du pipeline graphique - à l'aide d'un jeu d'instructions de machine à registres de bas niveau plutôt qu'un langage de ombrage de haut niveau.
Les fichiers .fp bien formés commencent par la directive d'en-tête !!ARBfp1.0, suivie des déclarations PARAM (liant les constantes du shader aux paramètres de l'environnement du programme ou locaux), des déclarations de registre TEMP et des opcodes d'assembleur tels que MOV, MUL, ADD, TEX, DP3, DP4 et MAD. Le fichier se termine par une directive END.
Le format a été adopté par les applications 3D du début des années 2000, notamment Celestia, le programme de simulation spatiale open-source, qui fournit toujours des shaders .fp hérités pour le rendu par objet des planètes, des étoiles et des engins spatiaux. Celestia reste activement maintenu sur GitHub.
ARB_fragment_program a été remplacé lorsque le GLSL (OpenGL Shading Language) a été livré avec OpenGL 2.0 en septembre 2004. OpenGL 3.1 (2009) a entièrement supprimé les programmes d'assembleur du profil de base. Les shaders GPU modernes sont désormais écrits en GLSL (fichiers .glsl / .frag) ou en HLSL.
Comme le format .fp est en texte ASCII brut, n'importe quel éditeur de texte peut l'ouvrir, bien que les éditeurs disposant d'une coloration syntaxique GLSL offrent l'expérience de lecture la plus proche. Les fichiers vont de quelques dizaines de lignes pour des effets simples à plusieurs centaines de lignes pour des passes de mélange multi-textures complexes.
Sécurité et sûreté
RISQUE : LOWFichiers shader en texte brut sans contenu exécutable en dehors d'un environnement d'exécution 3D. Un fichier FP chargé par un module Celestia malveillant pourrait potentiellement causer des artefacts de rendu ou un abus de ressources via des shaders pathologiques, mais aucun risque d'exécution de code n'existe en dehors du compilateur de shader du GPU. Fichier texte standard à faible risque.
Détails du format
en bref- Base de données FileMaker Pro 4-6 - Les versions 4 à 6 de FileMaker Pro enregistraient les bases de données avec l'extension .fp (les variantes .fp3, .fp5 étaient courantes) ; FileMaker Pro 7+ utilise .fp7 et plus tard .fmp12.
- Fichier de configuration Visual FoxPro / FoxPro 2.x - Microsoft FoxPro 2.x (DOS/Windows, années 1990) utilisait .fp pour les fichiers de configuration ; Visual FoxPro est en fin de vie (2015), ces fichiers sont des artefacts hérités rares.
Programmes qui ouvrent les fichiers FP
Détails techniques
spécifications approfondies| Directive d'en-tête de fichier | « !!ARBfp1.0 » - première ligne obligatoire dans tout fichier de programme de fragment ARB valide |
| Jeu d'instructions | Opcodes de style assembleur : MOV, MUL, ADD, MAD, TEX, DP3, DP4, LRP, POW, SWZ, et autres définis dans la spécification ARB_fragment_program |
| Types de registres | TEMP (usage général), ATTRIB (entrée de fragment), OUTPUT (result.color / result.depth), PARAM (constantes et liaisons d'environnement) |
| Accès aux textures | Instructions TEX / TXB / TXP / TXD ; jusqu'à 16 unités d'image de texture par programme (minimum de la spécification) |
| Instructions ALU max | 1 024 par programme (minimum de la spécification ; les implémentations des pilotes peuvent en autoriser davantage) |
| Registres TEMP max | 16 registres temporaires (minimum de la spécification) |
| Liaisons PARAM max | 24 paramètres locaux + 96 liaisons de paramètres d'environnement (minimums de la spécification) |
| Encodage | Texte ASCII brut ; aucun caractère non-ASCII dans les opcodes ou les directives |
| Taille de fichier typique | 1 Ko - 50 Ko |
| Format compagnon | Associé aux fichiers `.vp` (ARB vertex program) pour former un remplacement complet du pipeline de sommets et de fragments à fonction fixe |
| Modèle d'exécution | S'exécute une fois par fragment rastérisé ; la spécification de base n'a pas de branchement conditionnel ni de boucle (des extensions les ont ajoutés plus tard) |
| Adoptant connu | Le simulateur spatial Celestia (open-source) utilise des shaders `.fp` hérités pour le rendu par objet des planètes et des engins spatiaux |
| Remplacé par | GLSL (`.frag` / `.glsl`) introduit avec OpenGL 2.0 (septembre 2004) ; supprimé du profil de base OpenGL dans la version 3.1 (2009) |
| Prise en charge des plateformes | Windows, Linux, macOS - toute plateforme avec OpenGL 1.4+ et l'extension ARB_fragment_program |
| Publié | 2002 (ARB_fragment_program OpenGL extension; Celestia adoption circa 2003-2004) |
| Dernière version | ARB_fragment_program spec v1.0; effectively superseded by GLSL (OpenGL 2.0, 2004) |
| Standard ouvert | Oui · libre de droits |
| Spécification | www.khronos.org |
Conversions FP
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers FP.