Skip to content
This repository was archived by the owner on Jul 2, 2020. It is now read-only.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Program notes:
Usage: paint [input TGA] [output TGA] [brush] [starting brush radius]
	The brush radius is in pixels. Brush radii can be from 1 to 15.
	Specifying the brush and radius is optional.
Available brushes are:
	c (circle)
	l (angled line)
An angled line is the default.

Other notes:
- After painting with the starting brush radius, more passes are made with a
  brush radius decreasing to 1. Due to the algorithm used, smaller brush strokes
  will be made in areas with more detail.
- The program uses feathered brushes generated by GIMP. After exporting the
  brush's bitmap to a source file using GIMP, the brush was compiled into the
  program (see CircleBrushMap.hpp and LineBrushMap.hpp). To generate a brush
  of varying size, the brush is loaded from memory as a TargaImage, then scaled
  using code from the "resize" program. The alpha values of the brush are then
  loaded into an array for later reference
  (see CircleBrush.cpp and LineBrush.cpp).
- Brushes have an alpha channel and feathered edges.
- When applying brush strokes, the stroke is alpha blended with the canvas
  (see TargaImageManipulator::paintLayer).
- To conserve space, 3-capital-out.tga and 3-peppers-out.tga were opened with
  GIMP and then re-saved (without any manipulation) using RLE compression.

About

UW-Madison CS559 - Computer Graphics project 1 - painter

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages