Show Posts
|
|
Pages: [1]
|
|
4
|
Java Game APIs & Engines / Java Sound & OpenAL / Re: JOAL updates
|
on: 2006-12-11 12:43:54
|
Hi Ken, We'll do this as soon as possible -- hopefully within a couple of days. We wanted to do some more testing first. How quickly do you need it? Do you need a JOGL update as well?
I don't need it quickly. For jogl it is possible to test nightly builds very easy. Because of two jogl.jnlp. 1
| <extension name="jogl" href="http://download.java.net/media/jogl/builds/archive/jsr-231-webstart-current/jogl.jnlp" /> |
1
| <extension name="jogl" href="http://download.java.net/media/jogl/builds/archive/jsr-231-1.0.0/jogl.jnlp" /> |
It would be very helpful to have the same for joal. bye Carsten
|
|
|
|
|
7
|
Java Game APIs & Engines / JOGL Development / Re: JOGL JSR implementation performance with JNI
|
on: 2005-11-24 02:20:34
|
Hi Ken, nice to hear that you use Jake2 as a benchmark. The performance of the current JOGL and JNI in general are just fine in my opinion. We built a prototype of JOGL earlier this year using a radically different and more efficient native method calling interface than JNI and weren't able to see any significant speedups on Jake2 on modern processors so it was hard to justify pushing the prototype further. Have you tested your prototype with the renderer named "jogl"? This one produces a lot of simple OpenGL calls. (ca. 25000 per frame) If you want to stress the JNI layer, you can run the demos with 32 player models. Type to console: timedemo 1 cl_testentities 1 map q2demo1.dm2 ... The "fastjogl" renderer uses FloatBuffers and vertex arrays. (ca. 5000 OpenGL calls per frame) Thats why its possible that you can't see any significant speedups. But this impl uses a lot of FloatBuffer puts and gets. (for FloatBuffer stress tests you can use this renderer (or lwjgl) and the same commands as above) Are there any optimizations for FloatBuffers in jdk1.6.0? (like the MappedByteBuffer-cast-trick for direct ByteBuffers) bye Carsten
|
|
|
|
|
8
|
Games Center / Archived Projects / Jake2 0.9.4 released
|
on: 2005-05-27 16:43:27
|
I'm happy to say, the new version is done. see http://bytonic.deThank you for your time. The feedback, help and comments were very useful and encouraged us to keep on programing and debugging. Now it's time to drink a cold beer or two ... ;-) and have a barbecue with my friends. bye Carsten
|
|
|
|
|
10
|
Java Game APIs & Engines / JOGL Development / Re: a fast screenshot function
|
on: 2005-05-08 11:52:37
|
Why not use ImageIO instead? That way you can save to all supported formats from the bytebuffer. Or perhaps even print it too  The ImageIO class is ok, but much slower. I've used this function to make screenshots on the fly in Jake2. I've tested ImageIO too and the Quake2 game loop hangs a little bit on saving an image. The trick in this example is to bypass the CPU for image writing. This function copies the graphics memory (AGP) to a memory mapped file. I think only the DMA contoller has a lot to do :-) An other fact is, that you don't need extra memory allocation like int[]. There is no extra runtime (dynamic) garbage. And the MappedByteBuffer will be collected by GC after closing the file channel. try it and you will see what I mean. bye Carsten
|
|
|
|
|
11
|
Java Game APIs & Engines / JOGL Development / a fast screenshot function
|
on: 2005-05-06 15:13:33
|
Hello together, here is an example to make screenshots from OpenGL context very quickly. The file is written in uncompressed TARGA (*.tga) format. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| public static final int TARGA_HEADER_SIZE = 18;
void screenshot(GL gl, int width, int, height, File file) { try { RandomAccessFile out = new RandomAccessFile(file, "rw"); FileChannel ch = out.getChannel(); int fileLength = TARGA_HEADER_SIZE + width * height * 3; out.setLength(fileLength); MappedByteBuffer image = ch.map(FileChannel.MapMode.READ_WRITE, 0, fileLength);
image.put(0, (byte) 0).put(1, (byte) 0); image.put(2, (byte) 2); image.put(12, (byte) (width & 0xFF)); image.put(13, (byte) (width >> 8)); image.put(14, (byte) (height & 0xFF)); height image.put(15, (byte) (height >> 8)); height image.put(16, (byte) 24); image.position(TARGA_HEADER_SIZE); ByteBuffer bgr = image.slice(); gl.glReadPixels(0, 0, width, height, GL.GL_BGR, GL.GL_UNSIGNED_BYTE, bgr);
ch.close(); } catch (Exception e) { e.printStackTrace(); } } |
I think it is useful. bye Carsten
|
|
|
|
|
12
|
Games Center / Archived Projects / Re: Jake2 Webstart version (Java Quake2)
|
on: 2005-04-29 00:44:10
|
I'm getting ~ 260 in lwjgl ~ 220 in jogl 1.1 ~ 215 in jogl 1.1 + ati fix <-- using nVidia, but tried for fun  I was a bit puzzled by the lower speed - so I tried LWJGL in 1600x1200 and i got ~ 250 *ponder* With a nVidia 6800 I'm getting ~ 264 lwjgl ~ 240 jogl11 I can say that the lwjgl binding for jake2 is about 10% faster than the jogl one. (with the older Geforce 4 MX too) BTW: The current nVidia cards can handle higher resolutions nearly without a performance loss, but with OpenGL1.1 code (Quake2) they aren't faster than the older 3D card generation. Thanks for testing bye Carsten
|
|
|
|
|
14
|
Games Center / Archived Projects / Re: Jake2 Webstart version (Java Quake2)
|
on: 2005-04-28 22:18:26
|
Hi jake2 fans :-) I have updated the webstart version on 28.04.2005 http://www.bytonic.de/html/jake2_webstart.html what is new: 1. make screenshots (TARGA images) on the fly with <F12> the file location will be printed on the screen. 2. I've found the bug in lwjgl sound implementation. It was crashing some times on Win32. Now it works fine. 3. bugfixes in multiplayer code parts (client/server) Jake2 is ready to compare the jogl11 and the lwjgl bindings. Go to console with '~' timedemo 1 map q2demo1.dm2 and try it again. The Java VM needs some runs to load all classes and optimize the byte code (JIT/HotSpot). benchmark parameters to compare it with our values: - 800x600 resolution (to reduce the influence of slower gfx hardware)
- sound off
http://www.bytonic.de/html/benchmarks.htmlOn my computer the game reaches 275 fps - Athlon XP 2400+
- Nvidia Geforce 4 MX
- Win2k
- lwjgl, fullscreen
- q2demo1.dm2 or demo1.dm2
I am interested in benchmark values on several platforms. If you use the jogl11 version look at the VIDEO menu that the fastjogl renderer is active. BTW: If you want a fps counter during the normal demo loop, type fps 1 and turn it off with fps 0 Thanks and have fun Carsten P.S.: It becomes more and more a game than a techdemo ;-)
|
|
|
|
|
15
|
Java Game APIs & Engines / OpenGL Development / Re: strange crash
|
on: 2005-04-27 13:41:19
|
Hi Brian, I have found the bug. It was a "mismanaged" buffer problem ;-) The error (access violation) occurs on loading a buffer with new sample data every time. 1
| AL10.alBufferData(bufferId, format, data, freq); |
I think the problem was that this data upload was done on playing the buffers old content. I had forgotten to check that the buffer is filled only once. BTW: The joal implementation for jake2 had the same upload problem, but this binding could handle the asynchronous buffer modification. bye Carsten
|
|
|
|
|
16
|
Java Game APIs & Engines / OpenGL Development / Re: strange crash
|
on: 2005-04-03 12:14:07
|
Hi Brian It does sound a bit weird. What's in the error log? The best thing you can do, is to track down what happens around the stacktrace (if any), or at least at the end of level code. It sounds like a mismanaged buffer, but this usually doesn't crash OAL code, but rather OGL.
Yes, it is weird. There is no error log nor a stacktrace. You could try to contact me on mail, and we can try and work together on this, I would however prefer not to get too intimately involved in the jake2 source code.
Thank you very much for your suggestion. I will contact you soon. During the next weeks I will make some tests to track the problem down. bye Carsten
|
|
|
|
|
17
|
Java Game APIs & Engines / OpenGL Development / Re: strange crash
|
on: 2005-03-27 16:02:08
|
Hello together, I have the same OpenAL problem with Jake2. You can run the game via webstart. http://www.bytonic.de/html/jake2_webstart.html(version 0.95 of lwjgl) It works fine with sound off. The OpenAL implementation crashes the JVM on Win2k and WinXP. It happens after 1-2 Quake2 demo runs. On Linux there is no problem. I don't know why because the joal implementation is nearly the same source code and works without problems. Thats why I think it isn't a driver problem. I am not sure but it is possible that something goes wrong in the lwjgl native code (OpenAL Win32). Any ideas? Or can someone check it out, please? bye Carsten
|
|
|
|
|
18
|
Java Game APIs & Engines / JOGL Development / Re: Crashes when exiting on Linux
|
on: 2005-01-29 09:43:24
|
Hi Ken, this doesn't help. Have you tried calling setRenderingThread(null) before frame.dispose()?
I use the following workaround in Jake2. 1 2 3 4 5 6 7 8 9
| if (frame != null) { if (canvas != null) { canvas.setVisible(false); frame.remove(canvas); canvas = null; } frame.dispose(); } |
The frame.dispose() should handle this correctly but it doesn't. I hope this will help a little bit. bye Carsten
|
|
|
|
|
19
|
Java Game APIs & Engines / JOGL Development / Re: SEGV on Fedora Core 3
|
on: 2004-11-26 13:43:22
|
I have the same problem with Jake2 on debian and redhat. (nvidia card and driver versions 5336, 6111, 6629) The jogl 1.0 release works but all 1.1b0* not. Here is a quick workaround. Works with Jake2 and jogl1.1b0* 1 2 3 4 5 6 7
| if (canvas != null) { window.remove(canvas); canvas = null; } window.dispose(); |
I think jogl and AWT should handle this correctly without this hack. I hope the jogl-team has an idea whats going wrong. bye Carsten http://www.bytonic.de
|
|
|
|
|
20
|
Games Center / Archived Projects / Re: Jake2 Webstart version (Java Quake2)
|
on: 2004-11-04 18:58:00
|
Thanks for the test and the screen shots. We have never tested Jake2 on Win98. It is possible that there are problems with timing too. (System.currentTimeMillis() has only a resolution of 60ms) I will check this next week on the "good old" Win98. BTW quick and dirty bugfix: change your OS ;-) bye Carsten
|
|
|
|
|
23
|
Games Center / Archived Projects / Re: Jake2 a player for Quake2 pak files
|
on: 2004-05-06 17:27:25
|
|
Hi Abuse,
It's no virus.
do you know a way to get an jogl fullscreen under linux?
btw we have problems with joal and it's native libs. we want a cool factory method to initialize the best AL driver and not the null device on win32 :-) We like Java as an platform independent language and no special code path hacks for various OSs.
|
|
|
|
|
24
|
Games Center / Archived Projects / Jake2 a player for Quake2 pak files
|
on: 2004-05-06 16:12:50
|
Jake2 is out. It's a Java port of the Quake2 engine. The project is under construction but you can use demo and single player mode. We use jogl for rendering and a joal sound driver comes soon. All you need is the current Jake2 version from http://www.bytonic.deand the media files for Quake2. - unpack jake2-version.tar.gz or jake2-version.zip - copy the baseq2 directory from your full version of Quake2 or from the demo version to the Jake2 base directory - run the game with Jake2.sh or Jake2.bat have fun :-) bye Carsten
|
|
|
|
|
|
Add your game by posting it in the WIP section,
or publish it in Showcase.
The first screenshot will be displayed as a thumbnail.
|
|