Domanda

Immagino che illustrerò con un esempio: In questo gioco puoi disegnare forme 2D usando il mouse e ciò che disegni è renderizzato sullo schermo in tempo reale. Voglio sapere quali sono i modi migliori per rendere questo tipo di disegno usando l'accelerazione hardware (OpenGL). Ho avuto due idee:

  • Crea una trama di dimensioni dello schermo all'avvio del disegno, aggiorna questo quando disegni, e aggiungilo allo schermo
  • Crea una serie di segmenti di linea per rappresentare il disegno e renderli utilizzando linee o poligoni sottili

Ci sono altre idee? Quale di questi metodi è probabilmente il migliore / il più efficiente / il più semplice? Tutti i suggerimenti sono benvenuti.

È stato utile?

Soluzione

Adoro la fisica dei pastelli (la musica mi prende ogni volta). Ottimo gioco!

Ma torniamo al punto ... Ha creato sprite di pennello che seguono la posizione del mouse. Ha creato alcuni pennelli che spiegano una piccola variazione. Una volta che il mouse si abbassa, immagino che stia aggiungendo questi sprite a una struttura di dati e inviando quella struttura attraverso le sue funzioni di disegno e di collisione per passare in rassegna. In questo modo si fa fuori l'effetto in tempo reale. Sta usando la libreria Simple DirectMedia Layer, che do due pollici in su.

Altri suggerimenti

Sono abbastanza sicuro che la seconda idea sia la strada da percorrere.

Prima opzione se il giocatore pesca a mano libera pura (piuttosto che linee) e ciò che disegna non ha bisogno di essere animato.

Seconda opzione se è animata o principalmente linee. Se lo scegli, sembra che dovresti disegnare poligoni sottili anziché linee regolari per ottenere qualsiasi tipo di aspetto interessante (come nell'esempio del pastello).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top