Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : (Java) Engine-Test



Cornix
05.10.2013, 21:04
Guten Tag.

Ich arbeite gerade daran meine Java 2D-Grafik-Engine weiter auszubauen. Ich habe ein kleines Testprogramm geschrieben und ich würde mich sehr darüber freuen falls möglichst viele Nutzer es einmal kurz ausprobieren könnten.
Besonders interessiert bin ich daran zu wissen, auf welchen Betriebssystemen es funktioniert, und auf welchen es zu Problemen kommt.
Außerdem wüsste ich auch gerne auf welcher Hardware es läuft und welche Grafikkarten nicht damit klarkommen.

Ich werde auch gerne technische Fragen zum Programm beantworten.


Das Program selbst ist ca. 1.7mb groß. Es handelt sich dabei um ein Java Program, welches OpenGL zum Anzeigen von Grafiken verwendet.
Es wird einfach nur ein simples Bild in der Mitte des Bildschirms angezeigt. Mit Tastatureingaben kann man das Bild bewegen, drehen, skalieren, die Farbe beeinträchtigen, den Shader wechseln und die Textur austauschen.
Eine genaue Anleitung zu allen Befehlen findet sich in der beigelegten Readme.

Bei Fehlern bitte das Betriebssystem angeben und die Grafikkarte.
Außerdem, im Fall, dass ein Fehler auftritt, bitte versuchen das Program über die Kommandozeile zu starten, mit diesem Befehl zum Beispiel: "java -jar Exe.jar". Falls dabei eine Fehlermeldung auf der Kommandozeile ausgegeben wird, wäre es sehr hilfreich, wenn sie mir mitgeteilt werden könnte.

Die neueste Version von Java wird zum ausführen benötigt. Man kann Java hier herunterladen: http://www.java.com/de/download/


Download des Programms:
Windows Version: http://www.file-upload.net/download-8146669/Picture-Test--Windows-.zip.html
MacOS Version: http://www.file-upload.net/download-8146673/Picture-Test--MacOS-.zip.html
Linux Version: http://www.file-upload.net/download-8146674/Picture-Test--Linux-.zip.html
Solaris Version: http://www.file-upload.net/download-8146678/Picture-Test--Solaris-.zip.html


Vielen Dank für die Unterstützung.

G-Brothers
05.10.2013, 21:39
Habe Vista. Es funktioniert alles soweit, wie es soll. ^w^

IronChef
05.10.2013, 21:45
Kann bei mir auch keine Fehler ausmachen. System: Windows 7 (32bit), GeForce 8600m GT.

Leana
05.10.2013, 22:36
Bei mir läufts leider nicht :( Habs dann über die Kommandozeile gestartet und folgende Meldungen gekriegt:

18865

System: Win7 64Bit
Grafikkarte: Intel GMA 4500 MHD
OpenGL-Version: 1.1

Cornix
05.10.2013, 22:41
Das ist eine Laptop Grafikkarte, richtig?
Ich hätte es wahrscheinlich direkt am Anfang schreiben sollen, die Grafikkarte muss mindestens OpenGL Version 2.0 unterstützen da custom shader verwendet werden.
Trotzdem danke für den Test.

Auch ein herzliches Dank an alle anderen. Es wäre sehr nett wenn jemand vielleicht mit einem Mac OS oder Linux OS testen könnte.

Leana
05.10.2013, 23:51
Das mit der OpenGL-Version dachte ich mir schon, deshalb hab ich sie auch dazu geschrieben. Hab nach nem Treiberupdate nen neuen Versuch gestartet. Es läuft aber immer noch nicht, obwohl ich jetzt OpenGL 2.1 hab :

18866


Das ist eine Laptop Grafikkarte, richtig?
Eigentlich schon, gibt es aber auch als PC-Version.

Cornix
05.10.2013, 23:55
Ich sehe schon. Das sind die Mipmaps der Textur. So wie es aussieht ist die Funktion, welche ich zur automatischen Generierung der Mipmaps verwende, erst ab OpenGL Version 3.0 enthalten.
Für ein 2D-Spiel werden Mipmaps sowieso nicht benötigt, daher hat das keine großen Auswirkungen. Aber es war definitiv nützlich sich dessen nocheinmal im klaren zu sein, danke für den ausgiebigen Test.

IronChef
05.10.2013, 23:59
Unter Mac OS X 10.5.8 krieg ichs nicht geöffnet. Ich vermute mal der Umstand, dass die aktuellen Java-Versionen nur vom jeweils aktuellsten Mac OS unterstützt werden ist auch hierfür leider nicht besonders günstig.

Terminalmeldung sieht jedenfalls wie folgt aus:

Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:676)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:317)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:375)

Cornix
06.10.2013, 00:05
Vielen Dank für den Test.
Die Fehlermeldung ist ziemlich eindeutig, die Java-Version ist nicht ausreichend hoch um das Programm laufen zu lassen.
Mir war nicht bewusst, dass ältere MacOS-Versionen keinen Zugang zu den neueren Java-Versionen haben. Es ist generell eigentlich eine eher schlechte Idee eine veraltete Java-Version zu nutzen da hauptsächlich Sicherheitslücken und Fehlerquellen mit neueren Versionen ausgelöscht werden.
Aber das ist wohl etwas was ich bedenken werden muss in Zukunft. Ich weis aber nicht ob das Programm mit einer niedrigeren Java-Version kompilieren wird.

XRPG
07.10.2013, 22:47
Hab einen Fehler.


org.lwjgl.LWJGLException: Failed to find ARB pixel format 1 0

at org.lwjgl.opengl.WindowsPeerInfo.nChoosePixelFormat(Native Method)
at org.lwjgl.opengl.WindowsPeerInfo.choosePixelFormat(WindowsPeerInfo.ja
va:52)
at org.lwjgl.opengl.WindowsDisplay.createWindow(WindowsDisplay.java:244)

at org.lwjgl.opengl.Display.createWindow(Display.java:306)
at org.lwjgl.opengl.Display.create(Display.java:848)
at org.lwjgl.opengl.Display.create(Display.java:797)
at de.starzi.graphics.engine.XProgram.set_orthogonal_projection(XProgram
.java:166)
at de.starzi.graphics.engine.XProgram.set_resolution(XProgram.java:141)
at de.starzi.graphics.engine.XProgram.set_display_size(XProgram.java:236
)
at test.Picture_Test.main(Picture_Test.java:37)
org.lwjgl.LWJGLException: Failed to find ARB pixel format 1 0

at org.lwjgl.opengl.WindowsPeerInfo.nChoosePixelFormat(Native Method)
at org.lwjgl.opengl.WindowsPeerInfo.choosePixelFormat(WindowsPeerInfo.ja
va:52)
at org.lwjgl.opengl.WindowsDisplay.createWindow(WindowsDisplay.java:244)

at org.lwjgl.opengl.Display.createWindow(Display.java:306)
at org.lwjgl.opengl.Display.create(Display.java:848)
at org.lwjgl.opengl.Display.create(Display.java:797)
at de.starzi.graphics.engine.XProgram.set_orthogonal_projection(XProgram
.java:166)
at test.Picture_Test.main(Picture_Test.java:39)
Exception in thread "main" java.lang.RuntimeException: No OpenGL context found i
n the current thread.
at org.lwjgl.opengl.GLContext.getCapabilities(GLContext.java:124)
at org.lwjgl.opengl.GL11.glEnable(GL11.java:1012)
at de.starzi.graphics.engine.XProgram.set_blending(XProgram.java:294)
at test.Picture_Test.main(Picture_Test.java:47)
Windows 7 (x64) - GeForce GTX 560 Ti

Da ich weiß das LWJGL bei mir funktioniert, liegt es wohl an deinem Display Code. Du solltest aufpassen, dass du keine Auflösung oder Einstellung vorraussetzt die nicht unterstützt wird. Erst alle Vorhandenen DisplayModes auslesen, und dann die passende setzen.

leonhart-squall
11.10.2013, 19:12
Fedora 19 (Linux) alles i.O.

Placebo
12.10.2013, 11:42
Alles läuft: Windows 7 64Bit, Radeon HD 6950, OpenGL 4.1