Co to jest format pliku FP?
Plik .fp to tekstowy plik źródłowy shadera przypominający asembler, używany w starszym rozszerzeniu OpenGL ARB_fragment_program (ratyfikowanym we wrześniu 2002 r.). Każdy plik instruuje procesor graficzny (GPU), jak obliczyć kolor renderowanego piksela - etap fragmentu w potoku graficznym - przy użyciu niskopoziomowego zestawu instrukcji maszyny rejestrowej, zamiast wysokopoziomowego języka cieniowania.
Prawidłowo sformułowane pliki .fp zaczynają się od dyrektywy nagłówka !!ARBfp1.0, po której następują deklaracje PARAM (powiązanie stałych shadera z parametrami środowiska programu lub parametrami lokalnymi), deklaracje rejestrów TEMP oraz kody operacyjne asemblera, takie jak MOV, MUL, ADD, TEX, DP3, DP4 i MAD. Plik kończy się dyrektywą END.
Format ten został przyjęty przez aplikacje 3D z początku lat 2000., w tym Celestia, otwartoźródłowy program do symulacji kosmosu, który nadal dostarcza starsze shadery .fp do renderowania poszczególnych obiektów, takich jak planety, gwiazdy i statki kosmiczne. Celestia jest nadal aktywnie rozwijana w serwisie GitHub.
Rozszerzenie ARB_fragment_program zostało zastąpione przez GLSL (OpenGL Shading Language), który pojawił się wraz z OpenGL 2.0 we wrześniu 2004 roku. OpenGL 3.1 (2009) całkowicie usunął programy asemblerowe z profilu podstawowego (core profile). Współczesne shadery GPU są pisane w GLSL (pliki .glsl / .frag) lub HLSL.
Ponieważ .fp to zwykły tekst ASCII, każdy edytor tekstu może go otworzyć, choć edytory z podświetlaniem składni GLSL zapewniają najbardziej czytelne wrażenia. Pliki mają od kilkudziesięciu linii w przypadku prostych efektów do kilkuset linii w przypadku złożonych przebiegów mieszania wielu tekstur.
Bezpieczeństwo
RYZYKO: LOWTekstowe pliki shaderów bez zawartości wykonywalnej poza środowiskiem uruchomieniowym 3D. Plik FP załadowany przez złośliwy dodatek do Celestia mógłby potencjalnie spowodować błędy renderowania lub nadużycie zasobów poprzez patologiczne shadery, ale nie istnieje ryzyko wykonania kodu poza kompilatorem shadera GPU. Standardowy plik tekstowy o niskim ryzyku.
Szczegóły formatu
w pigułce- Baza danych FileMaker Pro 4-6 - Wersje FileMaker Pro 4-6 zapisywały bazy danych z rozszerzeniem .fp (częstymi wariantami były .fp3, .fp5); FileMaker Pro 7+ używa .fp7, a później .fmp12.
- Plik konfiguracyjny Visual FoxPro / FoxPro 2.x - Microsoft FoxPro 2.x (DOS/Windows, lata 90.) używał .fp dla plików konfiguracyjnych; Visual FoxPro zakończył żywotność (EOL 2015), pliki te są rzadkimi artefaktami archiwalnymi.
Programy otwierające pliki FP
Szczegóły techniczne
specyfikacja| Dyrektywa nagłówka pliku | „!!ARBfp1.0” - wymagana pierwsza linia w każdym prawidłowym pliku programu fragmentów ARB |
| Zestaw instrukcji | Kody operacyjne w stylu asemblera: MOV, MUL, ADD, MAD, TEX, DP3, DP4, LRP, POW, SWZ i inne zdefiniowane w specyfikacji ARB_fragment_program |
| Typy rejestrów | TEMP (ogólnego przeznaczenia), ATTRIB (wejście fragmentu), OUTPUT (result.color / result.depth), PARAM (stałe i powiązania środowiskowe) |
| Dostęp do tekstur | Instrukcje TEX / TXB / TXP / TXD; do 16 jednostek obrazu tekstury na program (minimum specyfikacji) |
| Maks. instrukcji ALU | 1 024 na program (minimum specyfikacji; implementacje sterowników mogą pozwalać na więcej) |
| Maks. rejestrów TEMP | 16 rejestrów tymczasowych (minimum specyfikacji) |
| Maks. powiązań PARAM | 24 parametry lokalne + 96 powiązań parametrów środowiskowych (minima specyfikacji) |
| Kodowanie | Zwykły tekst ASCII; brak znaków spoza ASCII w kodach operacyjnych lub dyrektywach |
| Typowy rozmiar pliku | 1 KB - 50 KB |
| Format towarzyszący | Parowany z plikami `.vp` (ARB vertex program), tworząc kompletny zamiennik dla potoku wierzchołków i fragmentów o stałej funkcji |
| Model wykonywania | Uruchamiany raz na każdy rasteryzowany fragment; podstawowa specyfikacja nie posiada instrukcji warunkowych ani pętli (rozszerzenia dodały je później) |
| Znany użytkownik | Symulator kosmosu Celestia (open-source) dostarcza starsze shadery `.fp` do renderowania planet i statków kosmicznych |
| Zastąpiony przez | GLSL (`.frag` / `.glsl`) wprowadzony w OpenGL 2.0 (wrzesień 2004); usunięty z profilu podstawowego OpenGL w wersji 3.1 (2009) |
| Obsługa platform | Windows, Linux, macOS - każda platforma z OpenGL 1.4+ i rozszerzeniem ARB_fragment_program |
| Wydano | 2002 (ARB_fragment_program OpenGL extension; Celestia adoption circa 2003-2004) |
| Najnowsza wersja | ARB_fragment_program spec v1.0; effectively superseded by GLSL (OpenGL 2.0, 2004) |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | www.khronos.org |
Konwersje FP
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki FP.