13.07.2015 Views

Soft, planar shadows. - FreeDesktop.Org

Soft, planar shadows. - FreeDesktop.Org

Soft, planar shadows. - FreeDesktop.Org

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CG Programming III – Assignment #2 (Planar soft <strong>shadows</strong>) Due on 4/23/2007General description of what the program needs to do.Required graphical elements:●Implement soft <strong>shadows</strong> using one of the three following algorithms:1. Heckbert and Herf's method.2. Gooch's method. This can be done by either projecting the caster multiple times or by creating a shadowtexture and applying the shadow texture multiple times.3. Single pass shadow textures. If this method is used, the shadow must be cast on non­<strong>planar</strong> objects usingprojective texturing.Optional graphical elements:Additional points can be earned by implementing one or more of the following.●Using Gooch's method to create soft <strong>shadows</strong> and casting those <strong>shadows</strong> on non­<strong>planar</strong> objects using projectivetexturing (combining #2 and #3 above).Required inputs:●●Escape must terminate the program.If either Heckbert and Herf's method or Gooch's method are used, a key sequence must be available to increase ordecrease the number of shadow samples used. If the number decreases below three samples, the program mustswitch to hard <strong>shadows</strong>.Criteria Excellent Good Satisfactory Marginal UnacceptableCodeFunctionCodeMechanicsProgram correctlyimplements allrequired graphicalelements in a mannerthat is readily apparentwhen the program isexecuted. Appropriatealgorithms and datastructures are used inthe implementation.Program code isformatted in aconsistent manner,variables and datastructures are named ina consistent, logicalmanner. Code iscommentedadequately.Program implementsall required graphicalelements, but theoperation of someelements may not beobvious. Appropriatealgorithms and datastructures are used inthe implementation.Program code ismostly consistent, butcontains someoccasioninconsistencies.Program implementsall requiredgraphical elementsin some fashion.Algorithms and datastructures are usedthat perform therequired function,but may be less thanideal.Program code isreadable. Individualfunctions or codeblocks showconsistentformatting, but thatformatting does notcarry through theentire program.Programimplementsmost requiredgraphicalelements insome fashion.Program code isnot consistentlyformatted, but isstill somewhatreadable.Most or all of therequiredgraphicalelements aremissing or do notfunctioncorrectly.Program code isa mess and maybe more suitableas an entry to theInternationalObfuscated CCodingCompetition.User The program is The program is The program is The program is Many of the


Criteria Excellent Good Satisfactory Marginal UnacceptableInterfaceresponsive to input.All required inputs areimplemented, and theuser is informed, bythe program, what theinputs are. Theprogram can beterminated by the user.responsive to input.All required inputsare implemented.Some of the inputsare documented bythe program.unresponsive undersome circumstances.All required inputsare implemented.Some of the inputsare documented bythe program.unresponsiveunder somecircumstances.Some of therequired inputsare either notimplemented orare notimplementedcorrectly. Someof the inputs aredocumented bythe program.required inputsare either notimplemented orare notimplementedcorrectly. Theprogram lacksdocumentationfor the inputs.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!