Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

LukasBanana

Alter Hase

  • »LukasBanana« ist der Autor dieses Themas

Beiträge: 1 097

Beruf: Shader Tools Programmer

  • Private Nachricht senden

1

12.03.2011, 11:58

SoftPixel Engine für Android und iOS

Ich arbeite jetzt erst seit einer Woche an einem neuen Projekt (das alte Projekt lasse ich natürlich nicht fallen ^^): SoftPixel Engine Droid geschrieben in Java für Googles Android Smartphone OS.
Die API ist natürlich stark an die SoftPixel Engine für C++ angelehnt, daher kann man hierbei auch von der 'kleinen Schwester' der SPE reden :D
Ich denke ich werde auch diese Projekt unter der zlib/libpng veröffentlichen, sobald ich die erste Version veröffentliche.
Auch wenn ich erst seit einer Woche daran arbeite, bin ich bis jetzt schon gut voran gekommen, da ich natürlich einiges aus der SPE übernhemen und nur in Java überführen muss.
Die Engine unterstützt OpenGL|ES 1.0 und 1.1. Vielleicht kommt irgend wann auch noch OpenGL|ES 2.0 hinzu, aber fürs Erste, sollten diese beiden Renderer erst mal genügen.
Außerdem sollen die Apps ja nicht nur auf den aller neusten Android Smartphones laufen :)

Auf meiner Homepage habe ich eine extra Seite nur für diese Projekt eingerichtet: softpixelengine.sourceforge.net / Droid's Home

Zwei Screenshots gibt es auch schon dazu:


(Link)

(Link)


Sobald es Neuigkeiten zum Projekt gibt und/oder ich die erste Version release, melde ich mich natürlich auch hier, sonst auch in meinem SPE Forum ;)

Gruß,
Lukas

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »LukasBanana« (08.09.2011, 20:48)


2

13.03.2011, 18:14

Sieht schon mal gut aus.
Aber warum nutzt du nicht deine SPE in C++ und machst nur Java-Bindings?^^

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

3

14.03.2011, 13:52

Deine Idee finde ich klasse! Vor allem die Verwaltung der Mediendateien würde mich interessieren ;). Arbeitet alles im GLSurfaceView?

LukasBanana

Alter Hase

  • »LukasBanana« ist der Autor dieses Themas

Beiträge: 1 097

Beruf: Shader Tools Programmer

  • Private Nachricht senden

4

14.03.2011, 14:07

Ich hab ne Klasse namens GLES10Renderer die von GLSurfaceView erbt. Zu Beginn hatte ich das meiste in dieser Klasse, aber inzwischen strukturiere ich das auch etwas besser, ähnlich wie in der original SPE mit SceneManager usw.
Außerdem will ich noch eine Klasse GLES11Renderer schreiben, die von GLES10Renderer erbt. Momentan wird in letzerer immer geprüft ob (gl instanceof GL11) ist,
damit auch VertexBufferObjects und MultiTexturing unterstützt werden kann.
Hier mal eine grobe Übersicht über die wichtigsten Klassen, die ich schon implementiert habe:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
GLES10Renderer extends GLSurfaceView

BasicObject
|_ Node
|  |_ MaterialNode
|     |_ Billboard
|     |_ Mesh
|_ Camera
|_ Light

matrix4
vector3d
point2d
size2d

MaterialStates
SceneManager
Texture

MeshBuffer (Surface liste in Mesh Klasse)
MeshVertex (Coord, TexCoord[4], Color, Normal)
MeshTriangle (Indices, a, b, c)
MeshTexture (Texture, matrix4, flags)

Zur Medien Verwaltung: Meinst du jetzt wie die Engine die Medien verwaltet oder wie das generell bei Android Apps funktioniert?
Also in der GLES10Renderer Klasse gibt's ne Funktion namens "loadTexture" die nur nen Integer für die ResoruceID nimmt.
Nicht wie in der orginal SPE, bei der ein Dateiname verlangt wird.

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

5

14.03.2011, 14:59

nein wie android funktioniert weiss ich mich interessiert nur dein ansatz. spannend wäre ebend in bezug auf texturen, dass man auch dateinamen angeben kann, aus denen er dann eine resource id raussucht. anwendungsfall: du hast eine custom xml und verweist dort auf texturen, das geht nur mit dateinamen und dann ist einfacher zu benutzen.

LukasBanana

Alter Hase

  • »LukasBanana« ist der Autor dieses Themas

Beiträge: 1 097

Beruf: Shader Tools Programmer

  • Private Nachricht senden

6

14.03.2011, 16:34

Interessante Idee, aber zur Zeit noch nicht in meinem Projekt implementiert. Läuft ja erst seit ein paar Wochen.
Ich bin auch noch nicht sicher, ob und vor Allem wie ich das dann als Lib veröffentliche. Im Moment habe ich das Spiel noch im selben Projekt nur in einem anderen package.
Dadruch dürfte es allerdings deutlich einfacher sein, die SPED zu erweitern. Da vermutlich die meisten Android Entwickler eclipse verwenden (ich gehe einfach mal davon aus, weil im Android NDK Plugins für eclipse dabei sind).
Naja mal schauen, aber die Idee ist auf jeden Fall gut. Mal schauen wie ich das einbaue. Aber bevor ich die SPED veröffentliche, will ich mein Spiel erst mal fertig haben, das dient dann auch gleich TechDemo :D

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

7

14.03.2011, 18:13

Neben Eclipse gibt es noch intelliJ, war aber von dem teil nich so begeistert....da geht eclipse schon. ansonsten natürlich als lib bitte.

LukasBanana

Alter Hase

  • »LukasBanana« ist der Autor dieses Themas

Beiträge: 1 097

Beruf: Shader Tools Programmer

  • Private Nachricht senden

8

14.03.2011, 19:11

Wie kann man ein Android Projekt in eclipse denn als Lib speichern? Und wie setzt man diese dann in ein anderes Projekt ein?

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

9

14.03.2011, 19:42

Dafür musst du aus deinem Projekt eine jar-datei bauen lassen. wie das geht findet man mit googlen, ich habe ein pdf gefunden: pdf

und einsetzen musst du das laut recherchen in den build-path die jar einbinden. ansonsten findet man recht schnell antworten^^

10

14.03.2011, 23:34

Ich hab neulich meine erste Android App gebastelt, wenn das hier fertig ist, werd ichs mir sicherlich auch mal angucken, schaut interessant aus :)
Lieber dumm fragen, als dumm bleiben!

Werbeanzeige