ESCAPE ported from gl4java to jogl

Hi,

ESCAPE is a first person shooter in beta state. I developed it using gl4java. Now I ported it to jogl. I want to share my experience with the community. It took me about 4 hours to exchange all gl4java statements with jogl statements. I used the class ConvertFromGL4Java, which is very helpful and has only some small bugs.

The most effort I put in the replacement of PNGTextureLoader, which is available at gl4java but not in jogl. It took me about 4 days to find a proper replacement. First I tried to use the PNGLoader presented by gregorypierce in its Texture Demo in jogl. But not all png formats were supported, after trying to improve the texture loader I encountered a bug in ImageIO and I decided to port the PNGTextureLoader of gl4java to jogl. After the first port I did some mayor changes in the class hierachy and removed gl and glu from the PNGTextureLoader constructor. Now after about 5 days work the port is completed.

For more information about ESCAPE surf to http://javaisdoomed.sourceforge.net.

I hope this information was useful for you.

ciao torsten

Could you be more specific about the PNG Loader bug?

nice job with your project, i commend you on your excellent work. i have just one question, i notice that you comment in some screenshots that the c++ version runs at about 40% faster, now that you have ported to jogl, have these numbers changed?

one more thing… why do you only have win32 executables for download… im on linux, is there anyway i can just get the the actual source and run it? what does the executable actually do?

EDIT: well, guess i can go through the CVS and download everything, but you should just have a zip/tar for download…

Well, same as usual. I get a great big maroon screen.
Just as I have for most jogl demos. I don’t get it. I can download some demos from nehe (executables) and they run fine.
Savage 3d ddr 8mb ram.

???

Hi,

[quote]Could you be more specific about the PNG Loader bug?
[/quote]
I will try to give more information about the PNG Loader bug at the weekend.

[quote]nice job with your project, i commend you on your excellent work. i have just one question, i notice that you comment in some screenshots that the c++ version runs at about 40% faster, now that you have ported to jogl, have these numbers changed?
[/quote]
I haven’t done any performance testing with ESCAPE using jogl yet. Some time ago I did some performance testing with gl4java and different techniques. The best results I got with DirectBuffers in combination with Vertex Arrays, which came up to 90% or higher as the C++ applications. As jogl supports DirectBuffers very well, I expect the same results.

[quote]im on linux, is there anyway i can just get the the actual source and run it? what does the executable actually do?
[/quote]
Sorry, for a missing tar file. But my problem is I don’t own a linux machine and thus I can’t test things on it. I don’t want to put files on sourceforge, which I haven’t tested. The only way for linux users is to checkout the source from CVS.
The executable installs jre 1.4.2 including jogl and the classes from ESCAPE. If you want to try running ESCAPE on linux I will support you as best as I can.

ciao torsten

hello… ive been looking through your project, and i was wondering if you could take some time and explain to me the fundamentals of your engine. ive been looking at two classes in particular JDRenderer and JDComiler… im confused as to why the Compiler has not only code for compiling BSPs, but it seems it also handles keyboard input and renders the whole scene? anyway, this is a great achievement, and, although i have done a good amount of 3d programming, i really have never united it under the framework of an “engine” as you have done. i would greatly appreciate it if you could take me through the fundamental structure of your engine, from Models, to BSP compiling, to rendering, to physics/collision, to cameras. thanks a lot

—eric

Hi Eric,

ESCAPE has grown like many other applications. At first it was just a BSP compiler and the viewer was included in this compiler, that’s the reason why JDCompiler also has a viewer. Later I added JDRenderer for a better application architecture. If you want know more, just send me a private mail, thus we can communicate directly.

ciao torsten