Please test this java program

Accname

2D-Graphics enthusiast
Reaction score
1,462
Hi guys.

I would really appreciate if you could download and test this java program.
I am only interested on what kinds of operating systems it runs and what kind of hardware works with it.

The program is about 1.7mb in size. The newest java version is required to run it.

Here is the download link:
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

Thanks for the support.


Edit: By the way, it needs OpenGL Version 3.0, so it might not work on older laptops.
 

Zakyath

Member
Reaction score
238
it runs, spins and goes back and forth on acer aspire 5742G windows 7 home premium 64 bit
 

monoVertex

I'm back!
Reaction score
460
All of the commands in the README work for me. My specs:

  • Windows 8 Pro x64
  • Java 1.7.0_25
  • AMD Radeon HD 7800
  • Direct X11
If you need any other information, please tell me (I have a desktop).
Also, I ran it in Cygwin, if that makes any difference.

My only issue with the program is that the images, especially second one, are a bit pixelated. You should add some anti-aliasing in the future :).

I can also test this for you on an Acer Aspire One D270 with Linux Mint, if you want.
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
The first picture uses linear filtering and mipmaping. The second picture doesnt. That was done deliberately to show the difference.
Anti-Aliasing wouldnt do much. It only smoothes the edges of vertices being drawn, it doesnt do anything with the texture. The texture itself is so pixelated.

But thank you very much for the tests. It would be nice if somebody with a linux or mac OS could test it too.
 

monoVertex

I'm back!
Reaction score
460
The first picture uses linear filtering and mipmaping. The second picture doesnt. That was done deliberately to show the difference.
Anti-Aliasing wouldnt do much. It only smoothes the edges of vertices being drawn, it doesnt do anything with the texture. The texture itself is so pixelated.

But thank you very much for the tests. It would be nice if somebody with a linux or mac OS could test it too.

Ah, yes, you're right.

I'm testing on Linux now, I'll also test on an OSX virtual machine.
 

PurgeandFire

zxcvmkgdfg
Reaction score
509
Everything worked for me except "q" (shader), but I think that is just because I'm running 1.6 JRE (chrome on mac can't run 1.7). Maybe I'll upgrade and let you know of the results, and then downgrade afterward. All the other things in the readme worked.

Specs:
  • OS X 10.8.4 (64-bit)
  • java version "1.6.0_51"
  • Java(TM) SE Runtime Environment (build 1.6.0_51-b11-457-11M4509)
  • Java HotSpot(TM) 64-Bit Server VM (build 20.51-b01-457, mixed mode
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
Interesting. What exactly happened when you pressed the 'Q'-key? Did the program crash? Or did simply nothing happen?
And what kind of graphics card do you have?
 

monoVertex

I'm back!
Reaction score
460
On my OSX Virtual Machine, the following happens:

Java 1.6.0_51
Code:
Cosmins-Mac:picture cosmin$ java -jar Exe.jar
Exception in thread "main" java.lang.UnsupportedClassVersionError: test/Picture_Test : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)


Java 1.7:
Code:
Cosmins-Mac:picture cosmin$ java7 -jar Exe.jar
org.lwjgl.LWJGLException: Could not create pixel format
at org.lwjgl.opengl.MacOSXPeerInfo.nChoosePixelFormat(Native Method)
at org.lwjgl.opengl.MacOSXPeerInfo.choosePixelFormat(MacOSXPeerInfo.java:58)
at org.lwjgl.opengl.MacOSXPeerInfo.<init>(MacOSXPeerInfo.java:53)
at org.lwjgl.opengl.MacOSXPbufferPeerInfo.<init>(MacOSXPbufferPeerInfo.java:46)
at org.lwjgl.opengl.MacOSXDisplay.createPbuffer(MacOSXDisplay.java:526)
at org.lwjgl.opengl.Pbuffer.createPbuffer(Pbuffer.java:234)
at org.lwjgl.opengl.Pbuffer.<init>(Pbuffer.java:219)
at org.lwjgl.opengl.Pbuffer.<init>(Pbuffer.java:190)
at org.lwjgl.opengl.Pbuffer.<init>(Pbuffer.java:166)
at de.starzi.graphics.engine.XProgram.set_pixel_format(XProgram.java:110)
at test.Picture_Test.main(Picture_Test.java:33)
Exception in thread "main" java.lang.RuntimeException: Failed to set display size:
at de.starzi.graphics.engine.XProgram.set_display_size(XProgram.java:220)
at test.Picture_Test.main(Picture_Test.java:37)
Suppressed: org.lwjgl.LWJGLException: Could not create pixel format
at org.lwjgl.opengl.MacOSXPeerInfo.nChoosePixelFormat(Native Method)
at org.lwjgl.opengl.MacOSXPeerInfo.choosePixelFormat(MacOSXPeerInfo.java:58)
at org.lwjgl.opengl.MacOSXPeerInfo.<init>(MacOSXPeerInfo.java:53)
at org.lwjgl.opengl.MacOSXCanvasPeerInfo.<init>(MacOSXCanvasPeerInfo.java:57)
at org.lwjgl.opengl.MacOSXDisplayPeerInfo.<init>(MacOSXDisplayPeerInfo.java:48)
at org.lwjgl.opengl.MacOSXDisplay.createPeerInfo(MacOSXDisplay.java:304)
at org.lwjgl.opengl.DrawableGL.setPixelFormat(DrawableGL.java:61)
at org.lwjgl.opengl.Display.create(Display.java:846)
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:212)
... 1 more

However, I would not care much for these, as it's a virtual machine and probably the virtual hardware gets in the way of the graphic programming. AFAIK, VMware doesn't emulate a powerful graphic card and probably there's some issues with that. I use it for web development tests, so the graphics card doesn't really matter to me...

Now, for Linux Mint.

Specs:
  • Acer Aspire One D270
  • GPU: Intel GMA 3650 (Intel integrated GPU)
  • Linux solaris 3.8.0-27-generic #40-Ubuntu SMP Tue Jul 9 00:19:35 UTC 2013 i686 i686 i686 GNU/Linux
  • Java 1.7.0_25

Everything works except the 'q' command. For that, I get this exception:
Code:
cosmin@solaris ~/Downloads/picture $ java -jar Exe.jar
de.starzi.graphics.shader.Shader$Shader_Factory$Compile_Error: Error when compiling shader FRAGMENT: 
0:1(193): error: could not implicitly convert operands to arithmetic operator

Exception in thread "main" java.lang.NoClassDefFoundError: org/lwjgl/util/glu/GLU
	at de.starzi.graphics.engine.XProgram.get_opengl_error(XProgram.java:718)
	at de.starzi.graphics.opengl.GLBuffer$Buffer_Type.unbind_buffer(GLBuffer.java:98)
	at de.starzi.graphics.opengl.GLFloat_Buffer.unbind(GLFloat_Buffer.java:184)
	at de.starzi.graphics.opengl.GLBuffer$Buffer_Type.bind_buffer(GLBuffer.java:115)
	at de.starzi.graphics.opengl.GLFloat_Buffer.bind(GLFloat_Buffer.java:177)
	at de.starzi.graphics.opengl.GLFloat_Buffer.<init>(GLFloat_Buffer.java:59)
	at de.starzi.graphics.opengl.GLFloat_Buffer.<init>(GLFloat_Buffer.java:31)
	at de.starzi.graphics.engine.Quad_Batch.<init>(Quad_Batch.java:39)
	at de.starzi.graphics.engine.Spriteset.get_batch(Spriteset.java:79)
	at de.starzi.graphics.engine.Picture.set_spriteset(Picture.java:283)
	at de.starzi.graphics.engine.Picture.set_shader(Picture.java:318)
	at test.Picture_Test$SomeScene.update(Picture_Test.java:111)
	at de.starzi.graphics.engine.XProgram.start(XProgram.java:547)
	at test.Picture_Test.main(Picture_Test.java:53)
Caused by: java.lang.ClassNotFoundException: org.lwjgl.util.glu.GLU
	at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 14 more

Note: 'solaris' is the name of my computer, it has nothing to do with the Solaris OS. That's a coincidence that I have noticed just now :D.
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
Okay, thank you very much.

The first one comes from an insufficient Java version. The "UnsupportedClassVersionError" is pretty straight forward.
The next one has something to do with hardware limitations: "Could not create pixel format".
Now, the pixel format I choose for the application is 32bit and I have heard that apple usually uses 16bit instead. So maybe it might work if I switch to 16bit with the application. Would you try again if I upload a different version?

The last one is a bit more tricky. The custom shaders did fail to compile. The source for the error, however is not so easy to find. But I have a guess.
Could you try another test application which I am going to upload?

The new MacOS version now uses a 16bit pixel format.
The new Linux version now has a slightly changed shader.

Thank you, again.
 

Attachments

  • Picture Test (MacOS 16bit).zip
    1.2 MB · Views: 308
  • Picture Test (Linux2).zip
    1.2 MB · Views: 300

monoVertex

I'm back!
Reaction score
460
For Mac, I got what I think is the same error:

Code:
Cosmins-Mac:picture cosmin$ java7 -jar Exe.jar
org.lwjgl.LWJGLException: Could not create pixel format
at org.lwjgl.opengl.MacOSXPeerInfo.nChoosePixelFormat(Native Method)
at org.lwjgl.opengl.MacOSXPeerInfo.choosePixelFormat(MacOSXPeerInfo.java:58)
at org.lwjgl.opengl.MacOSXPeerInfo.<init>(MacOSXPeerInfo.java:53)
at org.lwjgl.opengl.MacOSXPbufferPeerInfo.<init>(MacOSXPbufferPeerInfo.java:46)
at org.lwjgl.opengl.MacOSXDisplay.createPbuffer(MacOSXDisplay.java:526)
at org.lwjgl.opengl.Pbuffer.createPbuffer(Pbuffer.java:234)
at org.lwjgl.opengl.Pbuffer.<init>(Pbuffer.java:219)
at org.lwjgl.opengl.Pbuffer.<init>(Pbuffer.java:190)
at org.lwjgl.opengl.Pbuffer.<init>(Pbuffer.java:166)
at de.starzi.graphics.engine.XProgram.set_pixel_format(XProgram.java:110)
at test.Picture_Test.main(Picture_Test.java:32)
Exception in thread "main" java.lang.RuntimeException: Failed to set display size:
at de.starzi.graphics.engine.XProgram.set_display_size(XProgram.java:220)
at test.Picture_Test.main(Picture_Test.java:36)
Suppressed: org.lwjgl.LWJGLException: Could not create pixel format
at org.lwjgl.opengl.MacOSXPeerInfo.nChoosePixelFormat(Native Method)
at org.lwjgl.opengl.MacOSXPeerInfo.choosePixelFormat(MacOSXPeerInfo.java:58)
at org.lwjgl.opengl.MacOSXPeerInfo.<init>(MacOSXPeerInfo.java:53)
at org.lwjgl.opengl.MacOSXCanvasPeerInfo.<init>(MacOSXCanvasPeerInfo.java:57)
at org.lwjgl.opengl.MacOSXDisplayPeerInfo.<init>(MacOSXDisplayPeerInfo.java:48)
at org.lwjgl.opengl.MacOSXDisplay.createPeerInfo(MacOSXDisplay.java:304)
at org.lwjgl.opengl.DrawableGL.setPixelFormat(DrawableGL.java:61)
at org.lwjgl.opengl.Display.create(Display.java:846)
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:212)
... 1 more

Linux works correctly for all the commands now, good job! :)
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
Well then, it seems mac doesnt quite want to work with LWJGL. I really dont know what to try next. I will, however see if somebody in a support forum can help me out with this.

The linux version didnt really change. I just changed a "3" to "3.0" in the shader to make it a floating point number instead of an integer. I am quite surprised this was such a big deal for the compiler.
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
Yeah. It depends on the hardware too. OpenGL is more of a guideline. Different graphics cards manufacturers do different things every now and then.

Thank you for your help though.
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
Hard to say. I dont have a machine I could test it on, this makes it much more difficult.
Furthermore the error message doesnt really help me at all. I can only hope that somebody in the support forum can tell me something valuable about it.

But I will sure see what I can do. After all, that was the reason why I am working with java and OpenGL; its supposed to be cross platform.
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
Well, after googling about it I got the following responses:
1). Update graphics card drivers. Might do the trick.
2). Update java.
3). Update LWJGL jars.

So here is a new Version with the latest version of LWJGL (to be honest, I dont know what version I used before. I guess I already used the latest or the second latest)

It would be nice if you could try to update the graphics card drivers too.

By the way, this error happens frequently with people who want to try to play minecraft on a mac. Minecraft also uses LWJGL. So if you have minecraft and you can play it on your mac then the error is probably my fault.
 

Attachments

  • Picture Test (MacOS2).zip
    1.4 MB · Views: 291

monoVertex

I'm back!
Reaction score
460
Cross-platform is something really relative. Python is also cross-platform for example, but I often find things that don't work on one platform (Windows, mostly) or work in a different way.

I will test again, but not right now as I'm stumbled in an issue of my own, trying to set up an nginx server correctly.

EDIT: Still getting the error, after a Software Update. Even if we talked in the shoutbox, posting this for future reference.
 

Slapshot136

Divide et impera
Reaction score
471
It doesn't run for me at all (I don't see it do anything..)

2013-10-07_2204.png
 

tom_mai78101

The Helper Connoisseur / Ex-MineCraft Host
Staff member
Reaction score
1,691
It doesn't run for me at all (I don't see it do anything..)
You need to do this:

Ab10rBg.png


Important specs from my computer:

Windows 7 x64
Nvidia Geforce GT640
Java 1.7_0.21-b11

----------------

EDIT:
I just realized my IE10 64-bit has recently been combined with the 32-bit version. Wut?? Now I have to enable it. Uninstalling Java 32bit.
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
@Slapshot: Please try to run the application through the command line and see what kind of error message you get. I will see what I can do with the display classes.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top