CSC4140代做、代写Python/Java编程设计
CSC4140 Final Projects
April 27, 2024
The nal is 40% of the total mark.
We encourage to help eachother but do not show the same thing in your report and do not cheat!
Strict Due Date: 11:59PM, May 20th, 2024
Student ID:
Student Name:
This assignment represents my own work in accordance with University regulations.
Signature:
1
1 Transient Rendering through Scattering Medium
Problem Description
Participating media are used to simulate materials ranging from fog, smoke, and clouds, over
translucent materials such as skin or milk, to fuzzy structured substances such as woven or knitted
cloth. Participating media are usually attached to shapes in the scene. When a shape marks the
transition to a participating medium, it is necessary to provide information about the two media
that lie at the interior and exterior of the shape. This informs the renderer about what happens
in the region of space surrounding the surface. In many practical use cases, it is sucient only
to specify an interior medium and to assume the exterior medium (e.g., air), not to inuence the
light transport.
Transient rendering is proposed to simulate how the light propagates in the space. Instead of
the traditional renderer, it assumes the light speed is limited. Transient rendering for participating
media helps to provide a new simulation tool to achieve a new sensing technology in extreme
weather condition.
Goals and Deliverbles
Based on the code of Dierentiable Transient Rendering linked below, realize a renderer in the
FOG medium. You can refer to any renderer or code for participating media. For this project,
deliver a series of transient images generated with the Dierentiable Transient Renderer.
When working on this project, you will have to gure out how to embed the participating media
into the given engine.
Resources
1. Dierentiable Transient Rendering
2. Code
3. Mitsuba
2 Realize BDPT (use cuda)
Problem Description
Based on the code of assignment 5 and 6, realize your own Bi-Directional Path Tracer.
2
Goals and Deliverbles
Render the given scenes in assignments 5 and 6 using your own BDPT and compare the difference with the current one in your report. We encourage you to use CUDA to implement them
to avoid the hours-long rendering process. CUDA has become very easy, and it's just a library for
parallel computing and rendering.
Find a caustic scene like a lens or glass ball, render it with BDPT and the path tracer, compare
the results, and explain.
Resources
M. Clark, "CUDA Pro Tip: Kepler Texture Objects Improve Performance and Flexibility",
NVidia Accelerated Computinig, 2013. [Online]
T. Karras, "Thinking Parallel, Part III: Tree Construction on the GPU", NVidia Accelerated
Computing, 2012. [Online]
T. Karras, "Thinking Parallel, Part II: Tree Traversal on the GPU", NVidia Accelerated Computing, 2012. [Online]
E. Veach, "Robust Monte Carlo Methods for Light Transport Simulation", Ph.D, Stanford
University, 1997.
3 Realize Spectral Ray Tracing and Learn to Use "Nvidia
OptiX"
Problem Description
The current implementation of the raytracer cannot model dispersion and chromatic aberrations
because its light model is not wavelength-dependent. Currently, indices of refraction are constant
rather than dierent for each wavelength. You can implement your code based on assignment 6.
Nvidia OptiX is a high-level GPU-accelerated ray-casting API. If your computer supports
Nvidia RTX, We strongly recommend you try it and coding based on this API instead of the code
of assignment 6.
Goals and Deliverbles
Implement spectral ray tracing by tracing rays of dierent wavelengths sampled using the human
eye's wavelength prole for each color (RGB). By modeling dierent indices of refraction based on
those wavelengths for glass-like materials, we hope you to reproduce eects such as the dispersion
of light through a prism, the changing colors based on the viewing angle for a lens on a reective
3
surface with a thin lm (such as a DVD), as well as model chromatic aberrations present in real
camera systems with lenses. Additionally, it would be best if you created wavelength-dependent
bsdfs and lighting. We hope to model dierent temperature lights.
1. Prism scene rendering
2. Disk/bubbles scene rendering (Add dierent environment maps (potential source from Light
Probe Library). Images from the light probe library are in HDR format, suitable for spectral
ray-tracing since you have the more realistic spectrum distribution of each scene pixel).
3. Correctly simulates chromatic aberration of dierent lenses.
4. Compare rendered images with real photos we take of the objects (e.g., disk).
5. Compare rendering under dierent temperature lights.
6. Finally, we hope you deliver a synthesized image that harmoniously combines objects that
best illustrate the eectiveness of our spectral ray tracer. (e.g., gemstones, etc., suggestions
on this would be helpful!)
7. Optional: Add fog/volumetric scattering so that rainbows can be seen.
Tasks:
1. Change lenstester to also include wavelength argument that the user can set. (mainly for
debugging purposes)
2. Refactor code so that rays have a wavelength argument that can be passed in and checked
as well as that functions that return Spectrums now return a single intensity value
3. Change raytrace_pixel to ask for multiple ray samples for each color channel, then combine
those color channels
4. Change camera.generate ray to take in a color channel argument and sample that color
channel's wavelength distribution (Gaussian) to change the ray's wavelength
5. Change lens_camera's tracing through the lens to use the wavelength argument to change
indices of refraction when tracing through the lens
6. Change sample_L of lights to have a wavelength-dependent intensity to simulate dierent
colors of lights (maybe initialize lights with a temperature argument and model them as ideal
black bodies to get the intensities for each color)
7. Rewrite BSDFs of colored objects to return a wavelength-dependent magnitude instead of a
constant spectrum argument.
4
8. Rewrite/write glass BSDF to have wavelength-dependent indices of refraction (similar code
as lens_camera's tracing)
9. Write a bubble/ thin-lm interference BSDF that uses wavelength, thickness, and light to
determine if the interference occurs (integer multiples of wavelength)
10. Write new scene/dae les (using Blender )/mess with the parser to create a triangular prism
would want a small area of light create a disk + reective surface + transparent coating
Resources
1. AN INTRODUCTION TO NVIDIA OPTIX
2. Prisms and Rainbows: a Dispersion Model for Computer Graphics
3. Iridescent Surface Rendering with Per-channel Rotation of Anisotropic Microfacet Distribution
4. Rendering Iridescent Colors of Optical Disks
5. Derive spectrum from RGB triple
6. soap bubbles 1
7. soap bubbles 2
Other useful links: [1] refractive index [2] refractive indices [3] glassner [4] hyperphysics [5]
Morris, Nigel. "Capturing the Reectance Model of Soap Bubbles." University of Toronto
(2003).
4 Smooth Mesh Estimation from Depth Data using NonSmooth Convex Optimization
Problem Description
Meshes are commonly used as 3D maps since they encode the topology of the scene while being
lightweight. Unfortunately, 3D meshes are mathematically dicult to handle directly because of
their combinatorial and discrete nature. Therefore, most approaches generate 3D meshes of a scene
after fusing depth data using volumetric or other representations. Nevertheless, volumetric fusion
remains computationally expensive both in terms of speed and memory. The main references for
this project are this paper on the Smooth Mesh Estimation from Depth , and you can use the
attached test data.
5
Goals and Deliverbles
Your task is to implement the given paper. To simplify the task, you are allowed to use any
package available to help you dealing with the optimization part. Or you can grab a certain piece
of code block to help you complete this task.
Final Note
You have achieved a milestone in Computer Graphics. Here your task left is to make some
fancy results and reports! Computer Graphics is not only a science of producing graphical images
with the aid of a computer but also a fancy art! Again, always be creative!
6

热门主题

课程名

mktg2509 csci 2600 38170 lng302 csse3010 phas3226 77938 arch1162 engn4536/engn6536 acx5903 comp151101 phl245 cse12 comp9312 stat3016/6016 phas0038 comp2140 6qqmb312 xjco3011 rest0005 ematm0051 5qqmn219 lubs5062m eee8155 cege0100 eap033 artd1109 mat246 etc3430 ecmm462 mis102 inft6800 ddes9903 comp6521 comp9517 comp3331/9331 comp4337 comp6008 comp9414 bu.231.790.81 man00150m csb352h math1041 eengm4100 isys1002 08 6057cem mktg3504 mthm036 mtrx1701 mth3241 eeee3086 cmp-7038b cmp-7000a ints4010 econ2151 infs5710 fins5516 fin3309 fins5510 gsoe9340 math2007 math2036 soee5010 mark3088 infs3605 elec9714 comp2271 ma214 comp2211 infs3604 600426 sit254 acct3091 bbt405 msin0116 com107/com113 mark5826 sit120 comp9021 eco2101 eeen40700 cs253 ece3114 ecmm447 chns3000 math377 itd102 comp9444 comp(2041|9044) econ0060 econ7230 mgt001371 ecs-323 cs6250 mgdi60012 mdia2012 comm221001 comm5000 ma1008 engl642 econ241 com333 math367 mis201 nbs-7041x meek16104 econ2003 comm1190 mbas902 comp-1027 dpst1091 comp7315 eppd1033 m06 ee3025 msci231 bb113/bbs1063 fc709 comp3425 comp9417 econ42915 cb9101 math1102e chme0017 fc307 mkt60104 5522usst litr1-uc6201.200 ee1102 cosc2803 math39512 omp9727 int2067/int5051 bsb151 mgt253 fc021 babs2202 mis2002s phya21 18-213 cege0012 mdia1002 math38032 mech5125 07 cisc102 mgx3110 cs240 11175 fin3020s eco3420 ictten622 comp9727 cpt111 de114102d mgm320h5s bafi1019 math21112 efim20036 mn-3503 fins5568 110.807 bcpm000028 info6030 bma0092 bcpm0054 math20212 ce335 cs365 cenv6141 ftec5580 math2010 ec3450 comm1170 ecmt1010 csci-ua.0480-003 econ12-200 ib3960 ectb60h3f cs247—assignment tk3163 ics3u ib3j80 comp20008 comp9334 eppd1063 acct2343 cct109 isys1055/3412 math350-real math2014 eec180 stat141b econ2101 msinm014/msing014/msing014b fit2004 comp643 bu1002 cm2030
联系我们
EMail: 99515681@qq.com
QQ: 99515681
留学生作业帮-留学生的知心伴侣!
工作时间:08:00-21:00
python代写
微信客服:codinghelp
站长地图