Apprendimento della programmazione grafica di base [chiusa]

3

Dopo aver appreso le basi del calcolo di semplici giochi di lancio di dadi e applicazioni di calendario, voglio esplorare una grafica semplice: il disegno e lo spostamento di oggetti geometrici va bene per iniziare, aggiungendo infine pixel grafici.

Ho seguito un corso introduttivo di Java, ma preferisco farlo in C ++, in Python o in una combinazione di essi (è quello che useremo a scuola). Voglio anche imparare i principi alla base, non solo applicando ciecamente sintassi incomprensibile per rendere il compilatore felice.

Alcuni post sembrano implicare che SFML sia una scelta solida, quindi ho pensato di ottenere un libro che lo riguardasse e di lavorarci sopra, ma sembra che ci sia un solo libro su SFML disponibile e che uno non è stato recensito affatto. Non sono dell'umore per una scommessa da $ 30, quindi mi sento un po 'perso!

Come devo avvicinarmi all'apprendimento della programmazione grafica di base?

    
posta Benjamin Lindqvist 13.07.2013 - 11:18
fonte

4 risposte

2

Come punto di partenza, ti consiglio di cercare su Google le seguenti parole chiave:

  • Matrice di Trasformazione
  • Matrice del mondo
  • Visualizza matrice
  • Projection Matrix (Questo è davvero valido solo se vuoi fare 3D)

Le matrici sono più di una cosa matematica, ma sono fondamentali per capire come funziona un sistema come Direct3D o OpenGL, quindi se vuoi fare qualcosa di più che seguire semplicemente le istruzioni ti consiglio di capire l'uso delle Matricies all'interno del codice .

Probabilmente dovrai sviluppare molta pratica con il codice per poter applicare tutti questi principi nel codice.

Puoi scrivere codice grafico senza capire la matematica sottostante, ma trovo molto più divertente (meno frustrante) programmare quando capisco l'interezza del sistema che sto costruendo.

Non so quale sia il modo migliore per imparare ad apprendere il lato di codifica specifico di Java.

    
risposta data 15.07.2013 - 06:47
fonte
1

SFML è davvero una buona scelta per cominciare, almeno secondo me. Da quello che ho sentito, è più facile di SDL e Allegro. È anche in C ++ mentre gli altri due sono basati su C. Personnaly, è quello che sto cercando di raccogliere al momento.

SFML offre l'associazione per molti altri linguaggi (C, Python, Ruby, ecc.) e molti collegamenti personalizzati può essere trovato. Si basa su cinque moduli e puoi utilizzare qualsiasi cosa tu abbia bisogno: Grafica, Finestra, Audio, Rete, Sistema. Funziona sotto Windows / Mac / Linux. Può anche usare OpenGL.

Per quanto riguarda il libro, non lo so. Tuttavia, la wiki SFML è abbastanza buona e offre molte risorse per iniziare a lavorarci. Inoltre, il wiki SFML inoltra alcuni tutorial e pagine utili per iniziare a lavorare con la libreria. Ad esempio, ho trovato la serie di video di CodingMadeEasy su youtube che passa attraverso SFML 2.0 in poche ore ed è un'introduzione utile. Accoppiato con la documentazione e le pagine wiki, non dovrebbe essere difficile da raccogliere, solo per $ 0.

    
risposta data 13.07.2013 - 13:19
fonte
1

Ho apprezzato il linguaggio di elaborazione e The Nature of Code ( link ) per questo scopo.

Processing (processing.org) è costruito su Java, ma non richiede quasi nessuno degli standard che ci si aspetterebbe da Java. Per quanto riguarda la lingua, non mi preoccuperei troppo di quale lingua si impara queste abilità in quanto sono in qualche modo indipendenti dal linguaggio. Le competenze si trasferiranno. Quello che mi piace di Processing è che si tratta di arrivare al punto di, ad esempio, cos'è un vettore normalizzato e a cosa serve.

La natura del codice ti guida attraverso la grafica sullo schermo con l'elaborazione e la fisica che stai cercando di rappresentare.

E entrambi sono gratuiti.

Parlando un po 'più in generale, consiglierei un framework con il minor numero di "parti mobili" al di fuori del concetto che stai cercando di apprendere il più possibile.

    
risposta data 13.07.2013 - 21:54
fonte
0

Ho recentemente iniziato ad imparare OpenGL usando C ++. È utilizzabile su più piattaforme e ci sono molte opzioni per legarlo con altre lingue. Inoltre, puoi anche applicarlo alle varianti di OpenGL come WebGL, OpenGL ES, ecc.

link

Il sito Web qui sopra è un buon punto di partenza e suggerisce anche altre risorse per chi ha appena iniziato.

    
risposta data 15.07.2013 - 17:32
fonte

Leggi altre domande sui tag