Vad är filformatet FP?
En .fp-fil är en källkodsfil för shaders i klartext (assembler-liknande) som används i OpenGL:s föråldrade tillägg ARB_fragment_program (ratificerat september 2002). Varje fil instruerar grafikprocessorn (GPU) hur färgen på en renderad pixel ska beräknas - fragmentstadiet i grafikpipelinen - med hjälp av en instruktionsuppsättning för registermaskiner på låg nivå snarare än ett högnivåspråk för shading.
Välformaterade .fp-filer börjar med huvuddirektivet !!ARBfp1.0, följt av PARAM-deklarationer (som binder shader-konstanter till programmiljö eller lokala parametrar), TEMP-registerdeklarationer och assembler-opkoder såsom MOV, MUL, ADD, TEX, DP3, DP4 och MAD. Filen avslutas med ett END-direktiv.
Formatet antogs av 3D-applikationer i början av 2000-talet, inklusive Celestia, det öppna rymdsimuleringsprogrammet, som fortfarande levereras med äldre .fp-shaders för rendering av planeter, stjärnor och rymdfarkoster. Celestia underhålls fortfarande aktivt på GitHub.
ARB_fragment_program ersattes när GLSL (OpenGL Shading Language) lanserades med OpenGL 2.0 i september 2004. OpenGL 3.1 (2009) tog helt bort assembler-program från kärnprofilen. Moderna GPU-shaders skrivs istället i GLSL (.glsl / .frag-filer) eller HLSL.
Eftersom .fp är vanlig ASCII-text kan vilken textredigerare som helst öppna den, även om redigerare med syntaxmarkering för GLSL ger den mest läsbara upplevelsen. Filerna varierar från ett fåtal dussin rader för enkla effekter till flera hundra rader för komplexa blandningspass med flera texturer.
Säkerhet & trygghet
RISK: LOWShader-filer i klartext utan exekverbart innehåll utanför en 3D-körtidsmiljö. En FP-fil som laddas av ett skadligt Celestia-tillägg skulle potentiellt kunna orsaka renderingsartefakter eller resursmissbruk via patologiska shaders, men ingen risk för kodexekvering finns utanför GPU-shaderns kompilator. Standard textfil med låg risk.
Formatdetaljer
i ett nötskal- FileMaker Pro 4-6 Databas - FileMaker Pro-versionerna 4-6 sparade databaser med filtillägget .fp (.fp3, .fp5 var vanliga varianter); FileMaker Pro 7+ använder .fp7 och senare .fmp12.
- Visual FoxPro / FoxPro 2.x konfigurationsfil - Microsoft FoxPro 2.x (DOS/Windows, 1990-talet) använde .fp för konfigurationsfiler; Visual FoxPro är EOL (2015), dessa filer är sällsynta historiska artefakter.
Program som öppnar FP-filer
Tekniska detaljer
djup specifikation| Filhuvuddirektiv | «!!ARBfp1.0» - obligatorisk första rad i varje giltig ARB-fragmentprogramfil |
| Instruktionsuppsättning | Opkoder i assembler-stil: MOV, MUL, ADD, MAD, TEX, DP3, DP4, LRP, POW, SWZ och andra definierade i ARB_fragment_program-specifikationen |
| Registertyper | TEMP (allmänna), ATTRIB (fragment-indata), OUTPUT (result.color / result.depth), PARAM (konstanter och miljöbindningar) |
| Texturåtkomst | Instruktionerna TEX / TXB / TXP / TXD; upp till 16 texturbildsenheter per program (minimum enligt specifikation) |
| Max ALU-instruktioner | 1 024 per program (minimum enligt specifikation; drivrutinsimplementeringar kan tillåta fler) |
| Max TEMP-register | 16 temporära register (minimum enligt specifikation) |
| Max PARAM-bindningar | 24 lokala parametrar + 96 miljöparameterbindningar (minimum enligt specifikation) |
| Kodning | Klartext i ASCII; inga icke-ASCII-tecken i opkoder eller direktiv |
| Typisk filstorlek | 1 KB - 50 KB |
| Kompanjonsformat | Paras ihop med `.vp`-filer (ARB vertex program) för att bilda en komplett ersättning för den fasta funktionspipelinen för vertex och fragment |
| Exekveringsmodell | Körs en gång per rasteriserat fragment; basspecifikationen har inga villkorliga förgreningar eller loopar (tillägg lade till dessa senare) |
| Känd användare | Rymdsimulatorn Celestia (öppen källkod) levereras med äldre `.fp`-shaders för rendering av planeter och rymdfarkoster |
| Ersatt av | GLSL (`.frag` / `.glsl`) introducerat med OpenGL 2.0 (september 2004); borttaget från OpenGL-kärnprofilen i version 3.1 (2009) |
| Plattformsstöd | Windows, Linux, macOS - alla plattformar med OpenGL 1.4+ och tillägget ARB_fragment_program |
| Släppt | 2002 (ARB_fragment_program OpenGL extension; Celestia adoption circa 2003-2004) |
| Senaste version | ARB_fragment_program spec v1.0; effectively superseded by GLSL (OpenGL 2.0, 2004) |
| Öppen standard | Ja · royaltyfri |
| Specifikation | www.khronos.org |
FP-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om FP-filer.