CG2 2014/en: Rozdiel medzi revíziami
Riadok 46: | Riadok 46: | ||
=== Exercise01 [26.02.2014] "Ray Casting" === | === Exercise01 [26.02.2014] "Ray Casting" === | ||
− | |||
* Implement a camera class suitable for the ray casting method. As usual you should use a similar functionality as in the sample application. Application should specifically be able to: | * Implement a camera class suitable for the ray casting method. As usual you should use a similar functionality as in the sample application. Application should specifically be able to: | ||
** Render the scene (objects are movable). | ** Render the scene (objects are movable). | ||
Riadok 56: | Riadok 55: | ||
* [http://www.sccg.sk/~hudak/CG2/Ex01.Sample.zip Sample] | [http://www.sccg.sk/~hudak/CG2/Ex01.Template.zip Template] | * [http://www.sccg.sk/~hudak/CG2/Ex01.Sample.zip Sample] | [http://www.sccg.sk/~hudak/CG2/Ex01.Template.zip Template] | ||
* '''Deadline: 12.3 - 17:20''' | * '''Deadline: 12.3 - 17:20''' | ||
+ | |||
+ | === Exercise02 [12.03.2014] "Primitives" === | ||
+ | * Improve your tracer by adding few primitives (ring, sphere, AABB box, triangle). Each object should be movable. As usual you should use a similar functionality as in the sample application. | ||
+ | * ''''[1 bonus %]:''' | ||
+ | ** Create also an infinite cylinder and infinite cone primitives | ||
+ | * Sample | Template |
Verzia zo dňa a času 15:43, 8. marec 2014
Obsah
Seminars on Computer Graphics 2 (Summer 2014)
Rules / Info
- On every seminar we will implement selected problems/algorithms related to lessons. We will usually - not necessary start with a prearranged template downloadable from this site.
- As a programming language we will use C#. We will use Visual C# 2010 as development environment. Alternatively you can use MonoDevelop (Linux / Mac OSX) on your own machine.
- Attendance at seminars is optional but recommended.
- Seminars are conducted by
- Matej Hudak (subseth.mato@gmail.com)
- Schedule of seminars is
- Wed (17:20) - Room I-H3
- Other collaborators and authors: Juraj Onderik
Homeworks
- You can get max 100% per homework. Submission after deadline is for 0%.
- There is a min 50% of your final evaluation required for admission to final term.
- Additional activity can be awarder by max 10% of your final evaluation.
- Don't cheat - create instead. Any kind of cheating is punished by withholding 30% of your final evaluation for all involved students.
- As a homework, you will program what we could not finish during the exercise. Assignment and template will be downloadable from this site. See exercises.
- Homework must be submitted by email to cg2.2014.hw@gmail.com every week until the next Wednesday 17:20.
- Your submission email must have title in form 'ExNN' where NN is the number of exercise, eg. Ex05.
- It is required to submit zipped source code of your homework (preferably the whole solution). Do not send executable files. Homework without the source code is for 0%.
- Your code should be well formatted and commented. Titles of functions, classes, variables should be representative for their purpose. Homework without appropriate comments is for 0%.
- There are ~12 homeworks during the semester. This number can change due to holidays, tech. problems etc.
- Your Evaluation
Exercises
Exercise00 [19.02.2014] "Introduction"
- Motivation?
- Theory / Reading?
- Practice?
- Intro to c#?
- Visual c# 2010, c# 4.0 in a Nutshell
- Visual Shortcuts, SharpDevelop Short cuts
- Exercise "Vectors and Matrices" - CG1
Exercise01 [26.02.2014] "Ray Casting"
- Implement a camera class suitable for the ray casting method. As usual you should use a similar functionality as in the sample application. Application should specifically be able to:
- Render the scene (objects are movable).
- Move the camera in a 3D space.
- Change the camera's field of view (larger angle = more space to render), see Blender camera.
- Try to change the color of the intersected object due to distance from the camera
- '[2 bonus %]:
- Create a camera which will rotate around defined point P (target) along a sphere with r = 1. You can use ideas from the Blender camera system and / or two-angle camera in openGL. Camera should use some sort of interactivity (2 angles) and targeted point P should be movable. Bonus camera can be created in a separated solution or you can change the structure in the template to implement two different cameras.
- Sample | Template
- Deadline: 12.3 - 17:20
Exercise02 [12.03.2014] "Primitives"
- Improve your tracer by adding few primitives (ring, sphere, AABB box, triangle). Each object should be movable. As usual you should use a similar functionality as in the sample application.
- '[1 bonus %]:
- Create also an infinite cylinder and infinite cone primitives
- Sample | Template