Line-drawing and polygon-filling rasterization algorithms in Java. Simple 2D package and more complex 3D package with Z-buffering. Texture mapping not supported at the moment. Color interpolation for lines, Gouraud shading for polygons fully supported. Floating point vertex coordinates, not integer. Pixel-level aliasing, not endpoint aliasing. Doesn't use Bresenham line style! Works with all Java versions. No external dependencies. Suitable for study in academic institutions, especially as related to line-drawing accuracy. Particular attention to detail concerning chopping of accumulation errors, using a cast from 64 bit to 32 bit strategy, in the interval [1.0,2.0). Individual pixel errors with overlapping polygons or line segments are about one in a billion, but I can't reproduce any errors at the moment by using random number generation with tens of millions of cases. Emphasis not only on correctness, but also on performance for real-world use or hardware implementation.

Features

  • Works with all versions of Java, version 1.0 included (1996 era)
  • No external library dependencies
  • Translates easily to other computer languages
  • Correctness first, performance second
  • Suitable for academic study
  • Extremely modular in design, hierarchical structure
  • Operates directly on pixel buffers or on abstract interfaces
  • Encapsulates algorithms instead of data (procedural)
  • Emphasis on extensibility
  • Implements a modern, corrected version of Bresenham line-drawing algorithm (2001)
  • Pixel-level aliasing always, endpoint/vertex aliasing never
  • Support for CSG rendering frameworks that use Goldfeather-type algorithms
  • Capable of parallelizing/tiling complex rendering operations (coming soon)
  • Support for multiple CPU core usage, for increased rendering performance (coming soon)
  • Support for texture mapping, Phong shading, and custom lighting via U,V interpolated polygon coordinates (coming soon)

Project Samples

Project Activity

See All Activity >

Categories

Games, Graphics, CAD

License

BSD License

Follow grafx - Extensible Java Graphics Package

grafx - Extensible Java Graphics Package Web Site

You Might Also Like
HRSoft Compensation - Human Resources Software Icon
HRSoft Compensation - Human Resources Software

HRSoft is the only unified, purpose-built SaaS platform designed to transform your complex HR processes into seamless digital ones

Manage your enterprise’s compensation lifecycle and accurately recognize top performers with a digitized, integrated system. Keep employees invested and your HR team in control while preventing compensation chaos.
Rate This Project
Login To Rate This Project

User Ratings

★★★★★
★★★★
★★★
★★
1
0
0
0
0
ease 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5
features 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5
design 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5
support 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5

User Reviews

  • Greate... :)
Read more reviews >

Additional Project Details

Languages

English

Intended Audience

Science/Research, Education, Developers, Quality Engineers, Architects, Engineering

Programming Language

Java

Related Categories

Java Games, Java Graphics Software, Java CAD Software

Registered

2001-03-03