is worth it in terms of speed to try to write a software renderer in java, or should i use native code?
For speed? Native code every time. It’s at least 10x faster - you’d just have to put up with those damned security dialogs!
could i get an acceptable framerate in java?
You see Minecraft? That’s in OpenGL using LWJGL. I think that’s what you call acceptable framerate 
A bit of overestimating, eh? 
What I observed in real apps and seen in benchmarks, HotSpot is about half speed of C/C++ realistically. Which is quite achievment considering it’s dynamic nature and being VM/JIT. Other slower languages wish they would be as fast as Java
Some routines can be slower, or faster, even about the same speed, depends on the task. For example when I tried matrix skinning it ran about the same speed in Java (on client VM even) and C (without SSE2).
What Java misses is vector instructions (SSE), with careful optimization (which can mean totally restructuring your algorithm and data structures, also can be quite hard to do) you can reach at most 4x speedup, practically between 2-3.5x). However you can write such routines in native code and call them through JNI. Be sure to include the whole loop in the native code as JNI calls have some overhead.
I think simon means opengl vs software rendering.
There’s 2 ways to go with software rendering. Java2d image rendering and shape rendering, and direct pixel array image manipulation, which is then painted by java2d. The latter is more flexible but slower
Even in C/C++ with SSE etc, a software render is really really slow compared to using the hardware that is designed for it. We don’t have blit chips anymore and tying up the CPU for rendering when the data can be moved around with drivers via DMA instead is always going to really disappoint. You just can’t compete with the fill rate of even a crap video card.
Unless of course you are happy with VGA resolutions.
A little OT, but i find that for the most part, java and C++/C are comparable in speed. As in the difference is the programmer, not the language. With one important difference: a crappy coder in java will do better than a crappy coder in C/C++. And if you are comparing with using SSE etc, then well its not really C/C++ anymore now is it.
the reason i’m asking is the 3d acceleration in my video card is shot, but the 3d library in Processing works fairly fast. I just have no idea how to adapt their renderer to work in just normal java.
There’s 2 ways to go with software rendering. Java2d image rendering and shape rendering, and direct pixel array image manipulation, which is then painted by java2d. The latter is more flexible but slower
My experience is the opposite. Java2D is faster when accelerated - but then it’s not software rendering! Otherwise, I find direct pixel manipulation faster in general. (see also Pulpcore, Processing or the Randelshofer pure Java Graphics2D tests).
the reason i’m asking is the 3d acceleration in my video card is shot, but the 3d library in Processing works fairly fast. I just have no idea how to adapt their renderer to work in just normal java.
The Processing renderer is just normal Java. Putting the Processing core JAR in the classpath and creating a class that extends PApplet would probably be the easiest way to go. (caveat - never tried it, but there is documentation about doing it on the Processing website).
is worth it in terms of speed to try to write a software renderer in java, or should i use native code?
What is wrong with hardware rendering in Java? Java can even be faster than native code in some cases, look at Jake 2 ;D I advise you to use JOGL (or LWJGL). Look at some papers written by IBM researchers working on HPC if you want some evidences about the gain of speed with Java in comparison to C/C++ and at some interviews of Brian Goetz.