Skip to content

WPF Applications, Image Filtering Algorithms, Rasterization/Drawing Algorithms

Notifications You must be signed in to change notification settings

Ekatwikz/ComputerGraphicsLabs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Computer Graphics Labs

My projects for the CG1 course @ PW

  • WPFFilters was the image filtering algorithms for Labs 1 & 2,
  • WPFDrawing was the shape drawing/filling algorithms for Labs 3 & 4

Everything was done with just WPF and no graphics libraries,
each operation was done directly on the respective pixel buffer, by hand

(TIP: click a gif/heading for a full HD demo 😉)

Image Filtering App Demo

Cool stuff that wasn't part of the tasks:

  • When editing a Filter at an arbitrary position in the "currently applied" Collection,
    don't naively recompute the effect of the entire collection (that would get very slow whenever convolution filters are involved),
    but instead use a hashing trick to only recompute the filters which need to be recomputed
  • Pre-computing lookup tables for the pixel-by-pixel filters,
    which greatly speeds up things like gamma filters which have math that doesn't play well with realtime refreshing

Biggest things I learned:

  • Filtering algorithms aren't too hard, but propagation of change is quite non-trivial
  • Creational design patterns are very important 😅

Drawing App Demo

Biggest things I learned:

  • Propagation of change is absolutely non-trivial
  • Message passing can be brutal. 😭