SlideShare una empresa de Scribd logo
1 de 7
Descargar para leer sin conexión
Concordia University
                   Department of Computer Science and Software Engineering
                              COMP371: Computer Graphics
                             TENTATIVE COURSE OUTLINE
                                    (Revision 1.5)

COMP371                                                                         Winter 2012
Course instructor:          Serguei A. Mokhov                        mokhov@cse.concordia.ca
Lab instructor:             Kaustubha Mendhurwar                  k_mendhu@encs.concordia.ca
Lab instructor:             Sriram Srinivas Chandrasekhar           sr_cha@encs.concordia.ca
Coordinator:                Thomas Fevens                            fevens@cse.concordia.ca

Instructors
Lectures
   • S. Mokhov (Sec. R, Mondays and Wednesdays 13:15 - 14:30, H929)

Office Hours

   • Office hours are by appointment. Contact me in class or by email mokhov@cse.concordia.ca
     to set one up.

Lab Sessions
   • K. Mendhurwar (Wednesdays, 16:15-18:05, H817)

   • S. Chandrasekhar (Thursdays, 14:45-16:35, H849)

Official labs start the week of Monday January 9, 2012. Both lab days are expected to cover the
same material, so you are not required to attend both sessions; though if you would like to or ask
additional questions you may attend both as long as there is enough space for the regular attendees.

Course Coordinator
Dr. T. Fevens is the coordinator for this term. He can be contacted at his office (room EV3.157)
by phone (848-2424 ext. 3038) or by e-mail at fevens@cse.concordia.ca.


Course
Description Quoted from the Academic Calendar
Introduction to computer graphics and graphics hardware. Introduction to graphics API and
graphics systems architecture. Mathematics of 2D and 3D transformations, and 2D and 3D view-
ing. Colour and basic rendering algorithms. Visual realism and visibility. Illumination and shading,
global illumination techniques, and textures. Introduction to curves and surfaces, and 3D object
modelling. Introduction to computer animation. Project. Lectures: three hours per week. Labo-
ratory: two hours per week.

Objectives
This course introduces basic techniques and concepts for 2D and 3D (non-stereoscopic) computer
graphics (CG), including 2D and 3D transformations, modeling and representation, illumination
and shading, rendering, texturing, animation, some game physics, and some related software tools.
The students are expected to learn fundamental algorithms, methodologies, and techniques and
gain experience in graphics programming; in particular, how to program in OpenGL, a powerful
software library interface used to produce high-quality computer-generated images of 2D and 3D
objects.

Concrete Topics (tentative)
   • Historical perspective and some fundamental issues in hardware, software, and applications
     in relationship to CG.

   • Overview of OpenGL programming.

   • OpenGL 2D and 3D geometric primitives.

   • Geometrical 2D and 3D transformations.

   • Common graphics algorithms.

   • Colors, including human color-vision system, various color-description systems, and rules for
     the effective use of color in OpenGL.

   • Lighting: how to compute light intensity at surface points using different illumination models.

   • Shading and shadows to increase realism.

   • Blending, antialiasing, fog: discrete techniques to enhance the reality of the scene.

   • Curve and surface representation: types of curves and surfaces representations.

   • Texture mapping: how to fill object surface with 2D textures.

   • Ray tracing, collision detection, animation, global illumination.

Drop Deadlines
   • DNE: Monday, January 16, 2012

   • DISC: Sunday, March 4, 2012




                                                 2
Tentative Schedule
 Week Dates                What (lecture time)                       Deliverable                            Due
     1 Wed, January 4      Course Introduction and Outline
                           OpenGL Overview Begin
                           OpenGL Overview End;
      2 Mon, January 9     Object Modeling and Triangulation
        Wed, January 11    Vectors and Matrices                      (labs begin); PA1 out; TA1 out
      3 Mon, January 16    2D Transformations
        Wed, January 18    3D Transformations
      4 Mon, January 23    3D Viewing
        Wed, January 25    Graphics Algorithms
      5 Mon, January 30    Quiz 1                                    TA1 due; Quiz 1: TA1+OpenGL; TA2 out   Mon Jan 30
        Wed, February 1    Color
      6 Mon, February 6    Visibility                                PA1 due + demos; PA2 out               Mon Feb 6 13:00
        Wed, February 8
      7 Mon, February 13   Quiz 2                                    TA2 due; Quiz 2: TA2+OpenGL            Mon Feb 13
        Wed, February 15   Texture Mapping                           PA2 due; PA3 out; Project out          Sun Feb 19 23:59
      8 Mon, February 20   Midterm break
        Wed, February 22
      9 Mon, February 27   Illumination and Shading                  PA2 demos
        Wed, February 29
     10 Mon, March 5       Shadows, Radiosity, Ray Tracing/Casting   Quiz 3 (lab): PA1                      Wed Mar 7 16:15
        Wed, March 7                                                 Quiz 3 (lab): PA1                      Thu Mar 8 14:45
     11 Mon, March 12      Curves and Surfaces                       PA3 due + demos                        Mon Mar 12 13:00
        Wed, March 14
     12 Mon, March 19      Curves and Surfaces (cont'd)              Quiz 4 (lab): PA2+PA3                  Wed Mar 21 16:15
        Wed, March 21                                                Quiz 4 (lab): PA2+PA3                  Thu Mar 22 14:45
     13 Mon, March 26      Animation
        Wed, March 28      Project Demos                             Project due + demos                    Tue Mar 27 23:59
     14 Mon, April 2       T.B.D.
        Wed, April 4       T.B.D.




Laboratory
For the most of our needs you will use the ENCS-managed labs located at H817 and H849 running
Windows 7 and Scientific Linux 5.7, both 32-bit. The development takes place in Microsoft Visual
Studio 2010 in the former and, gcc and g++ [1] under Linux. OpenGL libraries and Nvidia drivers
are installed under both OSes. The details will be presented during labs and lectures on some
specific techniques and tricks to help you advance in your programming deliverables. In the lab,
you will also have demos of your work and possibly programming quizzes.


Textbook
There is a great variety of references on the subject. The following particular textbook will be
used for this course: [2]. This book is a great introduction to computer graphics and OpenGL. It
includes sample OpenGL code and also the basic mathematical algorithms you need for computer
graphics programming. Copies are available at Concordia University bookstore. While this is the
newest edition, the older version [3] is still much the same, so if you have the older copy, you can
still use it. The code for the exercises that comes with the book is freely available to download:
     http://esminfo.prenhall.com/computing/hearnbaker/Code.zip
There are additional useful books on the subject that we may refer to for one concept or another
throughout the class. They are listed under in the “References” section: [4, 5, 6, 7, 8, 9, 10, 11, 12,


                                                                3
13, 14]. [5] is freely available online and is generally sufficient for our course. Edition 8 [7] is slated
to be released in March 2012 covering the latest features of OpenGL 4.x, among other things.


Administrative Policies
Evaluation
Grades will be based on the following tentative components:

  1. Homework [0%]: 2-3 theory assignments. These concern with different math and linear
     algebra problems related to graphics. They are optional to solve, and you get no grades for
     them, but the material from the assignments is sure to appear on the quizzes.

  2. Quizzes [15%×4]: The quizzes would cover the theoretical and practical aspects of the course.
     Potentially 2 of the quizzes will be held in the lab and involve graphics programming tasks
     based on your project.

  3. Project [40%]: a team graphics programming project and a report; tentatively broken down
     into the following deliverables:

       (a) 5% Programming Assignment 1 (PA1): Modeling
       (b) 10% Programming Assignment 2 (PA2): Lighting and Camera Control
       (c) 10% Programming Assignment 3 (PA3): Texture mapping
       (d) 15% Final: animation, demo, report with the software design and user manual

  4. Failing grade: blatant plagiarism or/and lack of regular effort will result in the failing grade.

NOTE: There is no a priori rule for translation of a numerical grade to a letter grade.
Electronic submission is expected via EAS (https://fis.encs.concordia.ca/eas). Additional
details will be given in the class or via the mailing list. Students may discuss but must not copy or
allow others to copy any part of their deliverables. Violators will lose all of their marks of the work
and may be subject to other disciplinary actions. Students should be aware of the University’s Code
of Conduct (academic) as specified from the page 53 of the 2011-2012 Undergraduate Calendar,
especially the parts concerning cheating, plagiarism, and the possible consequence of violating this
code. Late submissions will be treated on a case-by-case basis.
NOTE: This course outline is tentative, i.e. subject to changes and adjustments as we go along.

Contribution
In usual circumstances, it is expected that all members of a group end up with the same mark.
However, this must not be considered as a rule. For reasons of fairness, different evaluations will
be considered to award those who provided outstanding input to the project, and to penalize those
who provided minimal (below expectations) input to the project in case of disputes within the
team. The team members would be expected to provide individual logs and timesheets of their
contributions in the case of disputes.


                                                   4
Course Web Page and Mailing List
These are two more resources to be used frequently. The additional materials, grades, etc. will be
published on the web page at:
    http://users.encs.concordia.ca/~comp371_4/
A mailing list has been created for discussion of the course topics among students and the instruc-
tors; to ask and answer questions related to the course, etc. All the announcements will be directed
to that list as well. All the students and instructors must be subscribed to the mailing list. URL
(to change your subscription settings):
    https://mail.encs.concordia.ca:444/mailman/listinfo/comp371-w12
To to post a message to the entire class for discussion or announcement, email:
    comp371-w12@encs.concordia.ca

Additional Materials
Additional materials, such as lecture notes and slides, examples, etc. will be provided by the
instructor whenever possible. The instructor will try his best to make the notes concise and
complete as much as possible, but they cannot replace the entire set of the referenced material.
Some material may be borrowed from previous instructors for this or related courses, such as from
Drs. Sudhir P. Mudur, Peter Grogono, Thomas Fevens, Adam Krzyzak, Abdelssalem Ben Hamza,
Clement Lam, Nizar Bouguila and others, whom the instructor Mokhov acknowledges with many
thanks.


The Project
The project represents a significant component of the course. The project will be developed as
a cooperative (group) project. Each group will be composed of about 3-5 students. The project
requirements will be published and presented around the second or third lecture. The final deliv-
erables of the project will have to be made with good quality.

Legal Statement
The final project is your property but it is also the property of everyone who shared a part of the
realization of this project. You must notice that Concordia University has the full right to make
whatsoever use of this project and without any restrictions. Please notice that previous projects
may be made available to assist you with your project. In the same context, your project may be
made available to help other students in the future.


Student Services
Need help? There are a variety student services available to you should you struggle through your
studies and if the instructor for some reason is unable to help you. They are:

   • One-stop information site on many questions:
     http://www.concordia.ca/help4u/

                                                 5
• Concordia Counseling and Development offers career services, psychological services, student
    learning services, etc.
    http://cdev.concordia.ca

  • The Concordia Library Citation and Cycle Guides:
    http://library.concordia.ca/help/howto/citations.html

  • Advocacy and Support Services:
    http://supportservices.concordia.ca

  • Student Transition Centre:
    http://stc.concordia.ca

  • New Student Program:
    http://newstudent.concordia.ca

  • Office for Students with Disabilities:
    http://supportservices.concordia.ca/disabilities/

  • The Academic Integrity Website:
    http://provost.concordia.ca/academixintegrity/

  • Financial Aid & Awards:
    http://web2.concordia.ca/financialaid/

  • Health Services:
    http://www-health.concordia.ca/



References
[1] Various Contributors and the GNU Project. GNU Compiler Collection (GCC). [online], 1988–
    2009. http://gcc.gnu.org/onlinedocs/gcc/.

[2] Donald Hearn, M. Pauline Baker, and Warren Carithers. Computer Graphics with OpenGL.
    Prentice Hall, 4 edition, November 2010. ISBN: 978-0136053583.

[3] Donald Hearn and M. Pauline Baker. Computer Graphics with OpenGL. Prentice Hall, 3
    edition, August 2003. ISBN: 0-13-015390-7.

[4] OpenGL Architecture Review Board. OpenGL. [online], 1998–2011. http://www.opengl.org.

[5] Mason Woo, Jackie Neider, Tom Davis, Dave Shreiner, and OpenGL Architecture Review
    Board. OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 1.2.
    Addison-Wesley, 3 edition, October 1999. ISBN 0201604582, online ate http://fly.cc.
    fer.hr/~unreal/theredbook/, code samples: http://www.opengl.org/resources/code/
    samples/redbook/.



                                              6
[6] Dave Shreiner and The Khronos OpenGL ARB Working Group. OpenGL Programming Guide:
     The Official Guide to Learning OpenGL, Versions 3.0 and 3.1. Addison-Wesley, 7 edition, July
     2009. ISBN 978-0321552624.

 [7] Dave Shreiner, The Khronos OpenGL ARB Working Group, Bill Licea-Kane, and Graham
     Sellers. OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.1.
     Addison-Wesley, 8 edition, March 2012. ISBN 978-0321773036.

 [8] Peter Grogono. Getting started with OpenGL. [online], 2002. Department of Computer Science
     and Software Engineering, Concordia University, Montreal, Canada.

 [9] Peter Grogono. Lecture notes of advanced computer graphics. [online], 2002. Department of
     Computer Science and Software Engineering, Concordia University, Montreal, Canada.

[10] Peter Grogono. Concordia University Graphics Library (CUGL). [online], December 2005.
     http://users.encs.concordia.ca/~grogono/Graphics/cugl.html.

[11] Randi J. Rost. OpenGL Shading Language. Pearson Education, Inc., February 2004. ISBN:
     0-321-19789-5.

[12] Paul Rademacher, Nigel Stewart, and Bill Baxter. GLUI – A GLUT-based user interface
     library, version 2.35. [online], 1999–2006. http://glui.sourceforge.net/.

[13] CodeColony. OpenGL Colony tutorials and demos. [online], 2008. http://www.codecolony.
     de/.

[14] Jimmy Wales, Larry Sanger, and other authors from all over the world. Wikipedia: The free
     encyclopedia. [online], Wikimedia Foundation, Inc., 2001–2011. http://wikipedia.org.




                                              7

Más contenido relacionado

Similar a Outline

CSE202.pptx
CSE202.pptxCSE202.pptx
CSE202.pptxJoyBoy45
 
OBE_ICE2151 Discrete Mathematics.docx
OBE_ICE2151 Discrete Mathematics.docxOBE_ICE2151 Discrete Mathematics.docx
OBE_ICE2151 Discrete Mathematics.docxSubrata Kumer Paul
 
Module handout for COM839 - Intelligent Systems [Word format]
Module handout for COM839 - Intelligent Systems [Word format]Module handout for COM839 - Intelligent Systems [Word format]
Module handout for COM839 - Intelligent Systems [Word format]butest
 
1Computer Graphics new-L1-Introduction to Computer Graphics.pdf
1Computer Graphics new-L1-Introduction to Computer Graphics.pdf1Computer Graphics new-L1-Introduction to Computer Graphics.pdf
1Computer Graphics new-L1-Introduction to Computer Graphics.pdfYomna Mahmoud Ibrahim Hassan
 
Computer Graphics - Lecture 00 - Introduction
Computer Graphics - Lecture 00 - IntroductionComputer Graphics - Lecture 00 - Introduction
Computer Graphics - Lecture 00 - Introduction💻 Anton Gerdelan
 
Wavelet, Wavelet Image Compression, STW, SPIHT, MATLAB
Wavelet, Wavelet Image Compression, STW, SPIHT, MATLABWavelet, Wavelet Image Compression, STW, SPIHT, MATLAB
Wavelet, Wavelet Image Compression, STW, SPIHT, MATLABManish Tiwari
 
Ics2311 l00 overview of computer graphics
Ics2311 l00 overview of computer graphicsIcs2311 l00 overview of computer graphics
Ics2311 l00 overview of computer graphicsbridgekloud
 
Oop project briefing sem 1 2015 2016
Oop project briefing  sem 1 2015 2016Oop project briefing  sem 1 2015 2016
Oop project briefing sem 1 2015 2016IIUM
 
Oop project briefing sem 1 2015 2016 (1)
Oop project briefing  sem 1 2015 2016 (1)Oop project briefing  sem 1 2015 2016 (1)
Oop project briefing sem 1 2015 2016 (1)IIUM
 
A 4° REVOLUÇÃO INDUSTRIAL AINDA CAUSA IMPACTO DENTRO DAS SALAS DE AULA SOBRE ...
A 4° REVOLUÇÃO INDUSTRIAL AINDA CAUSA IMPACTO DENTRO DAS SALAS DE AULA SOBRE ...A 4° REVOLUÇÃO INDUSTRIAL AINDA CAUSA IMPACTO DENTRO DAS SALAS DE AULA SOBRE ...
A 4° REVOLUÇÃO INDUSTRIAL AINDA CAUSA IMPACTO DENTRO DAS SALAS DE AULA SOBRE ...CecliaSantana3
 
Computer graphics homework help
Computer graphics homework helpComputer graphics homework help
Computer graphics homework helpjohn mayer
 
Artificial Intelligence Using PROLOG Course Notes (INF-382-99)
Artificial Intelligence Using PROLOG Course Notes (INF-382-99)Artificial Intelligence Using PROLOG Course Notes (INF-382-99)
Artificial Intelligence Using PROLOG Course Notes (INF-382-99)Lori Mitchell
 
2 d essentials class 1
2 d essentials class 1 2 d essentials class 1
2 d essentials class 1 laura_gerold
 
Obop 210 intro to python programming environment
Obop 210 intro to python programming environmentObop 210 intro to python programming environment
Obop 210 intro to python programming environmentEmmanuel Chinkaka
 

Similar a Outline (20)

CSE202.pptx
CSE202.pptxCSE202.pptx
CSE202.pptx
 
OBE_ICE2151 Discrete Mathematics.docx
OBE_ICE2151 Discrete Mathematics.docxOBE_ICE2151 Discrete Mathematics.docx
OBE_ICE2151 Discrete Mathematics.docx
 
Module handout for COM839 - Intelligent Systems [Word format]
Module handout for COM839 - Intelligent Systems [Word format]Module handout for COM839 - Intelligent Systems [Word format]
Module handout for COM839 - Intelligent Systems [Word format]
 
1Computer Graphics new-L1-Introduction to Computer Graphics.pdf
1Computer Graphics new-L1-Introduction to Computer Graphics.pdf1Computer Graphics new-L1-Introduction to Computer Graphics.pdf
1Computer Graphics new-L1-Introduction to Computer Graphics.pdf
 
lecture1.ppt
lecture1.pptlecture1.ppt
lecture1.ppt
 
lecture1.ppt
lecture1.pptlecture1.ppt
lecture1.ppt
 
2005%5CCOMP202-Sem1
2005%5CCOMP202-Sem12005%5CCOMP202-Sem1
2005%5CCOMP202-Sem1
 
2005%5CCOMP202-Sem1
2005%5CCOMP202-Sem12005%5CCOMP202-Sem1
2005%5CCOMP202-Sem1
 
Computer Graphics - Lecture 00 - Introduction
Computer Graphics - Lecture 00 - IntroductionComputer Graphics - Lecture 00 - Introduction
Computer Graphics - Lecture 00 - Introduction
 
Wavelet, Wavelet Image Compression, STW, SPIHT, MATLAB
Wavelet, Wavelet Image Compression, STW, SPIHT, MATLABWavelet, Wavelet Image Compression, STW, SPIHT, MATLAB
Wavelet, Wavelet Image Compression, STW, SPIHT, MATLAB
 
Ics2311 l00 overview of computer graphics
Ics2311 l00 overview of computer graphicsIcs2311 l00 overview of computer graphics
Ics2311 l00 overview of computer graphics
 
Face Detection And Tracking
Face Detection And TrackingFace Detection And Tracking
Face Detection And Tracking
 
Oop project briefing sem 1 2015 2016
Oop project briefing  sem 1 2015 2016Oop project briefing  sem 1 2015 2016
Oop project briefing sem 1 2015 2016
 
Oop project briefing sem 1 2015 2016 (1)
Oop project briefing  sem 1 2015 2016 (1)Oop project briefing  sem 1 2015 2016 (1)
Oop project briefing sem 1 2015 2016 (1)
 
A 4° REVOLUÇÃO INDUSTRIAL AINDA CAUSA IMPACTO DENTRO DAS SALAS DE AULA SOBRE ...
A 4° REVOLUÇÃO INDUSTRIAL AINDA CAUSA IMPACTO DENTRO DAS SALAS DE AULA SOBRE ...A 4° REVOLUÇÃO INDUSTRIAL AINDA CAUSA IMPACTO DENTRO DAS SALAS DE AULA SOBRE ...
A 4° REVOLUÇÃO INDUSTRIAL AINDA CAUSA IMPACTO DENTRO DAS SALAS DE AULA SOBRE ...
 
Computer graphics homework help
Computer graphics homework helpComputer graphics homework help
Computer graphics homework help
 
Artificial Intelligence Using PROLOG Course Notes (INF-382-99)
Artificial Intelligence Using PROLOG Course Notes (INF-382-99)Artificial Intelligence Using PROLOG Course Notes (INF-382-99)
Artificial Intelligence Using PROLOG Course Notes (INF-382-99)
 
2 d essentials class 1
2 d essentials class 1 2 d essentials class 1
2 d essentials class 1
 
Obop 210 intro to python programming environment
Obop 210 intro to python programming environmentObop 210 intro to python programming environment
Obop 210 intro to python programming environment
 
DIP_Lecture.ppt
DIP_Lecture.pptDIP_Lecture.ppt
DIP_Lecture.ppt
 

Último

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 

Último (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 

Outline

  • 1. Concordia University Department of Computer Science and Software Engineering COMP371: Computer Graphics TENTATIVE COURSE OUTLINE (Revision 1.5) COMP371 Winter 2012 Course instructor: Serguei A. Mokhov mokhov@cse.concordia.ca Lab instructor: Kaustubha Mendhurwar k_mendhu@encs.concordia.ca Lab instructor: Sriram Srinivas Chandrasekhar sr_cha@encs.concordia.ca Coordinator: Thomas Fevens fevens@cse.concordia.ca Instructors Lectures • S. Mokhov (Sec. R, Mondays and Wednesdays 13:15 - 14:30, H929) Office Hours • Office hours are by appointment. Contact me in class or by email mokhov@cse.concordia.ca to set one up. Lab Sessions • K. Mendhurwar (Wednesdays, 16:15-18:05, H817) • S. Chandrasekhar (Thursdays, 14:45-16:35, H849) Official labs start the week of Monday January 9, 2012. Both lab days are expected to cover the same material, so you are not required to attend both sessions; though if you would like to or ask additional questions you may attend both as long as there is enough space for the regular attendees. Course Coordinator Dr. T. Fevens is the coordinator for this term. He can be contacted at his office (room EV3.157) by phone (848-2424 ext. 3038) or by e-mail at fevens@cse.concordia.ca. Course Description Quoted from the Academic Calendar Introduction to computer graphics and graphics hardware. Introduction to graphics API and graphics systems architecture. Mathematics of 2D and 3D transformations, and 2D and 3D view- ing. Colour and basic rendering algorithms. Visual realism and visibility. Illumination and shading,
  • 2. global illumination techniques, and textures. Introduction to curves and surfaces, and 3D object modelling. Introduction to computer animation. Project. Lectures: three hours per week. Labo- ratory: two hours per week. Objectives This course introduces basic techniques and concepts for 2D and 3D (non-stereoscopic) computer graphics (CG), including 2D and 3D transformations, modeling and representation, illumination and shading, rendering, texturing, animation, some game physics, and some related software tools. The students are expected to learn fundamental algorithms, methodologies, and techniques and gain experience in graphics programming; in particular, how to program in OpenGL, a powerful software library interface used to produce high-quality computer-generated images of 2D and 3D objects. Concrete Topics (tentative) • Historical perspective and some fundamental issues in hardware, software, and applications in relationship to CG. • Overview of OpenGL programming. • OpenGL 2D and 3D geometric primitives. • Geometrical 2D and 3D transformations. • Common graphics algorithms. • Colors, including human color-vision system, various color-description systems, and rules for the effective use of color in OpenGL. • Lighting: how to compute light intensity at surface points using different illumination models. • Shading and shadows to increase realism. • Blending, antialiasing, fog: discrete techniques to enhance the reality of the scene. • Curve and surface representation: types of curves and surfaces representations. • Texture mapping: how to fill object surface with 2D textures. • Ray tracing, collision detection, animation, global illumination. Drop Deadlines • DNE: Monday, January 16, 2012 • DISC: Sunday, March 4, 2012 2
  • 3. Tentative Schedule Week Dates What (lecture time) Deliverable Due 1 Wed, January 4 Course Introduction and Outline OpenGL Overview Begin OpenGL Overview End; 2 Mon, January 9 Object Modeling and Triangulation Wed, January 11 Vectors and Matrices (labs begin); PA1 out; TA1 out 3 Mon, January 16 2D Transformations Wed, January 18 3D Transformations 4 Mon, January 23 3D Viewing Wed, January 25 Graphics Algorithms 5 Mon, January 30 Quiz 1 TA1 due; Quiz 1: TA1+OpenGL; TA2 out Mon Jan 30 Wed, February 1 Color 6 Mon, February 6 Visibility PA1 due + demos; PA2 out Mon Feb 6 13:00 Wed, February 8 7 Mon, February 13 Quiz 2 TA2 due; Quiz 2: TA2+OpenGL Mon Feb 13 Wed, February 15 Texture Mapping PA2 due; PA3 out; Project out Sun Feb 19 23:59 8 Mon, February 20 Midterm break Wed, February 22 9 Mon, February 27 Illumination and Shading PA2 demos Wed, February 29 10 Mon, March 5 Shadows, Radiosity, Ray Tracing/Casting Quiz 3 (lab): PA1 Wed Mar 7 16:15 Wed, March 7 Quiz 3 (lab): PA1 Thu Mar 8 14:45 11 Mon, March 12 Curves and Surfaces PA3 due + demos Mon Mar 12 13:00 Wed, March 14 12 Mon, March 19 Curves and Surfaces (cont'd) Quiz 4 (lab): PA2+PA3 Wed Mar 21 16:15 Wed, March 21 Quiz 4 (lab): PA2+PA3 Thu Mar 22 14:45 13 Mon, March 26 Animation Wed, March 28 Project Demos Project due + demos Tue Mar 27 23:59 14 Mon, April 2 T.B.D. Wed, April 4 T.B.D. Laboratory For the most of our needs you will use the ENCS-managed labs located at H817 and H849 running Windows 7 and Scientific Linux 5.7, both 32-bit. The development takes place in Microsoft Visual Studio 2010 in the former and, gcc and g++ [1] under Linux. OpenGL libraries and Nvidia drivers are installed under both OSes. The details will be presented during labs and lectures on some specific techniques and tricks to help you advance in your programming deliverables. In the lab, you will also have demos of your work and possibly programming quizzes. Textbook There is a great variety of references on the subject. The following particular textbook will be used for this course: [2]. This book is a great introduction to computer graphics and OpenGL. It includes sample OpenGL code and also the basic mathematical algorithms you need for computer graphics programming. Copies are available at Concordia University bookstore. While this is the newest edition, the older version [3] is still much the same, so if you have the older copy, you can still use it. The code for the exercises that comes with the book is freely available to download: http://esminfo.prenhall.com/computing/hearnbaker/Code.zip There are additional useful books on the subject that we may refer to for one concept or another throughout the class. They are listed under in the “References” section: [4, 5, 6, 7, 8, 9, 10, 11, 12, 3
  • 4. 13, 14]. [5] is freely available online and is generally sufficient for our course. Edition 8 [7] is slated to be released in March 2012 covering the latest features of OpenGL 4.x, among other things. Administrative Policies Evaluation Grades will be based on the following tentative components: 1. Homework [0%]: 2-3 theory assignments. These concern with different math and linear algebra problems related to graphics. They are optional to solve, and you get no grades for them, but the material from the assignments is sure to appear on the quizzes. 2. Quizzes [15%×4]: The quizzes would cover the theoretical and practical aspects of the course. Potentially 2 of the quizzes will be held in the lab and involve graphics programming tasks based on your project. 3. Project [40%]: a team graphics programming project and a report; tentatively broken down into the following deliverables: (a) 5% Programming Assignment 1 (PA1): Modeling (b) 10% Programming Assignment 2 (PA2): Lighting and Camera Control (c) 10% Programming Assignment 3 (PA3): Texture mapping (d) 15% Final: animation, demo, report with the software design and user manual 4. Failing grade: blatant plagiarism or/and lack of regular effort will result in the failing grade. NOTE: There is no a priori rule for translation of a numerical grade to a letter grade. Electronic submission is expected via EAS (https://fis.encs.concordia.ca/eas). Additional details will be given in the class or via the mailing list. Students may discuss but must not copy or allow others to copy any part of their deliverables. Violators will lose all of their marks of the work and may be subject to other disciplinary actions. Students should be aware of the University’s Code of Conduct (academic) as specified from the page 53 of the 2011-2012 Undergraduate Calendar, especially the parts concerning cheating, plagiarism, and the possible consequence of violating this code. Late submissions will be treated on a case-by-case basis. NOTE: This course outline is tentative, i.e. subject to changes and adjustments as we go along. Contribution In usual circumstances, it is expected that all members of a group end up with the same mark. However, this must not be considered as a rule. For reasons of fairness, different evaluations will be considered to award those who provided outstanding input to the project, and to penalize those who provided minimal (below expectations) input to the project in case of disputes within the team. The team members would be expected to provide individual logs and timesheets of their contributions in the case of disputes. 4
  • 5. Course Web Page and Mailing List These are two more resources to be used frequently. The additional materials, grades, etc. will be published on the web page at: http://users.encs.concordia.ca/~comp371_4/ A mailing list has been created for discussion of the course topics among students and the instruc- tors; to ask and answer questions related to the course, etc. All the announcements will be directed to that list as well. All the students and instructors must be subscribed to the mailing list. URL (to change your subscription settings): https://mail.encs.concordia.ca:444/mailman/listinfo/comp371-w12 To to post a message to the entire class for discussion or announcement, email: comp371-w12@encs.concordia.ca Additional Materials Additional materials, such as lecture notes and slides, examples, etc. will be provided by the instructor whenever possible. The instructor will try his best to make the notes concise and complete as much as possible, but they cannot replace the entire set of the referenced material. Some material may be borrowed from previous instructors for this or related courses, such as from Drs. Sudhir P. Mudur, Peter Grogono, Thomas Fevens, Adam Krzyzak, Abdelssalem Ben Hamza, Clement Lam, Nizar Bouguila and others, whom the instructor Mokhov acknowledges with many thanks. The Project The project represents a significant component of the course. The project will be developed as a cooperative (group) project. Each group will be composed of about 3-5 students. The project requirements will be published and presented around the second or third lecture. The final deliv- erables of the project will have to be made with good quality. Legal Statement The final project is your property but it is also the property of everyone who shared a part of the realization of this project. You must notice that Concordia University has the full right to make whatsoever use of this project and without any restrictions. Please notice that previous projects may be made available to assist you with your project. In the same context, your project may be made available to help other students in the future. Student Services Need help? There are a variety student services available to you should you struggle through your studies and if the instructor for some reason is unable to help you. They are: • One-stop information site on many questions: http://www.concordia.ca/help4u/ 5
  • 6. • Concordia Counseling and Development offers career services, psychological services, student learning services, etc. http://cdev.concordia.ca • The Concordia Library Citation and Cycle Guides: http://library.concordia.ca/help/howto/citations.html • Advocacy and Support Services: http://supportservices.concordia.ca • Student Transition Centre: http://stc.concordia.ca • New Student Program: http://newstudent.concordia.ca • Office for Students with Disabilities: http://supportservices.concordia.ca/disabilities/ • The Academic Integrity Website: http://provost.concordia.ca/academixintegrity/ • Financial Aid & Awards: http://web2.concordia.ca/financialaid/ • Health Services: http://www-health.concordia.ca/ References [1] Various Contributors and the GNU Project. GNU Compiler Collection (GCC). [online], 1988– 2009. http://gcc.gnu.org/onlinedocs/gcc/. [2] Donald Hearn, M. Pauline Baker, and Warren Carithers. Computer Graphics with OpenGL. Prentice Hall, 4 edition, November 2010. ISBN: 978-0136053583. [3] Donald Hearn and M. Pauline Baker. Computer Graphics with OpenGL. Prentice Hall, 3 edition, August 2003. ISBN: 0-13-015390-7. [4] OpenGL Architecture Review Board. OpenGL. [online], 1998–2011. http://www.opengl.org. [5] Mason Woo, Jackie Neider, Tom Davis, Dave Shreiner, and OpenGL Architecture Review Board. OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 1.2. Addison-Wesley, 3 edition, October 1999. ISBN 0201604582, online ate http://fly.cc. fer.hr/~unreal/theredbook/, code samples: http://www.opengl.org/resources/code/ samples/redbook/. 6
  • 7. [6] Dave Shreiner and The Khronos OpenGL ARB Working Group. OpenGL Programming Guide: The Official Guide to Learning OpenGL, Versions 3.0 and 3.1. Addison-Wesley, 7 edition, July 2009. ISBN 978-0321552624. [7] Dave Shreiner, The Khronos OpenGL ARB Working Group, Bill Licea-Kane, and Graham Sellers. OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.1. Addison-Wesley, 8 edition, March 2012. ISBN 978-0321773036. [8] Peter Grogono. Getting started with OpenGL. [online], 2002. Department of Computer Science and Software Engineering, Concordia University, Montreal, Canada. [9] Peter Grogono. Lecture notes of advanced computer graphics. [online], 2002. Department of Computer Science and Software Engineering, Concordia University, Montreal, Canada. [10] Peter Grogono. Concordia University Graphics Library (CUGL). [online], December 2005. http://users.encs.concordia.ca/~grogono/Graphics/cugl.html. [11] Randi J. Rost. OpenGL Shading Language. Pearson Education, Inc., February 2004. ISBN: 0-321-19789-5. [12] Paul Rademacher, Nigel Stewart, and Bill Baxter. GLUI – A GLUT-based user interface library, version 2.35. [online], 1999–2006. http://glui.sourceforge.net/. [13] CodeColony. OpenGL Colony tutorials and demos. [online], 2008. http://www.codecolony. de/. [14] Jimmy Wales, Larry Sanger, and other authors from all over the world. Wikipedia: The free encyclopedia. [online], Wikimedia Foundation, Inc., 2001–2011. http://wikipedia.org. 7