============================= BEZIER PATCH RENDERING SYSTEM ============================= -------------------------------- Done as a single-person project: NAME: Beau Skinner -------------------------------- This program loads Bezier patch data from an input file and renders the patches given the control points loaded from the file. You can display the control points and manipulate the object by moving the control points on the screen. This program compiles and runs on the tux servers, and runs fine when the server is relatively idle. However the program is very CPU intensive and can run *very* slowly when the server is under heavy load. I can email a Windows executable version, for better performance, if requested. NOTE: If in solid drawing mode and all or most faces appear black, use the semicolon ';' to reverse the direction of all surface normals. To compile: make To run: a3 [input-file], where [input-file] is one of the included .bpt files. ============ MOUSE EVENTS ============ Mouse modes: Clear Mode, Grab Mode, X Mode, Y Mode, Z Mode When in Grab Mode, if the control points are displayed you can click and drag them to modify their screen x,y coordinates, which will modify the object. The other modes have different behaviours when clicking and dragging using different mouse buttons, as follows: Left Mouse Button: rotation Clear Mode: rotate on x-y axes X Mode, Y Mode: rotate on respective axis only Z Mode: rotate on z-axis according to mouse movement on x-y axes Middle Mouse Button: translation, in viewing coordinates Clear Mode: translate on screen x-y axes X Mode, Y Mode: translate on respective screen axis only Z Mode: translate on z-axis according to mouse movement on y axis Right Mouse Button: scaling Clear Mode: scale equally on all axes X Mode, Y Mode: scale on respective axis only Z Mode: scale on z-axis according to mouse movement on x-y axes =============== KEYBOARD EVENTS =============== > and < increase/decrease mesh size, the size of each quad in each mesh . toggle display of control lines and control points / toggle display of object , toggle drawing mode (mesh or solid) ; reverse direction of all surface normals + and - increase/decrease radius of control points (for easier grabbing) c enter Clear Mode x toggle between X Mode and Clear Mode y toggle between Y Mode and Clear Mode z toggle between Z Mode and Clear Mode g toggle between Grab Mode and Clear Mode r reset the view (if controls are displayed they will reset but remain displayed) q exit the program