###Names
- Leo Colobong (@lcolobong)
- Donny Reynolds (@dovizu)
###Platform
OS X
(Orchard Macs)
###Source Location
./
###Submitted by cs61b-bw
###Compile Instruction
make
###Core: Uniform Shading (Step size: 0.1) Flat vs Smooth Shading
./renderBezier -f bezFiles/teapot.bez 0.1
+ press s
+ press w
###Core: Adaptive Shading (Error tolerance: 0.01) Flat vs Smooth Shading
./renderBezier -f bezFiles/teapot.bez 0.01 -a
+ press s
+ press w
###Core: Transformation, Shading Modes and Fill Modes YouTube Video
###Extra: Multiple Objects Support YouTube Video
###Extra: Hidden Line Removal
./renderBezier -f bezFiles/teapot.bez 0.01 -a
+ press h
###Extra: Custom Shader (No Phong Shading)
./renderBezier -f bezFiles/teapot.bez 0.01 -a --opengl3
###Extra: Convert OBJ to BEZ Patches
./renderBezier -f bezFiles/bunny.bez 0.1 -a
Note: some errors come from our obj2bez.py converter.
build/
: temporary object files for linking (need to be created)libraries/
: external librariessource/
: source codeMakefile
.gitignore
BezierSurfaceRenderer.xcodeproj
: XCode project settingsbezFiles/
: default bez files for testingexamples/
: submitted examplesobj/
: obj2bez.py parser and other obj files
./renderBezier [-f path/To/File.bez | -d path/to/dir/] stepSize|epsilon [-a] [--opengl3]
##Parameters
-f path/To/File.bez
: renders a single Bezier file (relative), the file must end in .bez
-d path/to/dir/
: renders all the .bez
files in the specified directory, the trailing /
is required
-a
: if -a
is specified, adaptive tessellation will be used, otherwise uniform tessellation will be used
--opengl3
: enables our incomplete extra credit modern OpenGL 3.2+ pipeline, no Phong shading is implemented, but all transformations work correctly
##Drawing Control
w
: press w
to toggle between Wireframe and Filled drawing mode
s
: press s
to toggle between Smooth shading and Flat shading
h
: press h
to toggle between Hidden Line Removal mode and regular mode
ESC
: press ESC
to exit
##Transformations
+/-
: press +/-
to zoom in/out
UP/DOWN/LEFT/RIGHT
: translate
SHIFT + UP/DOWN/LEFT/RIGHT
: rotate
Left Mouse Click
: open up a menu to choose which object to transform, selected object will be highlighted
##External Libraries
##Main Classes ###BEZParser Parses BEZ files containing patch data ###Tessellation ####UniformTessellation ####AdaptiveTessellation