.FP

FP File

OpenGL Fragment Program (ARB_fragment_program assembly shader)
Ask a question
QUICK ANSWER

An FP file associated with Celestia is a plain-text GPU shader written in ARB assembly language, controlling how individual pixels are rendered in 3D scenes. Open it with Celestia (place it in the correct extras folder) or any text editor. If your FP file is from old FileMaker Pro backups, it is a database file from versions 4-6 and needs Claris FileMaker.

Developer: ARB (OpenGL Architecture Review Board) / Khronos Group; used by Celestia Category: 3D Image Files Open standard MIME: text/plain
OPENS ON Windows macOS Linux
Related: .DCM · .STEP · .SKP · .STP

On this page

19k+ extensions indexed
Last reviewed Jul 4, 2026

Not sure what your file is?

Drop any file into our identifier - we read just the first bytes to name the format.

Identify a file

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: LOW

Plain 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
FULL NAMEOpenGL Fragment Program (ARB_fragment_program assembly shader)aka Fragment Program, ARB fragment program
DEVELOPERARB (OpenGL Architecture Review Board) / Khronos Group; used by Celestiasince 2002 (ARB_fragment_program OpenGL extension; Celestia adoption circa 2003-2004)
MIME TYPEtext/plain
TYPEplain text assembly-like shader source code
STANDARDOpen · royalty-free
This extension is also used by…
  • 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

Windows3 apps
Celestia Open-source Place the .fp file in the correct Celestia extras or models directory per the add-on instructions. Celestia loads it at runtime when rendering the associated object.
Notepad Open-source Open directly to read or edit the ARB assembly shader code. Enable GLSL syntax highlighting as an approximation.
Visual Studio Code Open-source Open as plain text or with GLSL extension for approximate syntax highlighting. Good for editing shader code.
macOS1 app
Celestia Open-source macOS build available. Place .fp in appropriate Celestia extras folder.
Linux1 app
Celestia Open-source Available in most Linux repositories. Loads .fp shaders from the extras directory.

Technical details

deep spec
File header directive"!!ARBfp1.0" - required first line in every valid ARB fragment program file
Instruction setAssembly-style opcodes: MOV, MUL, ADD, MAD, TEX, DP3, DP4, LRP, POW, SWZ, and others defined in the ARB_fragment_program specification
Register typesTEMP (general-purpose), ATTRIB (fragment input), OUTPUT (result.color / result.depth), PARAM (constants and environment bindings)
Texture accessTEX / TXB / TXP / TXD instructions; up to 16 texture image units per program (specification minimum)
Max ALU instructions1,024 per program (specification minimum; driver implementations may allow more)
Max TEMP registers16 temporary registers (specification minimum)
Max PARAM bindings24 local parameters + 96 environment parameter bindings (specification minimums)
EncodingPlain ASCII text; no non-ASCII characters in opcodes or directives
Typical file size1 KB - 50 KB
Companion formatPaired with `.vp` (ARB vertex program) files to form a complete replacement for the fixed-function vertex and fragment pipeline
Execution modelRuns once per rasterized fragment; base specification has no conditional branching or looping (extensions added those later)
Known adopterCelestia space simulator (open-source) ships legacy `.fp` shaders for planetary and spacecraft per-object rendering
Superseded byGLSL (`.frag` / `.glsl`) introduced with OpenGL 2.0 (September 2004); removed from OpenGL core profile in version 3.1 (2009)
Platform supportWindows, Linux, macOS - any platform with OpenGL 1.4+ and the ARB_fragment_program extension
Released2002 (ARB_fragment_program OpenGL extension; Celestia adoption circa 2003-2004)
Latest versionARB_fragment_program spec v1.0; effectively superseded by GLSL (OpenGL 2.0, 2004)
Open standardYes · royalty-free
Specificationwww.khronos.org

FP conversions

Community Q&A

asked by users
Ask a quick question
Get help from people who work with FP files. Be specific - include your system and software version.
No account needed · answers usually within a day

No questions yet - be the first to ask about FP files.

Frequently asked questions

What is an FP file?
In the context of Celestia, an FP file is an OpenGL ARB fragment program - a plain text assembly-language GPU shader. It can also be a FileMaker Pro 4-6 database or a legacy FoxPro config file.
How do I open an FP file?
If from a Celestia add-on: install Celestia and follow the add-on instructions. If it's a shader file: open with any text editor. If it's a FileMaker database: use FileMaker Pro / Claris FileMaker.
Is ARB fragment program still used?
It is a legacy format from 2002, superseded by GLSL in OpenGL 2.0 (2004). Modern applications use GLSL. ARB assembly programs are not part of the OpenGL core profile since version 3.1 (2009).
How do I convert an ARB .fp shader to GLSL?
No automated converter exists. You must manually rewrite the assembly opcodes in GLSL syntax: vec4 variables replace registers, built-in functions (dot, texture) replace opcodes, gl_FragColor/out vec4 replaces result.color.
What if my .fp file is from FileMaker Pro?
FileMaker Pro 4-6 used .fp for databases (sometimes with suffixes .fp3, .fp5). Open with Claris FileMaker (formerly FileMaker Pro). To upgrade to modern format, use File > Save a Copy As in FileMaker.

References

1OpenGL ARB_fragment_program specificationwww.khronos.org
2Celestia - open-source space simulationcelestia.space

Keep exploring

across the database

Top extensions this week

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.PARTPartial Download File
4.DATProgram Data File (generic)
5.EXEWindows Executable (Portable Executable)
6.NOMEDIAAndroid No-Media Marker File
7.RPMSGRestricted Permission Message
8.TMPTemporary File
9.MDMarkdown Document
10.BINCD/DVD Disc Image (BIN/CUE)

Related extensions

.DCMDICOM Medical Image
.STEPSTEP - Standard for the Exchange of Product Data (ISO 10303)
.SKPSketchUp Document
.STPSTEP - Standard for the Exchange of Product Data (ISO 10303), .stp spelling
.MTLMaterial Template Library (Wavefront)
.MAX3ds Max Scene File (Autodesk 3ds Max)

Free file tools

An in-browser file identifier and image converter - everything runs on your device.

Open the toolbox

Browse file extensions A-Z