Hva er FP-filformatet?
En .fp-fil er en kildekodefil for shadere i ren tekst (assembly-lignende) som brukes i OpenGLs eldre ARB_fragment_program-utvidelse (godkjent september 2002). Hver fil forteller GPU-en hvordan den skal beregne fargen på en rendret piksel - fragmentstadiet i grafikk-pipelinen - ved hjelp av et lavnivå instruksjonssett for registermaskiner i stedet for et høynivå shadingspråk.
Velformede .fp-filer begynner med hodedirektivet !!ARBfp1.0, etterfulgt av PARAM-deklarasjoner (som binder shader-konstanter til programmiljø eller lokale parametere), TEMP-registerdeklarasjoner og assembly-opkoder som MOV, MUL, ADD, TEX, DP3, DP4 og MAD. Filen avsluttes med et END-direktiv.
Formatet ble tatt i bruk av 3D-applikasjoner tidlig på 2000-tallet, inkludert Celestia, det åpne romsimuleringsprogrammet, som fortsatt leveres med eldre .fp-shadere for rendring av planeter, stjerner og romfartøy. Celestia vedlikeholdes fortsatt aktivt på GitHub.
ARB_fragment_program ble erstattet da GLSL (OpenGL Shading Language) ble lansert med OpenGL 2.0 i september 2004. OpenGL 3.1 (2009) fjernet assembly-programmer helt fra kjerne-profilen. Moderne GPU-shadere skrives i GLSL (.glsl / .frag-filer) eller HLSL i stedet.
Fordi .fp er ren ASCII-tekst, kan ethvert tekstredigeringsprogram åpne den, selv om redigeringsprogrammer med GLSL-syntaksutheving gir den mest lesbare opplevelsen. Filene varierer fra noen få dusin linjer for enkle effekter til flere hundre linjer for komplekse blandingsoperasjoner med flere teksturer.
Sikkerhet og trygghet
RISIKO: LOWShader-filer i ren tekst uten eksekverbart innhold utenfor en 3D-kjøretid. En FP-fil lastet av et ondsinnet Celestia-tillegg kan potensielt forårsake rendringsfeil eller ressursmisbruk via patologiske shadere, men det eksisterer ingen risiko for kodeutførelse utenfor GPU-ens shader-kompilator. Standard tekstfil med lav risiko.
Formatdetaljer
i et nøtteskall- FileMaker Pro 4-6 Database - FileMaker Pro versjon 4-6 lagret databaser med filendelsen .fp (.fp3, .fp5 var vanlige varianter); FileMaker Pro 7+ bruker .fp7 og senere .fmp12.
- Visual FoxPro / FoxPro 2.x konfigurasjonsfil - Microsoft FoxPro 2.x (DOS/Windows, 1990-tallet) brukte .fp for konfigurasjonsfiler; Visual FoxPro er utgått (2015), disse filene er sjeldne historiske spor.
Programmer som åpner FP-filer
Tekniske detaljer
dyp spesifikasjon| Filhodedirektiv | «!!ARBfp1.0» - påkrevd første linje i enhver gyldig ARB fragment-programfil |
| Instruksjonssett | Assembly-lignende opkoder: MOV, MUL, ADD, MAD, TEX, DP3, DP4, LRP, POW, SWZ, og andre definert i ARB_fragment_program-spesifikasjonen |
| Registertyper | TEMP (generelle formål), ATTRIB (fragment-input), OUTPUT (result.color / result.depth), PARAM (konstanter og miljøbindinger) |
| Teksturtilgang | TEX / TXB / TXP / TXD-instruksjoner; opptil 16 teksturbilde-enheter per program (minimumskrav i spesifikasjonen) |
| Maks ALU-instruksjoner | 1 024 per program (minimumskrav; driverimplementasjoner kan tillate mer) |
| Maks TEMP-registre | 16 midlertidige registre (minimumskrav i spesifikasjonen) |
| Maks PARAM-bindinger | 24 lokale parametere + 96 miljøparameter-bindinger (minimumskrav) |
| Koding | Ren ASCII-tekst; ingen tegn utenfor ASCII i opkoder eller direktiver |
| Typisk filstørrelse | 1 KB - 50 KB |
| Ledsagerformat | Brukes sammen med `.vp` (ARB vertex program)-filer for å danne en komplett erstatning for den faste funksjons-pipelinen for verteks og fragment |
| Utførelsesmodell | Kjører én gang per rasterisert fragment; basespesifikasjonen har ingen betinget forgrening eller løkker (utvidelser la til dette senere) |
| Kjent bruker | Romsimulatoren Celestia (åpen kildekode) leveres med eldre `.fp`-shadere for rendring av planeter og romfartøy |
| Erstattet av | GLSL (`.frag` / `.glsl`) introdusert med OpenGL 2.0 (september 2004); fjernet fra OpenGL-kjerneprofilen i versjon 3.1 (2009) |
| Plattformstøtte | Windows, Linux, macOS - enhver plattform med OpenGL 1.4+ og ARB_fragment_program-utvidelsen |
| Utgitt | 2002 (ARB_fragment_program OpenGL extension; Celestia adoption circa 2003-2004) |
| Siste versjon | ARB_fragment_program spec v1.0; effectively superseded by GLSL (OpenGL 2.0, 2004) |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | www.khronos.org |
FP-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om FP-filer.
Ofte stilte spørsmål
Hva er en FP-fil?
Hvordan åpner jeg en FP-fil?
Brukes ARB fragment-program fortsatt?
Hvordan konverterer jeg en ARB .fp-shader til GLSL?
vec4-variabler erstatter registre, innebygde funksjoner (dot, texture) erstatter opkoder, og gl_FragColor/out vec4 erstatter result.color.