O que é o formato de ficheiro FP?
Um arquivo .fp é um arquivo de código-fonte de shader em texto simples, semelhante a assembly, usado na extensão legada ARB_fragment_program do OpenGL (ratificada em setembro de 2002). Cada arquivo instrui a GPU sobre como calcular a cor de um pixel renderizado - o estágio de fragmento do pipeline gráfico - usando um conjunto de instruções de máquina de registro de baixo nível, em vez de uma linguagem de sombreamento de alto nível.
Arquivos .fp bem formados começam com a diretiva de cabeçalho !!ARBfp1.0, seguida por declarações PARAM (vinculando constantes de shader ao ambiente do programa ou parâmetros locais), declarações de registro TEMP e opcodes de assembly como MOV, MUL, ADD, TEX, DP3, DP4 e MAD. O arquivo termina com uma diretiva END.
O formato foi adotado por aplicativos 3D do início dos anos 2000, incluindo o Celestia, o programa de simulação espacial de código aberto, que ainda distribui shaders .fp legados para renderização por objeto de planetas, estrelas e naves espaciais. O Celestia permanece ativamente mantido no GitHub.
O ARB_fragment_program foi substituído quando o GLSL (OpenGL Shading Language) foi lançado com o OpenGL 2.0 em setembro de 2004. O OpenGL 3.1 (2009) removeu completamente os programas assembly do perfil principal (core profile). Os shaders de GPU modernos são escritos em GLSL (arquivos .glsl / .frag) ou HLSL.
Como o .fp é texto ASCII simples, qualquer editor de texto pode abri-lo, embora editores com realce de sintaxe GLSL ofereçam a experiência de leitura mais próxima. Os arquivos variam de algumas dezenas de linhas para efeitos simples a várias centenas de linhas para passagens complexas de mistura de múltiplas texturas.
Segurança e proteção
RISCO: LOWArquivos de shader em texto simples sem conteúdo executável fora de um ambiente de execução 3D. Um arquivo FP carregado por um add-on malicioso do Celestia poderia potencialmente causar artefatos de renderização ou abuso de recursos via shaders patológicos, mas não existe risco de execução de código fora do compilador de shader da GPU. Arquivo de texto padrão de baixo risco.
Detalhes do formato
em resumo- Banco de Dados FileMaker Pro 4-6 - As versões 4-6 do FileMaker Pro salvavam bancos de dados com a extensão .fp (variantes .fp3, .fp5 eram comuns); o FileMaker Pro 7+ usa .fp7 e, posteriormente, .fmp12.
- Arquivo de Configuração Visual FoxPro / FoxPro 2.x - O Microsoft FoxPro 2.x (DOS/Windows, anos 90) usava .fp para arquivos de configuração; o Visual FoxPro está em fim de vida (2015), esses arquivos são artefatos legados raros.
Programas que abrem arquivos FP
Detalhes técnicos
especificação profunda| Diretiva de cabeçalho do arquivo | «!!ARBfp1.0» - primeira linha obrigatória em cada arquivo de programa de fragmento ARB válido |
| Conjunto de instruções | Opcodes estilo assembly: MOV, MUL, ADD, MAD, TEX, DP3, DP4, LRP, POW, SWZ e outros definidos na especificação ARB_fragment_program |
| Tipos de registro | TEMP (uso geral), ATTRIB (entrada de fragmento), OUTPUT (result.color / result.depth), PARAM (constantes e vínculos de ambiente) |
| Acesso a textura | Instruções TEX / TXB / TXP / TXD; até 16 unidades de imagem de textura por programa (mínimo da especificação) |
| Máximo de instruções ALU | 1.024 por programa (mínimo da especificação; implementações de driver podem permitir mais) |
| Máximo de registros TEMP | 16 registros temporários (mínimo da especificação) |
| Máximo de vínculos PARAM | 24 parâmetros locais + 96 vínculos de parâmetros de ambiente (mínimos da especificação) |
| Codificação | Texto ASCII simples; sem caracteres não-ASCII em opcodes ou diretivas |
| Tamanho de arquivo típico | 1 KB - 50 KB |
| Formato complementar | Emparelhado com arquivos `.vp` (ARB vertex program) para formar uma substituição completa para o pipeline de vértice e fragmento de função fixa |
| Modelo de execução | Executado uma vez por fragmento rasterizado; a especificação base não possui ramificação condicional ou loops (extensões adicionaram isso posteriormente) |
| Adotante conhecido | O simulador espacial Celestia (código aberto) distribui shaders `.fp` legados para renderização de planetas e naves espaciais por objeto |
| Substituído por | GLSL (`.frag` / `.glsl`) introduzido com OpenGL 2.0 (setembro de 2004); removido do perfil principal do OpenGL na versão 3.1 (2009) |
| Suporte de plataforma | Windows, Linux, macOS - qualquer plataforma com OpenGL 1.4+ e a extensão ARB_fragment_program |
| Lançado | 2002 (ARB_fragment_program OpenGL extension; Celestia adoption circa 2003-2004) |
| Versão mais recente | ARB_fragment_program spec v1.0; effectively superseded by GLSL (OpenGL 2.0, 2004) |
| Padrão aberto | Sim · livre de royalties |
| Especificação | www.khronos.org |
Conversões de FP
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos FP.