Nun, hier ist meine Bitte. Ich kenne OpenGL noch nicht, und ich bin nicht bereit, es zu lernen, ich möchte OpenGL ES direkt lernen, da ich meine Entwicklung jedoch auf Android ausrichte. Ich möchte OpenGL ES lernen, um meine zu entwickeln 2D Spiele. Ich habe es für Leistungszwecke ausgewählt (da das grundlegende SurfaceView-Zeichnen bei RT-Spielen nicht so effizient ist). Meine Frage ist: wo anfangen? Ich habe über einen Monat damit verbracht, Google zu durchsuchen und einige Tutorials/Beispiele zu lesen/auszuprobieren, die ich irgendwo gefunden habe, aber um ehrlich zu sein, es hat nicht viel geholfen, und das aus zwei Gründen:
Fast alle Die Artikel/Tutorials, auf die ich gestoßen bin, beziehen sich auf 3D (ich möchte nur lernen, wie ich meine 2D-Sprites-Zeichnung mache).
Es gibt keine Ausgangsbasis, da alle Artikel auf bestimmte Dinge abzielen wie: „Wie man ein Dreieck zeichnet (mit Scheitelpunkten)“, „Wie man ein Netz erstellt“ usw.
Ich habe auch versucht, Quellcode zu lesen (z. B.: Replica Island), aber die Codes sind zu kompliziert und enthalten viele Dinge, die nicht notwendig sind. Ergebnis: Ich verliere mich zwischen 100 .java-Dateien mit seltsamen Klassennamen und so.
Ich denke, es gibt keinen Kurs wie den, den ich suche, aber ich wäre sehr froh, wenn mir jemand einige Richtlinien und einige geben könnte Verknüpfungen vielleicht um zu lernen, was ich vorhabe (nur OpenGL ES 2D-Sprites-Rendering! nichts 3D).
and I'm not willing to learn it Das ist keine sehr gute Art, hier eine Frage zu beginnen
– Famarri
24. August 2010 um 3:11 Uhr
Bitte lesen Sie meine ganze Frage, Sie haben einen heiklen Teil davon genommen und die wichtigste Ergänzung hinterlassen: “Ich kenne OpenGL noch nicht und bin nicht bereit, es zu lernen, ich möchte OpenGL ES direkt lernen, da ich es bin Ausrichtung meiner Entwicklung auf Android” Was bringt es, OpenGL zu lernen, wenn ich nur mit OpenGL ES auf eingebetteten Geräten arbeiten werde? Prost
– CoolStraw
24. August 2010 um 4:00 Uhr
Angesichts der Tatsache, dass OpenGL ES hauptsächlich eine Teilmenge von OpenGL ist, sehe ich keinen Sinn darin zu sagen, dass Sie OpenGL nicht lernen werden, da Sie dies per Definition tun müssen.
– Dash-Tom-Bang
25. August 2010 um 1:12 Uhr
Übrigens – Replica Island ist so ziemlich der Ort, an dem man suchen muss. Sie könnten damit beginnen und zunächst Änderungen daran vornehmen. Entfernen Sie Dinge, die Sie nicht wollen oder brauchen, und dann werden aus 100 Klassen 99, dann 98, dann 97 …
– Dash-Tom-Bang
25. August 2010 um 1:14 Uhr
Miguel Morales
Ich war in einer ähnlichen Situation.
Die Art und Weise, wie ich mit OpenGL begonnen habe, begann mit einem Blick auf die sehr einfachen GLSurfaceView-Beispiele/Demos.
Beginnen Sie mit der Einrichtung Ihrer App-Aktivität und richten Sie die grundlegende Leinwand ein.
Werfen Sie einen Blick auf die Quellcodedatei der Replikinsel: GameRenderer.java, um zu erfahren, wie Sie Ihre Leinwand mit den richtigen GL-Flags für das 2D-Rendering (Sprite) einrichten. Sie sollten sich unbedingt den SpriteMethodTest des gleichen Autors von Replica Island ansehen: http://code.google.com/p/apps-for-android/source/browse/trunk/SpriteMethodTest
Sehen Sie sich diese Frage an, in der ich meinen eigenen Code gepostet habe: Verwenden von OpenGL zum Ersetzen von Canvas – Android
Nachdem Sie Ihre Leinwand eingerichtet haben, rufen Sie so etwas wie: gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
Das sollte Sie dazu bringen, 2D-Sprites auf einer OpenGL-Leinwand zu zeichnen. Mir ist aufgefallen, dass es dazu kein wirklich einfaches Tutorial gibt. Hoffentlich werde ich in Zukunft einen in meinem Dev-Blog posten: http://developingthedream.blogspot.com/
Kumpel vielen Dank! So eine Anleitung habe ich noch nie bekommen, genau danach habe ich gesucht! Und ich werde deinen Blog im Auge behalten, hoffentlich wirst du uns in Zukunft mit tollen Tutorials versorgen :), Nochmals vielen Dank
– CoolStraw
10. September 2010 um 5:08 Uhr
In der gleichen Situation wie OP und so dankbar wie er für Ihre Antwort. Viel Glück mit Ihrem Spiel/Blog. thx nochmal
– unR
9. Oktober 2011 um 13:52 Uhr
Danke @Miguel Morales Ich hatte es satt, mit GL nach 2D-Zeichnungen zu suchen. Wie CoolStraw sagte, gibt es zu viele Tutorials mit vielen unnötigen Dingen darin. Diese Antwort war klar wie ein Kristall.
– Evren Öztürk
8. März 2012 um 13:51 Uhr
@Miguel Morales Nach vielen Versuchen kann ich nichts zeichnen, da meine Texturen schwarz angezeigt werden. Ich habe eine Frage gestellt stackoverflow.com/questions/9624260/… können Sie einen Blick darauf werfen?
– Evren Öztürk
8. März 2012 um 21:24 Uhr
2D-Programmierung ist nur 3D-Programmierung, die auf eine Ebene beschränkt ist. Sie haben keine andere Wahl, als 3D zu lernen, aber wenn Sie es verwenden, setzen Sie einfach z = 0.
Es gibt ein offizielles Buch zu OpenGL ES. Das könnte Ihnen die Einführung geben, nach der Sie suchen: http://www.amazon.com/OpenGL-ES-2-0-Programming-Guide/dp/0321502795/
Um pedantisch zu sein, Sie verwenden immer noch Z, damit Sie die Hardware das Sortieren für Sie erledigen lassen können. Die große Änderung besteht darin, dass die 2D-Anwendung (wahrscheinlich) eine orthografische Ansicht anstelle einer perspektivischen verwendet.
– Dash-Tom-Bang
25. August 2010 um 1:14 Uhr
Vielen Dank für Ihre Antwort, Ihre Aussage zeigt mir, dass ich mich in Bezug auf die Definition von Opengl und Opengl ES geirrt habe.
– CoolStraw
25. August 2010 um 17:19 Uhr
Ich würde Android definitiv auschecken – Chris Pruett Google IO-Vorlesung Schreiben von Echtzeitspielen für Android Redux
schnapp dir auch das PDF
Es ist auf vielen Ebenen wirklich hilfreich, Chris hat wirklich großartige Erfahrung mit der Entwicklung von Spielen für mobile Geräte
Eine andere Option hängt vom Können ab und ist Flash + AdobeAIR für Android. Ich selbst mag und liebe das Programmierniveau, und wenn Sie mit der Entwicklung beginnen, werden Sie herausfinden, warum.
OpenGL: Suchen Sie nach – Nehe Productions
Ein paar Apps, die Sie vielleicht auf Ihr Telefon installieren möchten, die sich lohnen und die kostenlos sind, sind: OpenGL Demo, min3d Framework, RedBook Sample
and I'm not willing to learn it
Das ist keine sehr gute Art, hier eine Frage zu beginnen– Famarri
24. August 2010 um 3:11 Uhr
Bitte lesen Sie meine ganze Frage, Sie haben einen heiklen Teil davon genommen und die wichtigste Ergänzung hinterlassen: “Ich kenne OpenGL noch nicht und bin nicht bereit, es zu lernen, ich möchte OpenGL ES direkt lernen, da ich es bin Ausrichtung meiner Entwicklung auf Android” Was bringt es, OpenGL zu lernen, wenn ich nur mit OpenGL ES auf eingebetteten Geräten arbeiten werde? Prost
– CoolStraw
24. August 2010 um 4:00 Uhr
Angesichts der Tatsache, dass OpenGL ES hauptsächlich eine Teilmenge von OpenGL ist, sehe ich keinen Sinn darin zu sagen, dass Sie OpenGL nicht lernen werden, da Sie dies per Definition tun müssen.
– Dash-Tom-Bang
25. August 2010 um 1:12 Uhr
Übrigens – Replica Island ist so ziemlich der Ort, an dem man suchen muss. Sie könnten damit beginnen und zunächst Änderungen daran vornehmen. Entfernen Sie Dinge, die Sie nicht wollen oder brauchen, und dann werden aus 100 Klassen 99, dann 98, dann 97 …
– Dash-Tom-Bang
25. August 2010 um 1:14 Uhr