PSSL GLSL
Conversão de arquivo

Converter PSSL para GLSL

RESPOSTA RÁPIDA
É possível converter PSSL para GLSL?
Sim - PSSL converte para GLSL.

Não existe um conversor PSSL-para-GLSL de um clique, mas os dois compartilham a mesma estrutura de shader do tipo C, portanto, uma portabilidade manual é perfeitamente viável. Espere ter que reescrever declarações de textura/sampler, trocar semânticas por qualificadores layout e inverter convenções de matriz.

Também para GLSL: FX · FP

Nesta página

Testado em macOS, Windows e Linux
Última verificação em Sep 2026

Mais conversores gratuitos

HEIC, PNG, WEBP, MP3 e mais - todas as ferramentas aqui são gratuitas.

Abrir a caixa de ferramentas

Por que converter PSSL para GLSL?

Equipes que movem um renderizador de PS4 para OpenGL ou Vulkan precisam de seus shaders PSSL em .GLSL. O PSSL é lido de forma muito semelhante ao HLSL, e o GLSL expressa os mesmos conceitos com palavras-chave diferentes, portanto, uma portabilidade cuidadosa linha por linha junto com um pequeno cabeçalho de macro resolve o problema. Um atalho comum é portar o PSSL para HLSL primeiro e depois executar um compilador cruzado automatizado HLSL-para-GLSL.

Como converter PSSL para GLSL

Portabilidade manual em um editor de texto FREE

Abra o arquivo .pssl e reescreva-o como GLSL: converta pares Texture2D/SamplerState para sampler2D, substitua semânticas de entrada/saída por layout(location=...) e mapeie mul() para o operador * do GLSL com matrizes transpostas.

Portar para HLSL, depois ShaderConductor OPEN-SOURCE

Converta PSSL para HLSL primeiro e, em seguida, execute o ShaderConductor da Microsoft (ou SPIRV-Cross) para emitir GLSL legível automaticamente a partir desse HLSL.

Cabeçalho de shim de macro FREE

Adicione um cabeçalho #define compartilhado que cria apelidos (aliases) de palavras-chave PSSL para equivalentes em GLSL, para que grande parte do corpo seja compilada sem alterações, semelhante à abordagem HPSL multiplataforma da Frictional Games.

Sobre estes formatos

Qualidade e o que observar

  • Nenhum analisador lê PSSL diretamente, então o primeiro passo é sempre a edição manual.
  • HLSL/PSSL usam matrizes row-major e clip-space z em [0,1]; GLSL é column-major com z em [-1,1], portanto, a matemática de matrizes e a profundidade precisam de ajustes.
  • Intrínsecos exclusivos do PS4 e vinculações específicas de registros não têm equivalente em GLSL e devem ser substituídos manualmente.

Perguntas frequentes

Existe uma ferramenta automática de PSSL para GLSL?
Não há uma direta. Porte PSSL para HLSL e use o ShaderConductor ou SPIRV-Cross para chegar ao GLSL.
Qual é a parte mais difícil da portabilidade?
A ordem das matrizes e as diferenças de clip-space, além de reescrever as declarações de textura/sampler e as semânticas.
Preciso do SDK do PS4 para fazer isso?
Não. O código-fonte é texto simples, então você pode lê-lo e reescrevê-lo sem o devkit da Sony.
Um cabeçalho de macro pode fazer a maior parte do trabalho?
Ele lida com o aliasing de palavras-chave, mas diferenças estruturais como vinculação e matrizes ainda exigem correções manuais.