Not logged in, Join Here! or Log In Below:  
News Articles Search    

Submitted by Helge Foerster, posted on April 09, 2001

Image Description, by Helge Foerster

This is the second shot of my 3d engine for Java that i submitted as an IOTD. (The first one was the shortest shown IOTD i ever saw on flipcode...around 9h before it has been replaced...i don't think that it was that ugly :-)) It shows the improved environment bumpmapping and it's effect on image quality by comparing the same scene with and without bumpmapping. Below the two engine shots the used texture, bumpmap and envmap are shown. The engine can be found at



Image of the Day Gallery


Message Center / Reader Comments: ( To Participate in the Discussion, Join the Community )
Archive Notice: This thread is old and no longer active. It is here for reference purposes. This thread was created on an older version of the flipcode forums, before the site closed in 2005. Please keep that in mind as you view this thread, as many of the topics and opinions may be outdated.

April 09, 2001, 07:58 AM

Looks pretty cool. I didnt know you could do such things in Java.:-) Do you use that Java3D or can you use OGL/D3D from Java?



April 09, 2001, 08:02 AM

Once again very cool. I remember your other post, I was impressed then also.

Keep up the good work.



April 09, 2001, 08:07 AM

Looks fantastic. Where did you get that mesh from, did you make it yourself? I liked your site too, though the TITLE field is overkill - leave that to META KEYWORDS tags!


April 09, 2001, 08:28 AM

impressive, and all in software mode... (so treething : he doesn't use any hw accel (see his site))
i tried the demo and i like the thingy above the 'water'
i get 15-25 frames on my duron700
i wonder how it performs on slower machines like a p2 333 ...


April 09, 2001, 08:41 AM

Guys this is all his own work.

It doesn't use and 3d API like Java3D or OGL etc.

Check the web site. This thing runs in your browser. VERY COOL!


April 09, 2001, 08:56 AM

Yeah, sorry I looked at the website just after I posted. Thats pretty amazing considering its in software, in Java.:)


April 09, 2001, 11:09 AM

wow, that's awesome for Java, or any other language for that matter (of your own code, not using a lib, that is). I'm very impressed, congrats on the great job :)



April 09, 2001, 11:10 AM

Very nice. How many polys/second can your engine handle?


April 09, 2001, 11:27 AM

WOW! Holy Java Monkeys, Thats just awsome for an independent 3D engine written in Java nevertheless. wow :)


April 09, 2001, 11:42 AM

Nice stuff. How many triangles per frame, and how many frames per second for this particular scene? And on what system?


April 09, 2001, 12:55 PM

Thanx for the response so far...

Vorteks : That depends. I find it very hard to express polygon thruput in a single number. In this particular scene and on my PIII-910, i get around 7500 pps (there is a counter in the demo below the fps counter in the upper right part of the screen). Switching to wireframe, the number doubles. The engine is fillrate limited in most parts because of software rendering and Java...:-)

Willem : 19 fps without and 17 fps with bumpmapping in this scene on my PIII-910. So i have around 450 triangles/frame in this case.

Myrmecophagavir : The mesh is from a greek site, but i can't find the link anymore. I don't know who made it, but whoever did it: thank you for the good work. I've put a little work in improving the texture and made the bumpmap. I'm not really good in doing meshes myself.
However, the level-mesh is made by me with notepad (most parts). I know that the title of my site looks a little wired, but this 'trick' worked quite well to get a higher ranking in search engines some time ago. I don't know, if this is still the case but i'm used to do it this way.


April 09, 2001, 01:39 PM

WOW, WOW, WOW! This looks nice! And, In software mode? Impressive.
Since I've doing a little programming in Java I must say that reach 19fps in an 900Mhz machine with such a thing is really a great work.
Java is sloooooow. The engine must be very clever designed to works so fine.



April 09, 2001, 02:25 PM

Impressive, 11 FPS on my PIII 500 :P

- Richard #2


April 09, 2001, 02:40 PM

Hi again. Just for data.
I've tested the app version. About 9 or 12 fps on my PII440.
Of course, the default settings. FSAA is excessive for every machine.
This is a great framerate for a Java Application managing four big models, with envmapping, lightning and so. But I don't like the girl.
She is not very attractive.

What about implementing a more friendly navigation system?. Numeric PAD is ofuscating.



April 09, 2001, 02:48 PM

I'm used to this kind of numpad-navigation since the old days, where i played Descent and Descent II this way. I know that it's not an optimal solution, but i'm lazy with the mouse movement. I'll implement it soon (at least i hope that i'll do...). The girl (it's a quake model (i believe) called lady_death) is a result of the lack of low poly models i'm suffering from.


April 09, 2001, 02:53 PM

Are you using java assembly? Or did that project never take off?


April 09, 2001, 03:01 PM

I'm really wondering about the occlusion detection. You said that you are using portals, but that can't work for the models in the scene, doesn't it? So i tried to kill framerate (sorry...:-)) by moving very close to this dinosaur (or whatever)in front of the wall to introduce more overdraw. The funny thing was, that it got faster not slower. Why?


April 09, 2001, 03:40 PM

Again, very nice!

In your applet version i notice that if i switch to wire frame and rotate so that no objects are visible I get frame rates approaching 2500 fps on my 1.5 ghz machine. I don't beleive it is possible to update the frame buffer in java anywhere near this fast, max should be about 120 fps on my machine with that resolution. What are you doing to update the frame buffer so fast and what method are you using to calculate your fps.



April 09, 2001, 03:45 PM

Kris: The applet version uses a 2d bounding box for updating the framebuffer, i.e. i'm only updating the part that has changed. With nothing visible, nothing needs to be updated. Therefor, you get that crazy framerates.


April 09, 2001, 03:54 PM

But anyway, using wireframe gives you very high update-rates. I'm getting around 480 fps with the cube and the teapot visible


April 09, 2001, 07:18 PM

Hey, I recognised this engine immediately. Its still remains the most impressive realtime software 3D engine I have ever seen.

I don't suppose you have any plans on eventually releasing the source code (or portions of)?
Or perhaps you would consider writing an article for flipcode?

Good to see that it's still coming along nicely.


April 09, 2001, 08:32 PM

Very cool!

But I've got the feeling none of the above msg-posters has aver seen a real java demo f.e. by Complex..?

that's 32-channel modplayer *completely* in java, with (among others) 32-bits 3d-scenes with texture-envy-bumpmapped implicit surfaces (ie. 'blobs' :))

biatsch..! and that shit's from like 2 years back, too :)


April 09, 2001, 08:52 PM

Complex that is.


April 10, 2001, 12:19 AM

That's sweet. I especially like the goraud shading in it. Anyway, I was wondering how you are doing the filtering on your polygons. It does not look like normal bilinear or trilinear filtering. Is it the same idea as Unreal uses for its software engine? Anyway, like I said, it looks great.

Mike Weber


April 10, 2001, 01:07 AM

Komplex (in the elder times Complex) uses OpenGL for their Java demos.
So there is a slightly difference with a software renderer.


April 10, 2001, 01:27 AM

Or perhaps not. So I'm sorry for the previous precipited and stupid question. What the hell make me think that GoDog, Forward, Mute and CyboMan, were Java/OpenGl demos?.

But Complex takes us accostumed to this. At its own time, Dope was really an overflowing experience.

Frans Bouma

April 10, 2001, 05:20 AM

No. Every demo by Saviour, running in a browser is using pure software rendering (like Godog etc). Dozen and later demos by JMagic, running standalone, thus not as an applet, are using OpenGL via the glut dll.


April 10, 2001, 07:52 AM

Ahh yes, komplex java demos.. truely amazing stuff.. Talking of demos, I think more people here should look into the demoscene.. You might learn some good things.. At any rate, look at them anyway because you all seem behind the times :-)

Long live the scene....

Mercury Terminal

April 10, 2001, 12:18 PM

That is so kewl...

I'm new here and I'm already falling in love with this place. I've been doing alot of dbase and web programming but decided to look into games and graphics and man this place rocks.

Helge, your engine is awesome. I couldn't think you could do that in java and I've been programming in java for about 3 years. Damn, that's cool.

Now I'm going to discover java some more.


April 10, 2001, 02:03 PM

Nice one, and I hope that it's improved

This thread contains 30 messages.
Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.