What is the FP file format?
A .fp file is a plain-text assembly-like shader source file used in OpenGL's legacy ARB_fragment_program extension (ratified September 2002). Each file tells the GPU how to compute the color of a rendered pixel - the fragment stage of the graphics pipeline - using a low-level register-machine instruction set rather than a high-level shading language.
Well-formed .fp files begin with the header directive !!ARBfp1.0, followed by PARAM declarations (binding shader constants to program environment or local parameters), TEMP register declarations, and assembly opcodes such as MOV, MUL, ADD, TEX, DP3, DP4, and MAD. The file ends with an END directive.
The format was adopted by early 2000s 3D applications including Celestia, the open-source space simulation program, which still ships legacy .fp shaders for per-object rendering of planets, stars, and spacecraft. Celestia remains actively maintained on GitHub.
ARB_fragment_program was superseded when GLSL (OpenGL Shading Language) shipped with OpenGL 2.0 in September 2004. OpenGL 3.1 (2009) removed assembly programs from the core profile entirely. Modern GPU shaders are written in GLSL (.glsl / .frag files) or HLSL instead.
Because .fp is plain ASCII text, any text editor can open it, though editors with GLSL syntax highlighting provide the closest readable experience. Files range from a few dozen lines for simple effects to several hundred lines for complex multi-texture blending passes.
Security & safety
RISK: LOWPlain text shader files with no executable content outside a 3D runtime. An FP file loaded by a malicious Celestia add-on could potentially cause rendering artifacts or resource abuse via pathological shaders, but no code execution risk exists outside the GPU shader compiler. Standard low-risk text file.
Format details
in a nutshell- FileMaker Pro 4-6 Database - FileMaker Pro versions 4-6 saved databases with the .fp extension (.fp3, .fp5 were common variants); FileMaker Pro 7+ uses .fp7 and later .fmp12.
- Visual FoxPro / FoxPro 2.x Configuration File - Microsoft FoxPro 2.x (DOS/Windows, 1990s) used .fp for configuration files; Visual FoxPro is EOL (2015), these files are rare legacy artifacts.
Programs that open FP files
Technical details
deep spec| File header directive | "!!ARBfp1.0" - required first line in every valid ARB fragment program file |
| Instruction set | Assembly-style opcodes: MOV, MUL, ADD, MAD, TEX, DP3, DP4, LRP, POW, SWZ, and others defined in the ARB_fragment_program specification |
| Register types | TEMP (general-purpose), ATTRIB (fragment input), OUTPUT (result.color / result.depth), PARAM (constants and environment bindings) |
| Texture access | TEX / TXB / TXP / TXD instructions; up to 16 texture image units per program (specification minimum) |
| Max ALU instructions | 1,024 per program (specification minimum; driver implementations may allow more) |
| Max TEMP registers | 16 temporary registers (specification minimum) |
| Max PARAM bindings | 24 local parameters + 96 environment parameter bindings (specification minimums) |
| Encoding | Plain ASCII text; no non-ASCII characters in opcodes or directives |
| Typical file size | 1 KB - 50 KB |
| Companion format | Paired with `.vp` (ARB vertex program) files to form a complete replacement for the fixed-function vertex and fragment pipeline |
| Execution model | Runs once per rasterized fragment; base specification has no conditional branching or looping (extensions added those later) |
| Known adopter | Celestia space simulator (open-source) ships legacy `.fp` shaders for planetary and spacecraft per-object rendering |
| Superseded by | GLSL (`.frag` / `.glsl`) introduced with OpenGL 2.0 (September 2004); removed from OpenGL core profile in version 3.1 (2009) |
| Platform support | Windows, Linux, macOS - any platform with OpenGL 1.4+ and the ARB_fragment_program extension |
| Released | 2002 (ARB_fragment_program OpenGL extension; Celestia adoption circa 2003-2004) |
| Latest version | ARB_fragment_program spec v1.0; effectively superseded by GLSL (OpenGL 2.0, 2004) |
| Open standard | Yes · royalty-free |
| Specification | www.khronos.org |
FP conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about FP files.