preface xi
1 introduction to windows programming
1.1 prologue
1.2 windows operating system--the universal graphical userinterface
1.3 windows os----intepnals
1.4 windows programming
1.4.1 data type notation
1.4.2 predefined constants
1.4.3 windows programming architecture
1.4.4 creating project in visual studio
1.4.5 other ide and compiler options
1.4.6 message-driven programming
1.5 first windows program
1.5.1 implementation
1.5.2 program description
1.6 typing characters in window
1.6.1 implementation
1.6.2 program description
1.7 my first menu
1.7.1 implementation
1.7.2 program description
1.8 summary
1.9 review questions and exercises
2 two-dimensional geometric transformations 33--
2.1 prologue
2.2 tp. anslation
2.2.1 implementation
2.2.2 program description
2.3 reflection
2.3.1 implementation
2.3.2 program description
2.4 rotation
2.4.1 implementation
2.4.2 program description
2.5 scaling
2.5.1 implementation
2.5.2 program description
2.6 zooming
2.6.1 implementation
2.6.2 program description
2.7 rubber banding
2.7.1 implementation
2.7.2 program description
2.8 summary
2.9 review questions and exercises
3 line drawing algorithms
3.1 prologue
3.2 scm conversion algorithm: a simple line drawing algorithm
3.3 bresenham's scm conversion algorithm
3.3.1 implementation
3.3.2 program description
3.4 bar chart
3.4.1 implementation
3.4.2 program description
3.5 summary
3.6 review questions and exercises
4 circle drawing algorithms
4.1 prologue
4.2 bresenham's circle drawing algorrmm
4.2.1 implementation
4.2.2 program description
4.3 bresenham's ellipse drawing algorithm
4.3.1 implementation
4.3.2 program description
4.4 arc
4.4.1 implementation
4.4.2 program description
4.5 pie chart
4.5.1 implementation
4.5.2 program description
4.6 projected pie implementation
4.6.1 program description
4.7 summary
4.8 review questions and exercises
5 drawing curves
5.1 prologue
5.2 b-spline curve
5.2.1 implementation
5.2.2 program description
5.3 bezier curve
5.3.1 implementation
5.3.2 program description
5.4 summary
5.5 review questions arm exercises
6 filling algorithms
6.1 prologue
6.2 seed fill algorithm
6.2.1 implementation
6.2.2 program description
6.3 scan line polygon fill algorithm
6.3.1 implementation
6.3.2 program description
6.4 summary
6.5 review questions and exercises
7 clipping algorithms
7.1 prologue
7.2 viewport clipping
7.2.1 implementation
7.2.2 program description
7.3 mn)point subdivision line clipping
7.3.1 implementation
7.3.2 program description
7.4 sutherland-cohen line clipping
7.4.1 implementation
7.4.2 program description
7.5 summary
7.6 review questions ant) exercises
8 three-dimensional graphics
8.1 prologue
8.2 3d coordinate system
8.3 displaying 3d objects
8.4 3d transformations
8.4.1 3d translation
8.4.2 3d rotation
8.4.3 3d scaling
8.5 3d object to 2d image projection
8.5.1 worm coordinate to 3d viewpoint-based coordinate
transformation
8.5.2 viewpoint-based coordinate system to 2d imagetransformation
8.6 displaying cube in 2d screen
8.6.1 implementation
8.6.2 program description
8.7 displaying sphere in 2d screen
8.7.1 implementation
8.7.2 program description
8.8 viewing transformations
8.9 implementation of other geometric shapes
8.9.1 implementation
8.9.2 program description
8.10 summary
8.11 review questions and exercises
9 hidden surface removal
9.1 prologue
9.2 z-buffer
9.3 z-buffer algorithm for cube
9.3.1 implementation
9.3.2 program description
9.4 z-buffer algorithm for sphere
9.4.1 implementation
9.4.2 program description
9.5 ray tracing
9.6 ray tracing algorithm for cube
9.6.1 implementation
9.6.2 program description
9.7 ray tracing algorithm for sphere
9.7.1 implementation
9.7.2 program description
9.8 summary
9.9 review questions and exercises
10 illumination and shading
10.1 prologue
10.2 illumination
10.3 modelling a shiny surface
10.3.1 phong illumination model
10.4 phong illumination for cube
10.4.1 implementation
10.5 phong illumination for sphere
10.5.1 implementation
10.5.2 program description
10.6 summary
10.7 review questions and exercises
suggested further reading
index