Welcome to Software Engineering Lab!

This is the homepage for the 5th-year Software Engineering Lab course in the Department of Science and Technology at International College of Technology (ICT), Kanazawa.

Keywords

  1. Software Engineering
  2. Computer Graphics
  3. Rendering
  4. Software Frameworks
  5. Team Development

Learning Objectives

Software Engineering is a practice-oriented discipline. This course provides students with hands-on experiences for efficiently developing object-oriented software products using software engineering techniques. In addition, students will have an opportunity to develop the necessary teamwork skills including leadership, collaboration, sharing responsibilities through roles, and continuous learning in a team-based computer graphics software project.

Course Description

Students will have an opportunity to practice the software engineering techniques they learned in previous years and apply them to the domain of computer graphics. The course begins with teaching the basics of computer graphics through hands-on exercises that build a computer graphics framework with Python and OpenGL. The students will then use their computer graphics frameworks to create a software application in a team development project.

Content

This website provides notes from the instructor in the form of Posts. Each post is dated and made available in chronological order.

The contents follow the textbook “Developing Graphics Frameworks with Python and OpenGL” which is available for purchase or from open access. The authors also have a video playlist of all the chapter contents on YouTube.

Recent Posts

9_Rendering 3D Scenes

48 minute read

In this lesson, we implement the classes Geometry and Material for handling all the attributes, vertices, shader programs, uniform data, and rendering settin...

8_The Scene Graph

27 minute read

This lesson explains the scene graph which is a useful structure for 3D scenes that contain many objects and relationships. In the 3D Objects section we int...

7_Enter the Matrix

25 minute read

In this lesson, we apply what we learned about calculating geometric transformations to build a Matrix class and integrate it with our CG framework.

6_Geometric Transformations

36 minute read

This lesson explains the mathematical concepts behind matrix calculations for common transformations in computer graphics including scaling, rotation, transl...

5_Vectors and Matrices

27 minute read

In this lesson we review the mathematical foundations that make geometric transformations possible in computer graphics: vectors and matrices.

4_Animation and Interactivity

41 minute read

In this lesson, we introduce uniform data for use in animations and keyboard events for greater interaction with the application.

3_Drawing Shapes

29 minute read

In this lesson, we add a class to our framework to simplify the use of vertex buffers and then use the class to draw shapes with multiple vertices and colors.

2_Windows and Points

32 minute read

This lesson introduces the basic framework components for creating an application window and rendering a point on the screen.

1_Getting Started

17 minute read

OpenGL programming in Python requires a little effort to set up the development environment. This post tells you how.