CG2 2014/en: Rozdiel medzi revíziami

Riadok 46: Riadok 46:
  
 
=== Exercise01 [26.02.2014] "Ray Casting" ===
 
=== Exercise01 [26.02.2014] "Ray Casting" ===
* Ray, you are not yet worthy to maintain the pixel color in the camera. I now take from you your origin, your direction and in the name of my father the Class I cast you out!
 
 
* 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

Cg2 2014.png

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"

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