Sto iniziando con la programmazione dello shader GLSL e ho esaminato RenderMonkey . Purtroppo, AMD non lo supporta più. Perché? C'è un successore ad esso?
Sto iniziando con la programmazione dello shader GLSL e ho esaminato RenderMonkey . Purtroppo, AMD non lo supporta più. Perché? C'è un successore ad esso?
Risposte:
La maggior parte di questa risposta sarà una risposta al "Perché?" parte della tua domanda, ahimè.
Bene, c'è FX Composer , di NVIDIA, che è un prodotto simile - non supporta GLSL ma le lingue che supporta sono abbastanza simili. Ma è stato aggiornato l'ultima volta nel 2009 e non ho intenzione di aggiornarlo ulteriormente. La maggior parte dei pacchetti di modellazione 3D di fascia alta include anche strumenti di costruzione dei materiali, che possono o meno supportare GLSL.
Penso che la ragione per cui vedi questi prodotti raggiungere la fine della vita (e non viene fuori nulla per sostituirli) è che la direzione presa dallo sviluppo degli shader non si presta bene a IDE generalizzati come questo.
Anche quando abbiamo appena avuto vertici e pixel shader, tendeva ad esserci un forte accoppiamento tra i formati di dati lato gioco / motore (e il modo in cui tali dati vengono elaborati) e i layout di input dello shader e le operazioni programmate all'interno degli shader - almeno per gli effetti più interessanti e complessi.
Considera gli effetti legati all'acqua, ad esempio, che spesso comportano una leggera deformazione della geometria in risposta a somme di onde sinusoidali (oltre a eseguire un calcolo che somma onde simili in una trama da legare alla tubazione come una mappa di rilievo), come oltre a necessitare di framebuffer per copiare le trame da associare al fine di simulare la riflessione, e così via. La maggior parte di questi dati proviene dalla CPU e non è integrata nello shader stesso.
Con l'aumentare della natura di tale accoppiamento (a causa dell'aumento del parallelismo sul lato CPU, che ci consente di bilanciare i calcoli interessanti in modo più uniforme tra CPU e GPU), è diventato sempre più difficile progettare un IDE shader per scopi generici perché anche quell'IDE deve avere un modo per creare script e replicare la pipeline di dati che un gioco invierà allo shader - essenzialmente doveva essere un plugin per un motore. Con l'aggiunta di ulteriori livelli programmabili alla pipeline - shader di geometria, shader di scafo, eccetera - questo ha solo aggravato il problema.
D3D ha cercato di alleviare il problema con SAS , ma non credo che abbia mai preso piede e certamente non si è ridimensionato con i progressi della tecnologia GPU.
Di conseguenza, si sono evoluti strumenti specializzati interni o interni al motore per la creazione di shader e strumenti come FX Composer e RenderMonkey caddero in disuso e alla fine furono abbandonati.
Hacker GLSL. Questa è la tua risposta http://www.geeks3d.com/glslhacker/