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

Other Useful Business Software
Go from Data Warehouse to Data and AI platform with BigQuery Icon
Go from Data Warehouse to Data and AI platform with BigQuery

Build, train, and run ML models with simple SQL. Automate data prep, analysis, and predictions with built-in AI assistance from Gemini.

BigQuery is more than a data warehouse—it's an autonomous data-to-AI platform. Use familiar SQL to train ML models, run time-series forecasts, and generate AI-powered insights with native Gemini integration. Built-in agents handle data engineering and data science workflows automatically. Get $300 in free credit, query 1 TB, and store 10 GB free monthly.
Try BigQuery Free
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

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

Programming Language

Java

Related Categories

Java Games, Java Graphics Software, Java CAD Software

Registered

2001-03-03