Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Licenţă
Domeniul: Informatică
Programul de studii: Informatică - în limba engleză
Limba de predare: Engleză

SYLLABUS

I. General data
Code	Subject	
MII0003	Virtual Reality	

Semester	Hours: C+S+L	Category	Status	
6	2+0+2	speciality	optional	

II. Full status faculty members
Name and	Scientific	Didactic	Chair	Type of activity	
surname	title	title		C	S	L	
BOIAN Rares Florin	Ph.D.	Lect.	Computer Systems	*			

Associated faculty members
Name and	Scientific	Institution	Type of	Type of activity	
surname	title		position	C	S	L	

III. Course objectives
Introducing the students to virtual reality environment programming. The students should learn the following concepts: general structure of a virtual reality application, human interaction with the virtual environment through the use of input devices, modeling (visual, physical, tactile, and force), and character animation. In the end the students should be able to create a multi-sensory, interactive virtual reality application.	

IV. Course contents
The course will present the following major subjects:
1.	Ray-tracing as means to introducing the students to the geometrical concepts needed in VR programming
2.	OpenGL programming. Creation and animation of articulated models.
3.	General structure of a VR application
4.	Scene graph and node types
5.	Delta3D engine	

V. Bibliography
1.	CRAIG J.J., Introduction to Robotics: Mechanics and Control (3rd edition), Prentice Hall, 2003
2.	BURDEA G.C., COIFFET P., Virtual Reality Technology, Second Edition with CD-ROM, Wiley-IEEE Press, 2003
3.	FOLEY J.D., VAN DAM A., FEINER S.K., HUGHES J.F, Computer Graphics: Principles and Practice in C (2nd Edition), Addison-Wesley Professional, 1995
4.	OpenGL Architecture Review Board, SHREINER D, WOO M., NEIDER J., OpenGL(R) Programming Guide: The Official Guide to Learning OpenGL(R), Version 2 (5th Edition), Addison-Wesley Professional, 2005
5.	ERICSON C. Real-Time Collision Detection, Morgan Kaufmann, 2004
6.	*** Delta3D Documentation, http://www.delta3d.org/
7.	*** Crystal Space 3d Documentation, http://www.crystalspace3d.org	

VI. Thematic of didactic activities per weeks
Lectures
Weeks 1 - 3
1.	Introduction to virtual environments, input/output devices, state of the art
2.	Scene definition
3.	Ray tracing

Weeks 4 – 6
4.	Virtual object modeling (geometric primitives, custom build geometries)
5.	Virtual reality application architecture
6.	Position and orientation representation (position vector, Euler angles, orientation matrix,
7.	OpenGL introduction
8.	Articulated models, matrix stack manipulation

Weeks 7 - 9
9.	Scene graph (reference frames, node hierarchy, node types, light nodes, fog)
10.	Scene optimizations (level of details, textures, cell-segmentation)
11.	Delta3D introduction

Weeks 9 - 12
12.	Collision detection
13.	Simulating spatial phenomena (fog, smoke, fire, fluids)
14.	Physical engines
15.	Character animation

Laboratories
   1. Introduction to VR modeling tools (Blender)
   2. Ray Tracing and geometrical concepts
   3. Ray Tracing
   4. OpenGL introduction
   5. OpenGL articulated robot
   6. OpenGL articulated robot
   7. Delta3D Introduction
   8. Delta3D – Final project
   9. Delta3D – Final project
  10. Delta3D – Final project
  11. Delta3D – Final project
  12. Presentation	

VII. Didactic methods used
The main teaching methods used in the course are: exposition, discussions, individual study, home-works, quizzes, practical projects. The lectures are based on the bibliography entries presented above: books, articles, web-sites. The practical projects are solved during the lab hours and at home. The projects are either programming or administrative assignments to be implemented on the operating system being studied.	

VIII. Assessment
The students have to submit during the semester several lab projects and one large semester project. The final grade is a weighted mean between the lab projects average which accounts for 40% of the final grade, and the semester project grade which accounts for 60% of the final grade.

Course requirements and details can be found on the course web-site:
http://www.cs.ubbcluj.ro/~rares/course/ie/vr	

IX. Additional references

	Dean,							Chair head,

	Date,							Course responsible,
								Lect. BOIAN Rares Florin, Ph.D.