About jPCT
Features
Requirements
Projects
Files
Download
Screenshots
Demos
Developer
JavaDOCs
Manual
License
Version History
Support
Forum
Contact
Links
Links



Welcome to jPCT - a free 3D engine for Java
jPCT offers you all the features you need to write a cool looking 3D game or application in Java in a short time. There is no need for an extra library for collision detection or a seperate GUI package to replace Swing/AWT.

Engine features

  • loads 3DS, OBJ, MD2, ASC and XML files
  • support for octrees and portal rendering
  • keyframe animations (taken from a MD2-file or self defined)
  • skeletal animations (via Cyberkilla's skeletal API extension)
  • vertex lighting with an unlimited number of light sources
  • ambient, diffuse and specular lighting
  • build-in primitives like cones, cubes, spheres...
  • spherical environment mapping
  • render to texture
  • framebuffer post processing (includes a bloom/pseudo-HDR-implementation)
  • collision detection (ray-polygon, sphere-polygon and ellipsoid-polygon)
  • rotation interpolation and alignment for better camera control
  • generates vertex and face normals automatically
  • geometry based picking
  • transparency effects
  • billboarding



  • Features of the hardware renderer (Java 1.4 or higher required)

  • single pass multi texturing using up to 4 texture stages (if hardware supports it)
  • multi pass texturing using an unlimited number of texture layers
  • advanced fog and transparency settings
  • uses triangle strips and vertex arrays
  • support for Swing/AWT integration (benefits from multi core/cpu setups)
  • support for fullscreen, native OpenGL window
  • supports RGB-scaling
  • projective textures
  • shadow mapping
  • uses the LWJGL
  • can be combined with FengGUI



  • Features of the software renderer (Java 1.1 or higher required)

  • fast perspective correct texture-mapping with scanline subdivision
  • 32 bit W-Buffering
  • 2x and 1.5x oversampling and 0.5x undersampling
  • texel filtering (faked bilinear filtering)
  • environmental mapped bump mapping
  • sub-pixel, sub-texel and sub-color accuracy
  • span-based hidden surface removal algorithm
  • supports RGB-scaling and overbright lighting
  • Mip-Mapping (via the MipMapper.java extension)