CGT 345 - Simulation & Gaming
This course will provide foundational knowledge of game development processes and technologies. Prior programming experience in programming is required. Prior experience in animation and modeling software is strongly recommended. This course is focused upon the mechanics of games and game development workflow. Though creativity is always important, creating functionally correct games and game mechanics is the primary focus of this course. The course will focus upon the knowledge domains of programming, art asset creation, game design, and technical skills development. Students will be expected to be competent in all four areas while choosing one specific area for mastery. As game development is an applied discipline, this course uses an active learning approach that minimizes passive lecture time in favor of guided in-class exercises, extensive lab assignments, and independent reading and learning activities.
CGT 445 - Video Game Design & Development
This course examines video game design and development from an aesthetic, psychological, and technical perspective. Students will gain applied experience with a commercial game development platform by means of a series of individual or group exercises they will conduct in weekly lab sessions. This course is oriented toward game design concepts and theories; the lab sessions provide an opportunity for students to apply these concepts while developing proficiency with professional game development software. Students are expected to exercise creativity and innovation and are required to develop their ideas into a standalone, commercially viable product. An in-depth research paper examining a particular aspect of game design and development is also required. Advanced game development techniques will be taught in this course; as such students are expected to have a base level of proficiency as a programmer, or to be experienced with a visual game development environment prior to enrollment.
CGT 581-G - Digital Games Research
This course instructs students in current methods of conducting research on digital games, ludology, and the game development process. Topics covered in the course include: biofeedback, user experience, gameplay measurement and analysis, development pipelines, publication strategies and methodologies, LaTeX document preparation, simulation, and quantitative and qualitative approaches to conducting research in the field of digital and traditional games.
CGT 581 - Cross-Cultural Games Development
Covers current methods of conducting research on digital games, ludology, and the game development process. Topics include: biofeedback, user experience, gameplay measurement and analysis, development pipelines, publication strategies and methodologies, LaTeX document preparation, simulation, and quantitative and qualitative approaches to conducting research in the field of digital and traditional games.
Animation and Modeling Courses
CGT 241 - Introduction to Computer Animation
This is a hands-on survey course that covers all the fundamental disciplines and practices associated with the production of 3D Animation. Emphasis is placed on foundational skills of 3D Polygon Modeling of both organic and inorganic objects, UV Unwrapping, and Texturing. Additional concepts covered include Character Rigging and Posing, Rendering, Cinematics, Keyframe Animation, and Story Development. Serving as both a comprehensive course for the aspiring 3D hobbyist and a starting point for the aspiring 3D professional, this course covers a full gamut of topics in 3D Animation.
CGT 340 - Digital Lighting and Rendering
This course focuses on the body of knowledge and technology associated with the discipline of 3D Lighting and Rendering. Lighting techniques will include the application of Global Illumination, Final Gathering, Light Linking, Ambient Occlusion, and Participating Media. Rendering will be pushed to new levels using cutting edge Mental Ray Shaders, Render Passes, Motion Blur, Depth of Field, Dynamics, and Particle Systems. Artistic concepts of Color Temperature and Composition will be explored alongside technical matters of the Bidirectional Reflectance Distribution Function in an effort to produce portfolio quality renders.
CGT 215 - Computer Graphics Programming I
This course provides a working knowledge of C++ for computer graphics students. No prior programming experience is required. The course provides the basis for developing Object-Oriented applications and teaches how to write, compile, build, and debug an application. The principal objective is to provide comprehensive working knowledge of programming fundamentals to computer graphics students for use in future CGT courses such as game design and development, visualization, simulation, mobile development, animation and modeling, web programming, or any other course where programming is involved. As computer programming is an applied discipline, this course uses an active learning approach that minimizes passive lecture time in favor of guided in-class exercises, extensive lab assignments, and independent reading and learning activities.
CGT 521 - Computer Graphics Programming
Students will learn the 2D and 3D graphics programming in C/C++ using OpenGL, GLUT, and GLUI. The course is build on the most advanced OpenGL standards (OpenGL 4.1) such as GLSL, vertex buffer objects, shaders programming, etc. It shows the fully object-oriented approach to building a real-time engine for interactive displaying large scenes.
CGT 581-8 - Applied Perceptualization
There is a shift towards the synergistic usage of different areas of science such as the convergence of computer graphics, haptics, and scientific computing. The role of perceptualization in simulating and interpreting data, objects, and environments has become an important aspect in research and industry. This course provides students with principles and a working knowledge of perceptualization, visualization, haptics, and physics-based simulation in Computer Graphics. The course includes the creation of visuohaptic simulations for various applications such as scientific visualization and virtual-reality based learning environments.
CGT 621 - Graphics Processing Unit Computing
This course provides a working knowledge of many core computing using CUDA in C and C++. CUDA is the platform independent industrial standard API and leading edge technology for many core computing. The course focuses on utilizing GPU for advanced tasks of scientific computing, on sequential tasks parallelization, on creating real-time and interactive applications, and on orchestrating CUDA and OpenGL to provide real-time visual analytics tools. The course is structured into several blocks: parallel programming and synchronization tasks, GPU architecture, CUDA programming model, CUDA-OpenGL interoperability, and the thrust library.