Java 3D for Windows NT

one of Jack's Hacks

Introduction

I've put together several packages that let you program 3D graphics on Windows 95 and Windows NT from Java:
  1. JavaOpenGL is a high-level API that gives you access to Open GL from Java, whether or not you have a 3D hardware card! Of course, if you have a card that supports Open GL, your code will run faster. Note: Currently the only publicly available Open GL implementation for the 3Dfx VooDoo card is the one that comes with GLQuake. This special 3Dfx version of OpenGL32.dll will work with JavaOpenGL, but it only implements a subset of OpenGL.
  2. JavaMesa is a high-level API that gives you access to most of the power of the 3Dfx cards. It implements the Open GL-compatable Mesa graphics library.
  3. JavaGlide is a low-level API that gives you access to all of the power of the 3Dfx card. It's difficult to use, and it's specific to the 3Dfx.
  4. JavaD3D a short how-to on using Microsoft Direct3D from Java.

Requirements

  • (Required for JavaMesa and JavaGlide, optional for JavaOpenGL) A Glide compatible graphics card, such as
    • Diamond Monster 3D
    • Orchid's Righteous card.
    • VooDoo Rush
    • One of 3Dfx's high-end graphics cards.
  • A Microsoft OS, such as:
    • Windows NT 4.0
    • Windows 95
  • A JDK 1.0.2 or 1.1 compatible Java such as:
    • The JavaSoft JDK release.
    • Symantec Cafe 1.5.1
  • Some patience.


FAQ - Frequently Asked Questions

Q: Will these packages work without a 3Dfx graphics card?

A: JavaOpenGL will work without a 3Dfx graphics card. The other APIs require a 3Dfx graphics card, because that's all 3Dfx's Glide graphics library will talk to.

Q: What if I want to use another Java VM than Symantec Cafe or JDK 1.1?

A: Different Java VMs have different native-method APIs. Depending upon the Java VM you may have to recompile the JavaGlide DLL. The Java sources are provided, but you will need a C compiler like the one in Microsoft Visual C++.

Q: Will JavaGlide, JavaOpenGL, or JavaMesa programs work as applettes? Can visitors to my web site see the resulting graphics?

A: No, they won't, unless they have a 3Dfx card, and they use Netscape Communicator 4.0, and you recompile the DLLs for Netscape, and you set up your site to download the DLLs. (And I haven't actually tried that, so it might not work without some modifications.)

Q: Can I use these packages in my own programs? What are the licensing restrictions?

A: If you're just having fun, or are just experimenting, there is no fee. If you make something cool, let me know! If you're going to make money, directly or indirectly, from your use of these packages, you need to licence them from me.  (For a remarkably modest fee, I might add. :-) ) JavaMesa contains code from the Mesa graphics library, which is under GNU copyleft, and from "the Unofficial Java OpenGL binding", by Leo Chan.

Q: What about Microsoft's DirectX 3D API?

A: This is easy, starting with DirectX 7.0. See my JavaDirect3D page.

Q: What about Java 3D, the 3D API from JavaSoft?

A: I'm looking forward to using it when it comes out.

Q: What about Cosmo Open GL, the SGI Open GL for Windows 95.

A: I haven't tried it yet.


Links

If you are interested in programming 3D graphics in Java and/or programming 3D graphics on the 3Dfx card, the following links might be interesting to you:

3dfx

3dfx and Open GL

Open GL and Java

    Java bindings for Open GL - The original Java to Open GL port.
    Jogl Home Page - A project similar to my JavaOpenGL page. (We started with the same jogl source.)
    Magician - a commercial Open GL for Java implementation. Free for private use. $150 for products. (Out of business?)

3D and Java

    Frag Island - a Java applet that works like Quake in pure Java, no hardware needed.

3D and the PC