PSSL GLSL
Conversion de fichier

Convertir PSSL en GLSL

RÉPONSE RAPIDE
Est-il possible de convertir PSSL en GLSL ?
Oui - PSSL se convertit en GLSL.

Il n'existe pas de convertisseur PSSL vers GLSL en un clic, mais les deux partagent la même structure de shader de type C, donc un portage manuel est tout à fait réalisable. Attendez-vous à réécrire les déclarations de textures/samplers, à échanger les sémantiques pour les qualificateurs layout et à inverser les conventions de matrices.

Aussi vers GLSL : FX · FP

Sur cette page

Testé sur macOS, Windows et Linux
Dernière vérification le Sep 2026

Plus de convertisseurs gratuits

HEIC, PNG, WEBP, MP3 et plus - chaque outil ici est gratuit.

Ouvrir la boîte à outils

Pourquoi convertir PSSL en GLSL ?

Les équipes qui migrent un moteur de rendu PS4 vers OpenGL ou Vulkan ont besoin de leurs shaders PSSL au format .GLSL. Le PSSL se lit comme le HLSL, et le GLSL exprime les mêmes concepts avec des mots-clés différents, donc un portage soigneux ligne par ligne avec un petit en-tête de macros fait l'affaire. Un raccourci courant consiste à porter le PSSL vers HLSL d'abord, puis à utiliser un compilateur croisé automatisé HLSL vers GLSL.

Comment convertir PSSL en GLSL

Portage manuel dans un éditeur de texte FREE

Ouvrez le fichier .pssl et réécrivez-le en GLSL : convertissez les paires Texture2D/SamplerState en sampler2D, remplacez les sémantiques d'entrée/sortie par layout(location=...), et mappez mul() sur l'opérateur * de GLSL avec des matrices transposées.

Portage vers HLSL, puis ShaderConductor OPEN-SOURCE

Convertissez d'abord le PSSL en HLSL, puis exécutez ShaderConductor de Microsoft (ou SPIRV-Cross) pour générer automatiquement du GLSL lisible à partir de ce HLSL.

En-tête de calage par macros FREE

Ajoutez un en-tête #define partagé qui crée des alias entre les mots-clés PSSL et leurs équivalents GLSL afin qu'une grande partie du corps du code compile sans modification, similairement à l'approche HPSL multiplateforme de Frictional Games.

À propos de ces formats

Qualité et points de vigilance

  • Aucun analyseur ne lit directement le PSSL, la première étape est donc toujours l'édition manuelle.
  • HLSL/PSSL utilisent des matrices « row-major » et un z en espace clip dans [0,1] ; GLSL est en « column-major » avec un z dans [-1,1], les calculs matriciels et la profondeur doivent donc être ajustés.
  • Les intrinsèques spécifiques à la PS4 et les liaisons de registres n'ont pas d'équivalent GLSL et doivent être remplacés à la main.

Foire aux questions

Existe-t-il un outil automatique PSSL vers GLSL ?
Pas d'outil direct. Portez le PSSL vers HLSL, puis utilisez ShaderConductor ou SPIRV-Cross pour obtenir du GLSL.
Quelle est la partie la plus difficile du portage ?
L'ordre des matrices et les différences d'espace clip, ainsi que la réécriture des déclarations de textures/samplers et des sémantiques.
Ai-je besoin du SDK PS4 pour faire cela ?
Non. La source est du texte brut, vous pouvez donc la lire et la réécrire sans le kit de développement de Sony.
Un en-tête de macros peut-il faire l'essentiel du travail ?
Il gère l'aliasing des mots-clés, mais les différences structurelles comme les liaisons et les matrices nécessitent toujours des corrections manuelles.