Autore Topic: Iniziare con OpenGL  (Letto 5557 volte)

vincenzodicicco

  • Visitatore
Iniziare con OpenGL
« il: 12 Settembre 2010, 15:02:07 CEST »
0
Salve ragazzi, ho cercato in rete qualche informazione su OpenGL, qualche tutorial per iniziare, ma a quanto vedo l'argomento è molto vasto e non so bene neanche da dove iniziare  :-) a me interesserebbe poter fare grafica 2D ed interagire con essa, per giochi ecc.Qualcuno ha qualche link, o mi può consigliare qualcosa?  ;-)

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Iniziare con OpenGL
« Risposta #1 il: 14 Settembre 2010, 09:59:42 CEST »
+1
il punto di riferimento, per eccellenza, sulle OpenGL è costituito dai vari tutorial di NeHe (http://nehe.gamedev.net).
Fai attenzione, perché alcune funzionalità possono riferirsi alle ultime versioni di openGL, per cui potresti trovare problemi a riportare il tutto su openGL ES. (Tiene presente che le OpenGL ES 2.0 fanno riferimento, come API, alle OpenGL 1.3).

Più in generale, per usare le OpenGL ES con l'sdk di android devi cercare comunque specifiche che non vadano oltre le openGL 1.0/1.1, poiché ancora le 2.0 non sono state completamente implementate ( o_O ).
Se usi l'ndk, allora puoi sfruttare appieno le 2.0 e cercare direttamente materiale per le OpenGL 1.3.

Ad ogni modo, per poter lavorare con il 2D, potresti pensare di dare un'occhiata ad AndEngine http://www.andengine.org, che è un motore 2D open source abbastanza buono che potrebbe darti una mano.

Spero di esserti stato utile.
Se hai dubbi o altre richieste, non esitare a chiedere.
^_^
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

vincenzodicicco

  • Visitatore
Re:Iniziare con OpenGL
« Risposta #2 il: 14 Settembre 2010, 15:48:31 CEST »
0
I tutorial nehe li avevo già incontrati, ottimi! molto bello il progetto AndEgine ho visto esempi che sono davvero stupefacenti.Penso che proverò ad usare quello appena posso.Grazie davvero! ;-) ;-)

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +202
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:Iniziare con OpenGL
« Risposta #3 il: 15 Settembre 2010, 00:56:15 CEST »
0

vincenzodicicco

  • Visitatore
Re:Iniziare con OpenGL
« Risposta #4 il: 15 Settembre 2010, 14:15:43 CEST »
0
Grazie a tutti e due  :D :D

Offline CarloM

  • Nuovo arrivato
  • *
  • Post: 45
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
Re:Iniziare con OpenGL
« Risposta #5 il: 15 Novembre 2010, 00:31:44 CET »
0
voorei mettere in evidenzia questo blog con alcuni tutorial sull'opengl per android! sembra fatto bene e potrebbe essere un buon punto d'inizio! :)


        OpenGL ES Tutorial for Android – Part I – Setting up the view — Jayway Team Blog   

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Iniziare con OpenGL
« Risposta #6 il: 15 Novembre 2010, 10:13:26 CET »
0
E' fatto abbastanza bene.
Il vero problema che ho riscontrato in genere è che non è molto semplice sviluppare cose decenti senza dover utilizzare NDK....
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline CarloM

  • Nuovo arrivato
  • *
  • Post: 45
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
Re:Iniziare con OpenGL
« Risposta #7 il: 15 Novembre 2010, 11:34:42 CET »
0
E' fatto abbastanza bene.
Il vero problema che ho riscontrato in genere è che non è molto semplice sviluppare cose decenti senza dover utilizzare NDK....

già..per quel poco che ho visto, credo che sia cosi!

Offline areo

  • Nuovo arrivato
  • *
  • Post: 19
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    nexus one
Re:Iniziare con OpenGL
« Risposta #8 il: 15 Novembre 2010, 15:44:30 CET »
0
perche' dite cosi'? se utilizzo l'NDK che cosa avrei in piu'? (a parte la versione delle GL credo)

io in questo momento mi sto studiando il porting degli esempi di nehe.. e *per ora* li trovo sufficienti (oddio, non ho fatto grandi cose eh.. import di oggetti da blender, tutte le rotazioni relative, un po' di luci -anche se c'e' da lavoraci sopra-, collisioni -ma quelle sono fuori dal contesto-. non sto lavorando con un numero altissimo di poligoni renderizzati)
mi ero interessato (superficialmente lo ammetto) all'ndk quando e' uscito, poi ho lasciato perdere per concentrarmi sugli esempi di nehe.
non vorrei puntare su un cavallo zoppo :)

qualcuno e' cosi' gentile da spiegarmi le differenze?

grazie!

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Iniziare con OpenGL
« Risposta #9 il: 15 Novembre 2010, 16:57:38 CET »
0
La versione delle OpenGL è molto importante.
Ci sonosostanziali differenze, per esempio, tra la 1.0 e la 2.0.
Può cambiare anche l'approccio nella progettazione del renderer, quindi è una cosa fondamentale.
Per fare tutto quello che si trova in giro, vanno benissimo, ma le cose cambiano quando si vuole fare qualcosa di più "prestante" e/o graficamente più spettacolare.
Senza contare il fatto che prestazioni di un certo livello si possono avere solamente se lavori in maniera nativa.
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline areo

  • Nuovo arrivato
  • *
  • Post: 19
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    nexus one
Re:Iniziare con OpenGL
« Risposta #10 il: 15 Novembre 2010, 18:20:35 CET »
0
mmm in effetti non e' cosa da poco.. e' da valutare quanto perderei mollando l'approccio attuale per passare all'ndk (relativamente ai miei scopi che non sono cosi' esosi in termini di risorse) o quanto guadagnerei facendo il salto di qualita'

stasera mi metto un po' a studiare la cosa, vero e' che se potessi usare il c++ al posto di java sarei contento come un bambino il 24 dicembre, ma e' inutile che inizi a fantasticare su quali strabilianti grafiche tridimensionali riuscirei a gestire, dato che sviluppo in solitaria e questo e' un passatempo post lavoro che gia' da solo mi ciuccia energie mentali :)

mi informo un po'. eventualmente tu (o altri) avete gia' iniziato a giochicchiarci un po'? (nel senso, se ho problemi siamo tutti a zero come conoscenze o gia' c'e' un po' di pratica alle spalle?)

grazie 1000 intanto per la risposta che mi hai gia' dato

Offline areo

  • Nuovo arrivato
  • *
  • Post: 19
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    nexus one
Re:Iniziare con OpenGL
« Risposta #11 il: 15 Novembre 2010, 18:34:05 CET »
0
seeeeeeeeee a posto

a parte che il primo link di google rimanda qui sul forum  O:-)
http://www.anddev.it/index.php?topic=743.0

leggo subito questo:

[cut]

7) Creare sempre lì il file doom.c col seguente codice:

Codice: [Seleziona]
#include "com_doom_provandk_NativeLib.h"
JNIEXPORT jstring JNICALL Java_com_doom_provandk_NativeLib_getHelloWorld
        (JNIEnv * env, jobject obj)
{
   return (*env)->NewStringUTF(env, "Ciao, neh?!");
}

inziamo bene....  o_O
 :D :D



Offline areo

  • Nuovo arrivato
  • *
  • Post: 19
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    nexus one
Re:Iniziare con OpenGL
« Risposta #12 il: 15 Novembre 2010, 20:20:45 CET »
0
oh beh, mi sono letto il tutorlal sul pezzo di codice postato sopra ed in effetti mi sono spaventato per nulla  :-P

in giro per il web leggo

OpenGL ES 2.0
Supported by the iPhone (3GS or later), iPod Touch (3rd generation and later) and iPad
Supported by the Android platform since Android 2.2 [9]
Supported by the Android platform NDK since Android 2.0 [10]
3D Library of the Pandora console
Chosen for WebGL (OpenGL for browsers)[11]
Supported by some new Nokia mobile phones, such as the Maemo based Nokia N900[12] and the Symbian^3 based Nokia N8.
Supported by various Samsung mobile phones, including the Galaxy S and Wave
Supported for Palm webOS, using the Plug-in Development Kit [13]

quindi alla fine impararle male non fa! :) tranne una delle ultime frasi di questo tutorial
http://www.anddev.it/index.php/topic,722.new.html#new
"Ci sono piani per i set di istruzioni aggiuntivi (x86 è stato menzionato). Questa è un interessante implicazione: una
soluzione NDK non funziona su tutti i dispositivi. Per esempio, ci sono tablets Android là fuori che utilizzano il
processore Intel Atom, che ha un set di istruzioni x86. " qua ognuno fara' le proprie considerazioni


qui ho trovato una discussione tra le performance tra sdk e ndk
http://groups.google.com/group/android-developers/browse_thread/thread/9b3f9f8fef2f4ebd/d42de401c3866497?show_docid=d42de401c3866497&pli=1
in realta' non e' che dicano cose trascendentali, ma non e' che si trova tantissimo in giro per il ueb

tempo non ne ho tantissimo, ma mi metto volentieri allora a studiare le gl 2.0

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Iniziare con OpenGL
« Risposta #13 il: 16 Novembre 2010, 10:57:41 CET »
0
mmm in effetti non e' cosa da poco.. e' da valutare quanto perderei mollando l'approccio attuale per passare all'ndk (relativamente ai miei scopi che non sono cosi' esosi in termini di risorse) o quanto guadagnerei facendo il salto di qualita'

stasera mi metto un po' a studiare la cosa, vero e' che se potessi usare il c++ al posto di java sarei contento come un bambino il 24 dicembre, ma e' inutile che inizi a fantasticare su quali strabilianti grafiche tridimensionali riuscirei a gestire, dato che sviluppo in solitaria e questo e' un passatempo post lavoro che gia' da solo mi ciuccia energie mentali :)

mi informo un po'. eventualmente tu (o altri) avete gia' iniziato a giochicchiarci un po'? (nel senso, se ho problemi siamo tutti a zero come conoscenze o gia' c'e' un po' di pratica alle spalle?)

grazie 1000 intanto per la risposta che mi hai gia' dato

Guarda.
In quel poco tempo che ho avuti a disposizione ho fatto qulcosina, e devo dire che non è tanto male (parlo di sdk, non di ndk) in termini prestazionali.
Ho fatto alcune prove con qualche framework per il 3D fatto apposta per android, ma comunque credo che siamo lontani dal poterci fare qualcosa di decente.
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline areo

  • Nuovo arrivato
  • *
  • Post: 19
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    nexus one
Re:Iniziare con OpenGL
« Risposta #14 il: 16 Novembre 2010, 11:13:01 CET »
0
io adesso sono fermo perche' ho il pc mi ha abbandonato la settimana scorsa, e venerdi' dovrebbe arrivare il nuovo. tempo qualche giorno che mi godo la nuova velocita' d'esecuzione (prima usavo un catorcio e renderizzare qualcosa con blender richiedeva giorni, con il nuovo in teoria no quindi me lo voglio proprio gustare) e mi metto a programmare un po'.

novita', impressioni e considerazioni del passaggio alle funzioni in c++ e le es2.0 le scrivo qui

ciao!