3DzzD - tests of realtime sea rendering (software Java 1.1)

I have worked too late… but I am already happy with first results of this test.

A new features is beeing added to 3DzzD to enable morphable object (for now meshes have to be rebuild for each vertices/normal/smoothgroups update). the sea rendering is a test of this new feature (but still very unoptimised and still a lot of sqrt/alloc that should be removed in futur version)


http://www.java-gaming.org/index.php?action=dlattach;topic=20714.0;attach=1428

online demo here :

http://demo.dzzd.net/Sea/

Looks amazing!

I get some errors when booting it up but I doubt that the pictures are necessary:
…Loading error (http://demo.dzzd.net/Sea/./UP.JPG)
…Loading error (http://demo.dzzd.net/Sea/./LEFT.JPG)
Loading error (http://demo.dzzd.net/Sea/./RIGHT.JPG)
Loading error (http://demo.dzzd.net/Sea/./BACK.JPG)

yes, exact those are not viewable texture of the skybox (only the FRONT.JPG is) and I did not upload them to the server.

:o

Yes, that looks really amazing for software rendering in an applet!!!

Ran really smooth here :slight_smile:

Very nice here. Impressed :slight_smile:

Nice.

Any reason why you’re aiming for Java 1.1?

Very good. I was wondering the same question too. May as well at least aim for 1.4.2?

Cas :slight_smile:

yes, severals, too many :slight_smile: :

the main one is compatibility over desktop computer (I estimate that about 15% JVM on desktop are still <= 1.3).

cant you see how much demo here and here on JGO does not work ?? most reply on first demo post are always “I got Exception …”.

1.1 run on any JVM and than you dont have to care about compatibility, also if you use more recent functionalities (rather than remade it when possible as usually they never match exactly your need) you always fall in bugs issue wich is boring as other JRE version does not really provide anything usefull (ok some functionalities maybe usefull but for web game 1.1 is enought), also saying that 1.1, 1.2, 1.3 JRE are dead is wrong…

finally 1.1 compatibility is not to target MS JVM but rather to :

  • increase a lot the compatibility over all JRE including 1.5/1.6
  • enable to reuse the code under other JRE that are not provided by Sun or that target other kind of device as : mobile J2ME or any others… (for example3DzzD scenegraph just run well everywhere there is a JVM (even without a full JRE), you can reuse it EVERYWHERE there is Java, without modifying anything even maybe in a fridge :slight_smile:

IMHO, Sun have take a very bad way by increasing the JRE size rather than providing stable & external libraries when possible (all kind of stuff could have been provided external to the JRE : hashmap/hashtable/and hundreds more…). this end with the fact that Java is now “program once for desktop and Sun JVM and run on Destkop and Sun JVM” + too many bugs…

maybe easier to understand my motivation with a simple question

“why should I use Java 1.4 / 1.5 / 1.6 or any other more recent ?”

hum… to get more bugs ? no…

maybe… to use opengl ?.. with a ten minutes start, browser crash and more to only display simple graphics… when I can already start it from a 1.1 Applet at runtime when it is available on client platform using an External Module

no really there is no reason I should use a more recent Java… and if I was targetting cdrom quality game I will use C++/directX really…, IMHO, something on the web must be lite (few KB) & smooth to start, so even If you manage to make a very nice 3d engine if it take severals minuste to start due to 3d objects and texture size it will not be really end user friendly…

Very true points.

Look at minecraft however.

yes, Minecraft is excellent and requiere opengl due to the complexity/number of boxes, so the use of opengl is a good (& necessary) choice here… but IMO, always targetting opengl is not (especially for simple 2d) (NB: just a little bad point for Minecraft is that I still have to kill the browser process when exiting the game (I guess it come from opengl but dont know), but anyway the game idea and the game itself are excellent)

[quote]the main one is compatibility over desktop computer (I estimate that about 15% JVM on desktop are still <= 1.3).
[/quote]
Proof?
Because I don’t see how that’s possible…
Looking here: http://en.wikipedia.org/wiki/Usage_share_of_operating_systems

It shows that windows XP,Vista have a 88.72% market share, with Mac OS(10.5/10.4) with 5% (which have Java1.4+).
Doesn’t have any info about what linux versions so can’t comment there but can’t really say a large percent be using Java 1.3 or less.

Edit:
I guess I didn’t know that even the latest version of Mircosoft Java in XP is based of 1.1. But service pack 1a+ makes it no longer work…

yes but XP does not mean Java >1.4 ? here is a statistic website of site unrelated to Java http://riastats.com/# , as you can see :
1.6 (all subversion mixed) => 50%
1.5 => 15%
1.4 => 6%
1.8 (inded it is not 1.8 but rather Mac) => 3%
and finally not detected = > 26 % as there is not reliable script to detect Java <=1.3, I just supposed that those 26% hide no java aswell as a lot of 1.1, 1.2, 1.3 and others specific JVM wich are all probably 1.1 compatible

MS 1.1 JVM still work fine on my XP PRO SP3.

MS 1.1 was default on XP untill 2005 (means all have it), so probably severals still have it

==> but once again the target of using Java 1.1 IS NOT MS 1.1 but rather compatibility over different Java version

You exaggerate. If you want to use OpenGL, rather use Java Webstart (or another installer, IzPack for example) than applets. I’m impressed by what you achieve with software rendering but it is slower than hardware rendering and the difference of reliability between these kinds of rendering is small except for applets. You have no need to use hardware rendering for “simple” graphics.

Java has evolved, new versions do not only bring new bugs, they bring new features and some bug fixes too, it is not black or white.

Your demo runs fine here, there are sometimes some short slowdowns, it is quite realistic, it would be better with some anti-aliasing.

[quote]You exaggerate. If you want to use OpenGL, rather use Java Webstart
[/quote]
I dont like webstart as it is exacly the same as an exe for window and dont think most enduser really like the way it start (I like how flash game start in browser as Applet), also I use opengl in Applet since several years (here is one of the first demo back in 2005/2006 http://demo.dzzd.net/QUAKE/ it start software but you can switch to JOGL(only window hardware cause native libraries are missing for other platform)) without much trouble, but I use my own extension wich result in better compatibilty and avoid new bugs to appear when jogl is updated

[quote]Your demo runs fine here, there are sometimes some short slowdowns, it is quite realistic, it would be better with some anti-aliasing.
[/quote]
as said before this is a very first try (started at midnight and finished at 5:00 AM last night…) and on local TV tonight :slight_smile: (pretty fun)

cool I got the video :slight_smile: (french one)


http://www.java-gaming.org/index.php?action=dlattach;topic=20714.0;attach=1430

Hehe, nice. How local is that channel and what are they saying?

quite realistic, even got a little bit notious.

I quickly noticed a pattern, I realize the see has a pattern but the waves were identicle.

This isnt really important cause it has nothing to do with 3DzzD, but rather the user.

SO it is quick good! coding alte night always seems productive.

this is a national one, but this is news of local area, but nice anyway

not really there are a lot of way to make it look a lot better, one is to perform pixel manipulation like a pixel particle system on the texture to animate/morph the water surface, another one that will make it look very realistic would be to use two different speculars function rather than only one, this will simulate very well sub-surface scattering, I can do that pretty easily with 3DzzD but it requiere API modification that I dont want right now.

with those two change it will make it look really like real water

dont really know why but yes it is

That’s really cool. I can’t wait to see the results of your next test. Are you going to have water splashing against rocks? A boat on the waves? :slight_smile: