Domanda

Ho bisogno di antialiasing a iPhone 3G (OpenGL ES1.1), NON iPhone 3Gs con OpenGL ES.2.0. Sono disegnare modello 3D e avere accanto: pixel sui bordi del modello sembrano denti

.

Non ho provate impostare alcun filtro per la tessitura, ma questo filtri Facendo solo tessitura ALL'INTERNO un aspetto migliore.

Come posso fare buon antialiasing? Può essere dovrei usare qualsiasi liscia per disegnare triangoli? Se sì, allora come è possibile in OpenGL ES1.1?

Grazie.

È stato utile?

Soluzione

È possibile eseguire il rendering in un FBO più grande e quindi utilizzarlo come una texture su un quadrato.

Dai un'occhiata alla questo articolo per una spiegazione .

Altri suggerimenti

.

A partire da iOS 4.0, full-screen anti-aliasing è supportato direttamente tramite un'estensione Apple per OpenGL Il concetto di base è simile al suggerimento di epatel: rendere la scena su un framebuffer più grande, quindi copiare che fino a un framebuffer schermo dimensioni, quindi copiare tale buffer allo schermo. La differenza è, invece di creare una struttura e rendendola su un quad, l'operazione di copia / campione viene eseguita da una singola chiamata di funzione (specificamente, glResolveMultisampleFramebufferAPPLE()).

Per i dettagli su come impostare i buffer e modificare il codice di disegno, è possibile leggere un tutorial sul blog Gando giochi che è stato scritto per OpenGL ES 1.1; c'è anche una nota sulla Developer Forum di Apple spiegare la stessa cosa.

Grazie a Bersaelor per precisazione in un'altra domanda SO .

Controlla le EGL_SAMPLE_BUFFERS e parametri EGL_SAMPLES a eglChooseConfig () , così come glEnable (GL_MULTISAMPLE) .

EDIT: Hrm, apparentemente sei fuori di fortuna, a almeno per quanto riguarda gli approcci standardizzati vanno. Come accennato in quel filo si può rendere ad una grande consistenza e fuori scala schermo per un quad minore su schermo o jitter matrice vista parecchie volte.

Abbiamo trovato un altro modo per raggiungere questo obiettivo. Se si modifica le texture e aggiungere ad esempio un telaio 2 pixel di pixel trasparenti, i pixel colorati nella trama si fondono con i pixel trasparenti quando necessario dare un effetto di base anti-aliasing. Potete leggere l'articolo completo qui in il nostro blog .

Il vantaggio di questo approccio è che non si sta eseguendo il rendering di un'immagine più grande, o la copia di un buffer, o peggio ancora, fare una texture da un buffer, quindi non c'è alcun impatto in termini di prestazioni.

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