Assignments
Creative 2
Grading & Examples
Grading & ExamplesIf you want a safe and straightforward path to a full completion grade, we suggest picking twotechnical features mentioned on this page and implementing them. If your group implements twotechnical features reasonably well, even in a scene with pretty boringcomposition, we will at least
give you completion credit. Some technical features could be worth more than others, and thevalue may be greater for especially impressive execution of a technical feature. But implementingtwo features reasonably well is what we will consider ``full completion".You can also use the obj loader included in the code to load simple models. The moststraightforward way to create such models would be to use Blender. Blender is freeand opensource, and there are lots of tutorials online that show howto use it. With an un-accelerated ray
tracer written in Python you won't be able to render very complex models, but you can certainlystill do a lot with low polygon content.USING TOOLS LIKE BLENDER
See Exporting from Blender for tips on how to use Blender, an open source cross-platform
3D modeling tool, to help you create and export models. If you use 3D asset files in yourscene, be sure to identify what parts of the scene were loaded from files, and how you
obtained or created those files! As you will see in several of the examples below, you can doa lot of cool stuff without the aid of 3D modeling software, but tools likeBlender are anoption for you.
Scene Composition:Good composition matters, and in extreme cases may even compensate if your technical featuresare a bit lacking. The philosophy here is that making particularly good use of the basics candemonstrate strong understanding of the fundamentals, which deserves its own reward.
COMPOSITION AS A SELLING POINTIf you plan to focus on creating a compelling composition, anticipate spending time on trialand error. A lot of care went into placing spheres, camera, and lights in these scenes. Try toset up an efficient pipeline for exploring these options early on, so you can quickly iterateand find parameters that look best.For example, the example below from a few years ago makes particularly good use of spheres andlighting to create acompelling composition. Note that this submission might be less than fullcompletion were it submitted this year, as the time and requirements for the project haveincreased, but it was strong for its year and remains a good example of how basic elements can
be combined to create a compelling scene.Kirby in Space, by Yingshi Zhu and Mandy Kwok
Potential Technical FeaturesA reasonably composed scene with at least two well-executed technical features is probably thesafest way to ensure full completion creditonthis project.STRATEGICFEATURE COMBINATIONSThink about what features to prioritize and how certain feature might complement eachother. For example, some features might substantially increase computation time, whichcould be offset by choosing to implement an acceleration structure for ray intersection (e.g.,a k-d tree) as another one of your features.BE ACCURATE IN YOUR REPORTS!
Your technical feature needs to work (at代写Grading & Examples least excluding very edge cases). Do not claim thatyou have implemented something that you have not; we will check suspicious claims, andyou will be penalized if they are inflated. In particularly egregious (e.g., deliberate-looking)cases, false claims may be treated as academic dishonesty.Some ideas to consider include:Extended Obj Loader & Custom Meshes: The current obj loader provided in A4 will onlywork with simple obj files that have 1 mesh. However, it should not be hard to extend it into anobj loader that can handle multiple meshes. The read_obj and read_obj_trianglesfunctions in A4 , along with cube.py scene example should be helpful for you to learn from,and experiment with. You can also create some obj files with multiple meshes in Blender,and analize those files to implement your own loader. With such Extended Obj Loader , youcan export custom composition elements that you create in Blender. One strategy is to evenuse Blender to compose your full scene, including hte camera position and parameters, inBlender and export it for rendering in your ray tracer.Additional geometric primitives: you can add new primitives, implement their ray
intersection calls, and use them to create new shapes. Note that a primitive that is simply anarray of existing primitives does not count as a new primitive (e.g., the cube is just acollection of simple triangles). One simple shape may not be treated as a complete extrafeature, either (e.g., a plane). Shapes like a torus or cone are good choices.Constructive solid geometry (CSG): implement boolean operations on existing primitives.E.g., the intersection of two spheres can create a pretty cool flying saucer shape....Additional shading modes or phenomena: E.g., refraction, or more general BRDFs, E.g.,Fresnel reflectionRefraction, caustics, lensingScatteringSurface Texture Mapping: Various types of texture mapping includingDiffuse texture mappingDisplacement mappingNormal MappingBump MappingRay-intersection Acceleration structures: You could implement code to make ray tracingfaster. We haven't discussed this much in class, butI have addad a bonus video from Steveon the topic to Canvas, and if you are interested it is certainly google-able as well. Make sureyou describe this type of feature clearly in your submission, as itwon'tnecessarily be visiblein your image. Also, this feature works best if you use it to ray trace a higherresolution, moreanti-aliased, and/or more complex scene with more complicated effects. Report speed gainsyou get on at least one test scene with your machine in your report. Alsonotethat we canand do check to see that you actually implemented what you say you did here...
UFO ScenesThese images show a UFO created where the saucer was created using constructive solidgeometry. The saucer of the UFO is the intersection of two spheres. The top and bottom of theufo have additional spheres as well.In our first UFO scene we render the UFO above some paraboloid grass hills:Composition for this image is a bit weak. It technically has two features (CSG and paraboloidintersection), but both are only very basic implementations. It would probably end up getting to full completion credit, but not more.In our second UFO scene we render the UFO above the desert ground (UFOs like the desert).Here, the desert is rendered with a normal map and a diffuse texture map. image also has two features (CSG and normal mapping). The technical features are prettysimilar to the image above, but the composition is much stronger. It uses several lights to createdramatic lighting on the ground and make it look like the bottom of the UFO is glowing. This imagewould probably get full completion credit, maybe even a bit extra onhow your TA's feelt compares with other submissions.Submissions from Previous YearsAlan Liu and Selina Xiao (2023)These two implemented ellipsoid cylinder and cone primitives,constructive solid geometry,xture mapping, and a cool composition.Ethan Yang and Peter Wu (2023)ese twoimplemented a path tracer, refraction, thin lens approximation with defocus, texture,
isplacement, and normal mapping... This was a really ambitious submission, and many havefailed to implement much less ambitious lists of features.CSG and Ellipsoids by Ruyu Yan and Becky HuThis submission has nicely implemented CSG, as well as ellipsoids, some new material, and greatcomposition.
Solar Donut Dolly Zoom by Dubem Ogwulumbaand William MaThe top submission from 2021
Some 2022 ExamplesPrithwish Dan & Simon KapeVery impressive use of constructive solid geometry. The entire scene is made from CSG bycombining various basic shapes.Sissel Sun & Claire ZhouNicholas Broussard & Orion TianJack Otto and Sean BrynjolfssonThis one was rendered using fractals, which lend themselves well to accelerated ray tracing overy complex geometry.Edit this pag
标签:use,features,Grading,create,UFO,scene,Examples,your From: https://www.cnblogs.com/comp9021T2/p/18545739