Was ist das FP-Dateiformat?
Eine .fp-Datei ist eine Assembler-ähnliche Shader-Quelldatei im Klartext, die in der veralteten OpenGL-Erweiterung ARB_fragment_program (ratifiziert im September 2002) verwendet wird. Jede Datei teilt der GPU mit, wie die Farbe eines gerenderten Pixels berechnet werden soll - die Fragment-Stufe der Grafik-Pipeline - unter Verwendung eines Low-Level-Registersatzes anstelle einer High-Level-Shading-Sprache.
Korrekt formatierte .fp-Dateien beginnen mit der Header-Direktive !!ARBfp1.0, gefolgt von PARAM-Deklarationen (Bindung von Shader-Konstanten an Programmumgebungs- oder lokale Parameter), TEMP-Registerdeklarationen und Assembler-Opcodes wie MOV, MUL, ADD, TEX, DP3, DP4 und MAD. Die Datei endet mit einer END-Direktive.
Das Format wurde von 3D-Anwendungen der frühen 2000er Jahre übernommen, darunter Celestia, das Open-Source-Weltraumsimulationsprogramm, das immer noch veraltete .fp-Shader für das Rendering von Planeten, Sternen und Raumfahrzeugen pro Objekt mitliefert. Celestia wird weiterhin aktiv auf GitHub gepflegt.
ARB_fragment_program wurde abgelöst, als GLSL (OpenGL Shading Language) im September 2004 mit OpenGL 2.0 eingeführt wurde. OpenGL 3.1 (2009) entfernte Assembler-Programme vollständig aus dem Core-Profil. Moderne GPU-Shader werden stattdessen in GLSL (.glsl / .frag-Dateien) oder HLSL geschrieben.
Da .fp reiner ASCII-Text ist, kann jeder Texteditor sie öffnen, wobei Editoren mit GLSL-Syntax-Highlighting die am besten lesbare Erfahrung bieten. Die Dateien reichen von einigen Dutzend Zeilen für einfache Effekte bis hin zu mehreren hundert Zeilen für komplexe Multi-Textur-Mischvorgänge.
Sicherheit
RISIKO: LOWKlartext-Shader-Dateien ohne ausführbaren Inhalt außerhalb einer 3D-Laufzeitumgebung. Eine von einem bösartigen Celestia-Add-on geladene FP-Datei könnte potenziell Rendering-Artefakte oder Ressourcenmissbrauch durch pathologische Shader verursachen, aber es besteht kein Risiko der Codeausführung außerhalb des GPU-Shader-Compilers. Standardmäßige Textdatei mit geringem Risiko.
Formatdetails
kurz gefasst- FileMaker Pro 4-6 Datenbank - FileMaker Pro Versionen 4-6 speicherten Datenbanken mit der Erweiterung .fp (.fp3, .fp5 waren gängige Varianten); FileMaker Pro 7+ verwendet .fp7 und später .fmp12.
- Visual FoxPro / FoxPro 2.x Konfigurationsdatei - Microsoft FoxPro 2.x (DOS/Windows, 1990er) verwendete .fp für Konfigurationsdateien; Visual FoxPro ist EOL (2015), diese Dateien sind seltene Relikte.
Programme zum Öffnen von FP-Dateien
Technische Details
technische Spezifikation| Datei-Header-Direktive | „!!ARBfp1.0“ - erforderliche erste Zeile in jeder gültigen ARB-Fragment-Programmdatei |
| Befehlssatz | Assembler-Opcodes: MOV, MUL, ADD, MAD, TEX, DP3, DP4, LRP, POW, SWZ und andere, die in der ARB_fragment_program-Spezifikation definiert sind |
| Registertypen | TEMP (allgemeiner Zweck), ATTRIB (Fragment-Eingabe), OUTPUT (result.color / result.depth), PARAM (Konstanten und Umgebungsbindungen) |
| Texturzugriff | TEX / TXB / TXP / TXD Befehle; bis zu 16 Texturbildeinheiten pro Programm (Spezifikationsminimum) |
| Max. ALU-Befehle | 1.024 pro Programm (Spezifikationsminimum; Treiberimplementierungen erlauben oft mehr) |
| Max. TEMP-Register | 16 temporäre Register (Spezifikationsminimum) |
| Max. PARAM-Bindungen | 24 lokale Parameter + 96 Umgebungsparameter-Bindungen (Spezifikationsminima) |
| Kodierung | Reiner ASCII-Text; keine Nicht-ASCII-Zeichen in Opcodes oder Direktiven |
| Typische Dateigröße | 1 KB - 50 KB |
| Begleitformat | Gepaart mit `.vp` (ARB Vertex Program) Dateien, um einen vollständigen Ersatz für die Fixed-Function Vertex- und Fragment-Pipeline zu bilden |
| Ausführungsmodell | Wird einmal pro gerastertem Fragment ausgeführt; die Basisspezifikation hat keine bedingten Verzweigungen oder Schleifen (Erweiterungen fügten diese später hinzu) |
| Bekannter Anwender | Der Weltraumsimulator Celestia (Open-Source) liefert veraltete `.fp`-Shader für das Rendering von Planeten und Raumfahrzeugen mit |
| Abgelöst durch | GLSL (`.frag` / `.glsl`), eingeführt mit OpenGL 2.0 (September 2004); aus dem OpenGL-Core-Profil in Version 3.1 (2009) entfernt |
| Plattformunterstützung | Windows, Linux, macOS - jede Plattform mit OpenGL 1.4+ und der ARB_fragment_program-Erweiterung |
| Veröffentlicht | 2002 (ARB_fragment_program OpenGL extension; Celestia adoption circa 2003-2004) |
| Neueste Version | ARB_fragment_program spec v1.0; effectively superseded by GLSL (OpenGL 2.0, 2004) |
| Offener Standard | Ja · lizenzgebührenfrei |
| Spezifikation | www.khronos.org |
FP-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu FP-Dateien.