Cosa dovrebbe scrivere ogni programmatore grafico [chiuso]


18

Ho visto questa domanda su SO, ma qui voglio che si concentri su GFX.

Quindi secondo te quali applicazioni / caratteristiche dovrebbero scrivere / modificare ogni aspirante programmatore GFX per migliorare?

Wiki della comunità poiché non esiste una "risposta giusta".

LE: Non riferendosi ai giochi reali, ma a caratteristiche grafiche per esempio cambiare qualcosa in un motore (es. Come carica oggetti), creare un compositore, eccetera.


Risposte:


22

La mia risposta è sempre la stessa: se non ne hai mai scritto uno prima, scrivi un raytracer.

Dovrai occuparti di strutture di ottimizzazione, precisione numerica e ogni sorta di altri problemi, ma lavorerai anche direttamente con la matematica della luce in un modo che raramente fai quando hai a che fare con tutti gli hack e le approssimazioni che compongono un renderizzatore di produzione in tempo reale.

Rimuovi tutto l'edificio dei sistemi di caricamento, parole d'ordine della settimana, differito-questo o inoltro-quello, e ti rimane, infine, la luce che viaggia attraverso un mezzo. Alla fine, questo è tutto per la grafica.


Interessante, stavo pensando di suggerire anche un raytracer, un esercizio di matematica molto bello. Non sono d'accordo con il rinvio essere una parola d'ordine della settimana, è, come raytracing, un cambiamento abbastanza grande nel modo in cui approcci il tuo rendering, che, per un programmatore grafico, sembra essere qualcosa di cui dovresti essere consapevole.
Kaj,

Direi che l'ottimizzazione non è importante quanto la gestione di mesh arbitrarie, il che è un passo che molte persone non riescono mai a fare con i raytracer.
Jonathan Fischoff il

Secondo (terzo?) Questo suggerimento, con l'avvertenza che (come detto) deve supportare le maglie e non limitarsi a fermarsi su sfere lucenti su una scacchiera. Punti bonus per qualsiasi tentativo di illuminazione globale. Anche se non lo ottimizzi pesantemente in qualcosa di realmente utilizzabile , dovresti cercare di capire quali bit sono lenti e perché.
JasonD,

E un avvertimento con questo suggerimento: mentre la luce che viaggia attraverso un mezzo è tutto ciò che c'è da fare per la grafica, ti darà pochissimo addestramento su ciò di cui hai bisogno negli attuali (attuali) ambienti di produzione.
Kaj,

1
+1 scrivere un ray tracer è stata la cosa più utile che ho imparato durante la lezione di grafica del mio college
Bryan Denny,

7

In questi giorni può essere di scarsa utilità, ma scrivere su un renderer software, almeno uno di base (forse solo alcuni cubi testurizzati), è un esercizio utile.

Comprendere come trasformare, proiettare, ritagliare, ordinare in profondità, rasterizzare e poligonare le mappe delle trame, ti darà una comprensione molto migliore di ciò che l'hardware 3D e le API di rendering stanno facendo


praticamente questo. salvo questo, un blitter sprite con supporto alfa. ..o almeno qualcosa, QUALCOSA, in cui manipoli i pixel in base ai loro valori di bit.
Lassi Kinnunen,

6

Pur non eseguendo il rendering del codice, penso che scrivere un compilatore BSP e accompagnare il codice di attraversamento sia un buon esercizio di matematica vettoriale.
In secondo luogo, un renderer differito. Non perché è la risposta definitiva al rendering, ma ti darà un'idea di un altro approccio al rendering.


2

Impara i meccanismi e le abilità di scrivere buoni shader. Sebbene non sia necessario al 100% in tutti i casi, è un'abilità preziosa da sapere.


Sono d'accordo con la tua risposta, tuttavia è troppo ampia e alcune risorse e collegamenti ad esse non farebbero male per una risposta completa :).
lukas.pukenis,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.