Varför konvertera PSSL till CG?
Folk hamnar här eftersom Cg är syntaktiskt nära HLSL, så det verkar vara ett naturligt mål för en PS4-shader. I praktiken levereras PSSL-kompilatorn endast inuti Sonys licensierade devkit och genererar GPU-binärer, inte portabel Cg-text, och Cg i sig är en återvändsgränd. De flesta team flyttar istället PSSL till ett underhållet språk som .HLSL.
Hur man konverterar PSSL till CG
Porta manuellt till HLSL, sedan Cg om det verkligen behövs OPEN-SOURCE
Skriv om PSSL-ingångspunkterna som HLSL i en textredigerare, och skicka sedan den HLSL-koden till NVIDIA:s gamla cgc-kompilator med cgc -profile vp40 shader.hlsl om en Cg-profil genuint krävs.
Översätt via ShaderConductor OPEN-SOURCE
Efter att ha konverterat PSSL till HLSL manuellt, använd Microsofts ShaderConductor för att korskompilera den HLSL-koden till GLSL/MSL; det finns ingen Cg-backend, så Cg förblir ett manuellt steg.
Om dessa format
En .pssl-fil innehåller shader-kod skriven i Sonys PlayStation Shader Language, det GPU-programmeringsspråk som används för spelutveckling till PlayStation 4 och PlayStation 5. Textbaserade…
Öppna detaljer för .PSSL →En .CG-fil är associerad med nVidia CgFX, en 3d image-fil.
Öppna detaljer för .CG →Kvalitet & vad man bör tänka på
- Inget automatiserat verktyg läser
.psslutanför Sonys NDA-begränsade PS4/PS5 SDK. - Cg förklarades officiellt föråldrat av NVIDIA 2012 och får inga uppdateringar, så att porta till det är vanligtvis ett steg bakåt.
- PS4-specifika hårdvaru-intrinsics i PSSL-källkoden har ingen motsvarighet i Cg och måste tas bort eller implementeras om.