Eigene Java 3D Engine erstellen.

NZPaul

Mitglied
Hey,

ich habe nun schon einige 2D Spiele programmiert und würde jetzt gerne mit 3D Spieleprogrammierung anfangen, jedoch möchte ich meine eigene Engine Programmieren. (also nicht Java 3D verwenden, sondern nur mit dem StandardJDK arbeiten)

Ich habe jetzt auch schon länger nach Toturials und Bücher gesucht, jedoch überhaupt nichts finden können.

Hättet Ihr vielleicht irgendeinen Tipp wo ich ein gutes Toturial oder ähnliches finden kann? Kann auch gerne auf Englisch sein.
 

Landei

Top Contributor
Ich hoffe dir ist klar, wieviel Arbeit es ist, auch nur einen bunten Würfel auf den Bildschirm zu bekommen. "Nur mit StandardJDK" klingt ziemlich sinnfrei, du solltest schon wenigstens einen OpenGL-Wrapper (lwjgl, JOGL oder so) verwenden.
 

NZPaul

Mitglied

Evil-Devil

Top Contributor
Ich hab dieses feine Buch zu Hause
Computer graphics for Java programmers - Leendert Ammeraal, Kang Zhang - Google Bücher

Das beginnt mit einfachem 2D und endet bei 3D. Alles auf dem 2D Graphics Objekt. Man schreibt also effektiv seinen eigenen Rasterizer und muss sich am Ende des Buches um alles kümmern. Clipping, Depth Testing etc pp.

Ist sehr viel Mathe und ich hab irgendwann kein Bock mehr gehabt, auch wenn ich immer wieder mal rein schaue. Aber so grundlegendes in der heutigen Zeit neu zu schreiben ist meiner Meinung nach außer zu Lernzwecken überflüssig. Auch wenn es sehr interessant ist. Falls du also nicht gerade in der Richtung studierst schnapp dir eine bestehende API und nutze die. Zb. OpenGL. Auch da wirst du noch mehr als genug lernen müssen.
 

Empire Phoenix

Top Contributor
Vergiss das ohne librarys,
da ist dann nur software rendering möglich, was ungefähr doppelt soviel aufwand macht und 10 mal so s******e aussieht.
Mit opengl und shadern ect alleine ist man schon gut meherere Jahre mit lernen beschäftigt, (wenn man grafic die halbwegs state of the art is hinbekommen will)

Daher mindestens lwjgl or jogl2
 

Noctarius

Top Contributor
Wenn man aber die Hintergründe verstehen will ist ein einfaches Beispiel bzw eine Basisimplementierung eines Softwarerenderers nicht falsch. Man kann hinterher viel besser mit Hardwaresupport wie OpenGL oder DX umgehen,
 

Tobse

Top Contributor
Nicht das ich jetzt großartig Ahnung davon hätte, aber ein 3D-Renderer Macht ja das:
3D-Daten, also die Eckpunkte der Objekte, und Kameraposition rein => 2D Pixel raus (von Texturen mal ganz zu schweigen)

Hört sich für mich nach zig' berechnungen an, die in Java vor allem, warscheinlich lange brauchen werden. Mir är das zu heftig.
 

Kr0e

Gesperrter Benutzer
Hm. Wenn du bereits Vorwissen über die alten Versionen von GL hast, dann kannst du die schonmal zu 50% übern Haufen werfen. Hat sich viel geändert mit OpenGL 3.x.


Ansonsten würde ich sagen: Vergiss das Vorhabe!

Das ist jetzt keine Geringschätzung deiner Fähigkeiten sondern schlicht und einfahc Erfahrung. Mit viel Aufwand und Motivation schaffst du es vlt. einen simplen, diffusen Shader hinzukriegen und dann alles so weit aufzubereiten, dass am Ende nach stundenlanger/tagelanger Arbeit ein drehender Würfel mit simpler Textur erscheint.


Ich persönlich finde auch, dass man Wissen darüber haben sollte, wie 3D PRogrammierung funktioniert, aber es selbst "from scratch" zu machen, halte ich für falsch. Du verlierst schneller die Lust, als dir Lieb ist und am Ende hast du dann quasi null gelernt.


Mein persönlicher Tipp: Lerne 3D/Spiele Programmierung nicht mit Java. Unity3D bietet (C# als Sprache, ähnlich wie Java + einigen nützlichen Spracherweiterungen) eine komplette Umgebung zum Entwickeln und Testen.

Wenn du dann die ganzen Tuts und Doks liest, wird einem sehr gut erklärt, was im Hintergrund der Engine vorgeht. Z.b. was ein Drawcall ist udn warum man davon nicht 1kk haben sollte und wie man diese minimieren kann. Dazu gibt es fertige Shader + deren Code. Du könntest dich dann direkt an eigenen Shadern probieren.


Fazit:

Das was du dir stellen musst, ist die Frage: "Was will ich eigentlich machen ?". Halbziellos, ohne klares Konzept und nur "3D Technik" lernen ist vermutlich ein schnell vergangenes Ziel.

2ter Tipp: Fang bei 3D Programmierung ANDERS herum an. Lerne erst die Highlevelkonzepte und arbeite mit Unity oder sonst was (UDK, CryEngine, etc...). Wenn die Highlevelkonzepte gut beherrscht und so ziemlich alles weißt, was es auf dem Highlevel Niveau zu wissen gibt... DANN, erst DANN, solltest du dich darüber informieren, wie die nächste Ebene funktioniert.

Das ist natürlich absolut nur meine eigene Meinung und das sehen vermutlich viele anders. Insofern... Gib nich zu viel auf die Meinung eines einzelnen ;)


Gruß,
Chris


[EDIT:]


Wenn dich das alles noch nicht entmutigt hat, da gibt es sowieso nur EINE Wahl als Buch:

OpenGL Super Bible V5. Ich hab mir die vor einiger Zeit mal besorgt, um besser mit den neuen GL Versionen zu arbeiten und die Änderung zu verstehen, die mit GL3.3 gekommen sind. Das ist wirklicH DAS Buch!
 
Zuletzt bearbeitet:

Marco13

Top Contributor
Dem kann ich weitestgehend zustimmen. Aber wenn hier gelegentlich solche Fragen kommen wie "Wie kann ich in Java3D ein Objekt an eine bestimmte Stelle setzen / irgendwie ausrichten?" usw. überlege ich manchmal ob derjenige nicht vielleicht auf dem falschen Level angefangen hat. (Die Gefahr besteht aber wohl nicht, wenn man sich zwar mit dem High-Level beschäftigt, aber sich trotzdem auch für das Low-Level interessiert - dann beschäftigt man sich damit nämlich automatisch mit)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Eigene Minecraft Enchantements Spiele- und Multimedia-Programmierung 1
C Eine eigene 3d Engine : Shader - aber wie ? Spiele- und Multimedia-Programmierung 2
S Eigene Klasse vec_t - 3 oder 4 Einheiten für x, y, z und w Spiele- und Multimedia-Programmierung 11
J Minecraft Eigene Buttons "bauen" á la MineCraft Spiele- und Multimedia-Programmierung 11
M Eigene Renderengine ohne Java3D,etc. Spiele- und Multimedia-Programmierung 19
D JOGL2 eigene mipmaps laden Spiele- und Multimedia-Programmierung 13
Steev Eigene Repaint-Logik Spiele- und Multimedia-Programmierung 17
P eigene Konsole Spiele- und Multimedia-Programmierung 6
M Eigene Strings zeichnen Spiele- und Multimedia-Programmierung 4
N RotationInterpolator um die eigene X-Achse Spiele- und Multimedia-Programmierung 2
M um eigene Achse drehen Spiele- und Multimedia-Programmierung 3
R Eigene geometrische Formen Spiele- und Multimedia-Programmierung 2
xFearofdarkness Feinde überlappen sich in Java Spiel Spiele- und Multimedia-Programmierung 3
A Minecraft Java Buch fehlermeldung Spiele- und Multimedia-Programmierung 67
yakazuqi Minecraft java.lang.Error: Watchdog Spiele- und Multimedia-Programmierung 3
L Fehler bei "Nochmal Spielen" (Java) Spiele- und Multimedia-Programmierung 1
N Minecraft Java Error Spiele- und Multimedia-Programmierung 6
M "Java Datei" Cannot be resolved to a variable Spiele- und Multimedia-Programmierung 2
1Spinne Minecraft Fabric Modding Java Error Spiele- und Multimedia-Programmierung 2
Joris Minecraft Minecraft Java Server Spiele- und Multimedia-Programmierung 6
Shanic Minecraft Minecraft Forge Server "Falsche Java Version" Spiele- und Multimedia-Programmierung 6
O Browser-basiertes online Pokerspiel mit Java Spiele- und Multimedia-Programmierung 1
M Spiel Mühle-Programmierung Java Spiele- und Multimedia-Programmierung 9
G VST-Plugins in Java verwenden Spiele- und Multimedia-Programmierung 0
P Audio Visualizer mit OpenGL in Java? Spiele- und Multimedia-Programmierung 4
P Snake Java Hilfe Spiele- und Multimedia-Programmierung 4
D Minecraft [Minecraft] Java Start Fehler (Core-Dump) Spiele- und Multimedia-Programmierung 1
T Welche packages aus der java api doku ist hilfreich zur Android Spieleprogrammierung Spiele- und Multimedia-Programmierung 2
A Programmieren eines Memorys mit Java (in Eclipse) Spiele- und Multimedia-Programmierung 5
L Sound in Java Spiel Spiele- und Multimedia-Programmierung 5
C Java findet FluidSynth nicht Spiele- und Multimedia-Programmierung 2
I Java Andere Fenster in Borderless-Mode setzen Spiele- und Multimedia-Programmierung 16
leon_krys Java-Bußgeldrechner Spiele- und Multimedia-Programmierung 5
G [Java/KryoNet/LibGDX] Mutliplayer Packet Frage Spiele- und Multimedia-Programmierung 2
P Website mit Java Backend? Spiele- und Multimedia-Programmierung 1
D Java Bild bewegen funktioniert nicht Spiele- und Multimedia-Programmierung 8
J Fertigungstechnik.. PLS HALP.. Quellcode vom Text in java-Klasse speichern Spiele- und Multimedia-Programmierung 2
E Kalah Java Implementation Spiele- und Multimedia-Programmierung 1
G [Java] Vereinfachung von Boolean Abfragen Spiele- und Multimedia-Programmierung 3
G [LibGDX/Java] ArrayList Object Speicher Spiele- und Multimedia-Programmierung 3
T Java 3D Spiele- und Multimedia-Programmierung 2
A Spielfelder erstellen mit Jogl Java durch ein Koordinaten Array Spiele- und Multimedia-Programmierung 1
J Java Buttons Spiele- und Multimedia-Programmierung 6
T Java Kalender Spiele- und Multimedia-Programmierung 5
Ice4P4rty Java Optische Oberfläche Spiele- und Multimedia-Programmierung 2
MABY Eine mp3 Datei in Java abspielen Spiele- und Multimedia-Programmierung 14
D Java Bomberman Probleme java.lang.NullPointerException Spiele- und Multimedia-Programmierung 1
N Spiele-Menü in Java Spiele- und Multimedia-Programmierung 9
J HDMI Ausgänge mit Java programmieren? Spiele- und Multimedia-Programmierung 18
H Yu-Gi-Oh! Mit Java was tun? Spiele- und Multimedia-Programmierung 6
G Component System Java 2D Game LibGDX Spiele- und Multimedia-Programmierung 6
S Pong java.lang.StackOverflowError Spiele- und Multimedia-Programmierung 3
C Java aus Klasse rausgehen Spiele- und Multimedia-Programmierung 2
MaxG. Java Internet Radio Spiele- und Multimedia-Programmierung 6
G [Java Server] Allgemeine Frage zum Thema Networking in Videospielen Spiele- und Multimedia-Programmierung 15
P java.lang.NoClassDefFoundError: in Greenfoot Spiele- und Multimedia-Programmierung 0
G Java Achsen invertieren Spiele- und Multimedia-Programmierung 2
G Java 2D Spiel mit LWJGL verbinden Spiele- und Multimedia-Programmierung 1
$ Einstieg in Java Game Development Spiele- und Multimedia-Programmierung 11
BraunBerry Java Game Pixel "einfärben" Spiele- und Multimedia-Programmierung 6
BraunBerry Java Game verbesserte Kollisionserkennung Spiele- und Multimedia-Programmierung 18
BraunBerry Java Game Waypoint System Spiele- und Multimedia-Programmierung 3
S Hilfe bei Java Gui Spiele- und Multimedia-Programmierung 2
D Java sound pulseaudio Spiele- und Multimedia-Programmierung 0
David Schwarzbeck Java 3 dimensionale Kollisions Abfrage Spiele- und Multimedia-Programmierung 2
M Gesellschaftsspiel Mühle in Java programmieren Spiele- und Multimedia-Programmierung 3
beatles Java Minesweeper - OS X und Win7 Unterschied Spiele- und Multimedia-Programmierung 2
D Minecraft Java JDK installiert - Minecraft läuft nichtmehr in 64 Bit Spiele- und Multimedia-Programmierung 2
E TMX - Dateien in Java laden Spiele- und Multimedia-Programmierung 1
K Erstellen eines Fotoalbums mit Java Spiele- und Multimedia-Programmierung 8
windl MoviePlayer in Java Spiele- und Multimedia-Programmierung 0
S 2D-Render Probleme LWJGL 2 (Java) Spiele- und Multimedia-Programmierung 1
F Klausurersatz: Ein Java-Programm erstellen und dieses präsentieren. Spiele- und Multimedia-Programmierung 2
E Java Jump and Run Map zu groß Spiele- und Multimedia-Programmierung 14
P java lwjgl Game Spiele- und Multimedia-Programmierung 0
J programm mit java-plugin Spiele- und Multimedia-Programmierung 2
D Java Webgame, welche Frameworks oder Techs sind von Nöten? Spiele- und Multimedia-Programmierung 5
P Java 2D Bug? Spiele- und Multimedia-Programmierung 8
T Problem mit Eclipse (java)-(minecraft) Spiele- und Multimedia-Programmierung 3
R Java App sendet Midi Daten über Flash Spiele- und Multimedia-Programmierung 3
O Java Zeile aus Textdatei zufällig ausgeben Spiele- und Multimedia-Programmierung 8
K Bestes Bildformat für Spielegrafiken und deren Einbindung in Java Spiele- und Multimedia-Programmierung 2
D JAVA Basiertes Spiel aus dem Internet in eigenem Client laden Spiele- und Multimedia-Programmierung 1
T Alle Referenzen zu einer Klasse aus Java Bytecode ersetzt, JVM sucht trotzdem diese Klasse Spiele- und Multimedia-Programmierung 1
J Java Kollisionsabfrage Spiele- und Multimedia-Programmierung 21
Flo. android java tastatureingaben abfangen. Spiele- und Multimedia-Programmierung 1
J Java Steuerberechnung hilfe Spiele- und Multimedia-Programmierung 17
C Export als .jar funktioniert nicht richtig (JAVA 3D) Spiele- und Multimedia-Programmierung 5
P Java Grafiken mit Rechnungen verknüpfen Spiele- und Multimedia-Programmierung 4
U Minecraft Mit Java auf Minecraft Server anmelden Spiele- und Multimedia-Programmierung 11
F Das sag mir einer Java ist plattform unabhänig ! Spiele- und Multimedia-Programmierung 10
C virtueller stereomix (java sound API) Spiele- und Multimedia-Programmierung 0
S Engine2D - Java 2D Engine Spiele- und Multimedia-Programmierung 20
J Java Game performance Probleme Spiele- und Multimedia-Programmierung 7
C Java Kollisionserkennung Spiele- und Multimedia-Programmierung 4
U Blender in Java Spiele- und Multimedia-Programmierung 8
J Java Fussballspiel Player-KI in der Bewegungsphase Spiele- und Multimedia-Programmierung 4
K Java 15/Slide/Boss Puzzle Spiele- und Multimedia-Programmierung 2
T Java 3D - Step oder IGES Spiele- und Multimedia-Programmierung 1
H 3D Spiele mit Java - Diskussion Spiele- und Multimedia-Programmierung 35

Ähnliche Java Themen


Oben