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
Enterprise-grade ITSM, for every business Icon
Enterprise-grade ITSM, for every business

Give your IT, operations, and business teams the ability to deliver exceptional services—without the complexity.

Freshservice is an intuitive, AI-powered platform that helps IT, operations, and business teams deliver exceptional service without the usual complexity. Automate repetitive tasks, resolve issues faster, and provide seamless support across the organization. From managing incidents and assets to driving smarter decisions, Freshservice makes it easy to stay efficient and scale with confidence.
Try it 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