Just some thoughts:
In trying to optimize my latest project I noticed that type conversions are still painfully slow (at least in my 1.1 applets) so I try to avoid them whenever possible or save them to the end. I’ve actually started using some fixed-point math in the critical sections of code (inner loops) and I have got some noticeable improvements that way. Mainly because I’m trying to convert floating-point to integer for pixel plotting/array-addressing. I find avoiding that (int) call at the expense of a few integer multiplications and shifts still helps. I wonder if that will carry over cross-platform though. hmm. Anybody have anything to add?
Something to add? Sure! Start writing to the 1.4 api, PLEASE! The more people supporting it, the more quicker the adoption rate will be.
-Chris
Don’t you wish it was standard with all browsers? That’s the main reason I like 1.1.
Well not even 1.1 is “standard” with all browsers. Given any particular browser vendor and any particular version of that browser you are likely to find a different set of issues (read BUGS) that you have to code around.
If it’s possible to support 1.1 in a project, then why not? My software 3D engine supports 1.1. too. A software renderer (i guess Absolution is talking about one…) doesn’t need Java2 features (let alone 1.4 stuff). All it does is drawing pixels into an integer array. Whatever you do with this pixel-data is up to you…no one prevents you from using it in a Swing-application for example. But there is simply no need for anything higher than 1.1 for this purpose, so why disregard it?
Anyway, back to the topic: I don’t have anything to add except that i’m doing exactly the same thing. I’m using floats all the way but converting them to fixed-point in the rasterizer.
Edit: Actually, i AM supporting Java2, because i’m using a BufferedImage in case of Java2 and a MemoryImageSource in case of 1.1… ;D
No offense, but a software 3D engine that is intended to run on PC hardware is pointless. Use Java3D or an OpenGL binding. If you are writing for devices with no hardware 3D support (mobile phones), or are doing it simply for ‘fun’ or educational purposes then of course you might have something. But anyone that wants to make a 3D application or applet in Java for PCs and is coding to java 1.1 is just making things harder for themselves. Not to mention that they are doing a disservice to the Java community by promoting an obsolete version that gives people a bad impression.
And of course there is the chicken and the egg problem… why will people have anything better than java 1.1 if that’s what everyone is coding for anyway… “I say if you build it they will come”… all that is needed to make java 1.4 more popular are programs that people want that require it.
Use the java plug-in and Web start.
Try to tell that to somebody who wants to add a small 3D applet game to a website to attract visitors. Try to convince him or her that the visitors have to download and install all this stuff and that they’ll contact him for support (or simply blame it on him) if it doesn’t work. People are using my engine, so i don’t think it’s pointless. And of course i did that for the fun of it. Writing stuff for OpenGL wouldn’t be half the fun (at least for me).
Hey egonolsen dont give up on your software dream we cant all sail in the same boat…
[quote]Hey egonolsen dont give up on your software dream…
[/quote]
I never will! ;D I have just released a new version (0.81) which can be found here: http://www.jpct.net/download.htm
Hey thats looking really good everyone should check it out!
I’ll be keeping an eye on your site :o