Hier ist meine Bitte. Ich kenne OpenGL noch nicht und 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 2D- Spiele zu entwickeln . Ich habe es für Aufführungszwecke ausgewählt (da das einfache SurfaceView-Zeichnen bei RT-Spielen nicht so effizient ist). Meine Frage ist: Wo soll ich anfangen? Ich habe über einen Monat damit verbracht, bei Google zu surfen und einige Tutorials / Beispiele zu lesen / auszuprobieren, die ich irgendwo gefunden habe, aber um ehrlich zu sein, es hat nicht viel geholfen, und das hat zwei Gründe:
- Fast alle Artikel / Tutorials, auf die ich gestoßen bin, beziehen sich auf 3D (ich möchte nur lernen, wie ich meine 2D-Sprites zeichne).
- Es gibt keine Basis, von der aus man beginnen kann, da alle Artikel auf bestimmte Dinge abzielen wie: "Wie zeichnet man ein Dreieck (mit Eckpunkten)", "Wie erstelle ich ein Netz" ... usw.
Ich habe versucht, auch einen Quellcode zu lesen (z. B. Replik-Insel), aber die Codes sind zu kompliziert und enthalten viele Dinge, die nicht notwendig sind. Ergebnis: Ich verliere mich unter 100 Java-Dateien mit seltsamen Klassennamen und so.
Ich denke, es gibt keinen Kurs wie den, den ich suche, aber ich bin sehr froh, wenn mir jemand einige Richtlinien und Links geben könnte, um zu erfahren, was ich vorhabe (nur OpenGL ES 2D Sprites-Rendering! Nichts 3D ).
and I'm not willing to learn it
Das ist kein sehr guter Weg, um hier eine Frage zu stellenAntworten:
Ich war in einer ähnlichen Situation.
So wie ich mit openGL angefangen habe, habe ich mir zunächst die sehr grundlegenden GLSurfaceView-Beispiele / -Demos angesehen.
Beginnen Sie, indem Sie Ihre App-Aktivität einrichten und die grundlegende Zeichenfläche einrichten.
Machen Sie eine Beute in der 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 SpriteMethodTest des gleichen Autors von Replica Island unbedingt ansehen: http://code.google.com/p/apps-for-android/source/browse/trunk/SpriteMethodTest
In dieser Frage habe ich meinen eigenen Code gepostet: Verwenden von OpenGL als Ersatz für Canvas - Android
Nachdem Sie Ihre Zeichenfläche eingerichtet haben, rufen Sie zunächst Folgendes auf: gl.glClear (GL10.GL_COLOR_BUFFER_BIT);
Danach können Sie ein Sprite rendern. Zuerst müssen Sie das Sprite in eine Textur laden: http://qdevarena.blogspot.com/2009/02/how-to-load-texture-in-android-opengl.html
Dies ist jedoch das Tutorial, das mir beim Laden von Sprites wirklich geholfen hat: http://tkcodesharing.blogspot.com/2008/05/working-with-textures-in-androids.html
So mache ich das, ich habe eine Klasse namens Texture.java:
Dann mache ich in meiner onDrawFrame () -Methode einfach:
Damit sollten Sie 2D-Sprites auf einer openGL-Leinwand zeichnen können. Mir ist aufgefallen, dass es dazu wirklich kein einfaches Tutorial gibt. Hoffentlich werde ich in Zukunft einen in meinem Entwickler-Blog veröffentlichen: http://developingthedream.blogspot.com/
quelle
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 über OpenGL ES. Das könnte Ihnen das Intro geben, nach dem Sie suchen: http://www.amazon.com/OpenGL-ES-2-0-Programming-Guide/dp/0321502795/
quelle
Ich würde auf jeden Fall Android - Chris Pruett Google IO Vortrag schreiben. Schreiben von Echtzeitspielen für Android Redux
Holen Sie sich auch das PDF
Es ist auf vielen Ebenen sehr hilfreich. Chris hat wirklich großartige Erfahrungen mit der Erstellung von Spielen für mobile Geräte
Wenn Sie sich jedoch wirklich auf 2D konzentrieren, beginnen Sie mit Canvas http://developer.android.com/guide/topics/graphics/index.html#drawing-with-canvas
Eine andere Option, die vom Kenntnisstand abhängt, ist Flash + AdobeAIR für Android. Ich selbst mag und luv Programmierstufe. Wenn Sie mit der Weiterentwicklung beginnen, werden Sie herausfinden, warum.
OpenGL: Nach - Nehe Productions suchen
Einige Apps, die Sie möglicherweise auf Ihr Telefon laden möchten, die sich lohnen und die kostenlos sind, sind: OpenGL-Demo, min3d Framework, RedBook Sample
quelle
Sie können das Projekt sehen: https://github.com/ChillingVan/android-openGL-canvas/blob/master/README-en.md Dies implementiert Canvas mit OpenGL. Es ist reines Java. Es implementiert Teile dessen, was normale Leinwand kann.
quelle
Ich sehe, dass viele gute Informationen bereits bereitgestellt wurden. Ich wollte eine Seite teilen, die mir geholfen hat, mich schnell mit OpenGLE vertraut zu machen! Es dauerte nur wenige Monate und hatte ein benutzerdefiniertes Koordinatensystem, das auf dem kartesischen Koordinatensystem basierte. Mit Augmented Reality-Techniken konnte ich 3D-Objekte ohne Kamera rendern.
Ich habe nur mit Programmiererfahrung begonnen, ohne OpenGL-Erfahrung. Ich habe Ray Wenderlichs Tutorials-Seite benutzt. Die dort bereitgestellten Informationen sind erstklassig und leicht zu verstehen. Er schneidet die meisten überflüssigen Informationen durch und liefert alles, was Sie wissen müssen, um schnell produktiv zu sein. Ich empfehle dieses Tutorial als Ausgangspunkt: http://www.raywenderlich.com/5223/beginning-opengl-es-2-0-with-glkit-part-1
Die andere Ressource, die ich empfehlen würde, ist ein Buch von Erik M Buck mit dem Titel Learning OpenGL ES für iOS.
Einige kritisierten es als zu simpel. Aber genau das habe ich gesucht. Es half mir, alle Grundlagen zu verstehen und gab mir eine Idee, wohin ich als nächstes gehen sollte, um fortgeschrittenere Dinge zu lernen. Aber es war nicht überraschend, dass ich meine Augmented Reality-App mit den einfachen Techniken erstellen konnte, die ich von Rays Website und Eriks Buch gelernt hatte. Vielen Dank an beide fürs Teilen !!!
quelle
Es gibt viele Online-Tutorials, denen Sie folgen können, aber für Anfänger kann nichts dieses ersetzen: Ein echtes Open GL ES 2.0 2D-Tutorial
quelle