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
AI-generated apps that pass security review Icon
AI-generated apps that pass security review

Stop waiting on engineering. Build production-ready internal tools with AI—on your company data, in your cloud.

Retool lets you generate dashboards, admin panels, and workflows directly on your data. Type something like “Build me a revenue dashboard on my Stripe data” and get a working app with security, permissions, and compliance built in from day one. Whether on our cloud or self-hosted, create the internal software your team needs without compromising enterprise standards or control.
Try Retool 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