Skip to content

i3t-tool/i3t

Repository files navigation

I3T

I3T - An Interactive Tool for Teaching Transformations

I3T is an educational application that allows the study of 3D transformations and their hierarchy in an illustrative way.

It is the result of the work of students of three Parts of the Czech Technical University in Prague:

  • The Department of Computer Graphics and Interaction of the Faculty of Electrical Engineering,
  • The Department of Computer Science of the Faculty of Electrical Engineering,
  • The Faculty of Information Technology.

I3T

Start I3T and try the Tutorials. Or read the manual.

Authors

The first version of I3T was created by Michal Folta in 2016.

  • Martin Herich
  • Jaroslav Holeček
  • Dan Rakušan
  • Adam Loucký
  • Miroslav Müller
  • Vít Zadina
  • Filip Uhlík

Design

  • Lukáš Pilka
  • Jaroslav Kolář

Info for the developers

Pay attention to project code style.

Build

You will need C++23 compiler with support for std::expected, see compiler support for more information about compiler versions.

For more information about building the project, see build instructions.

Build documentation

For local documentation build, you will need Node.js installed.

npm install
npm run docs:dev

Project structure

Data/                       All Assets (fonts, models, scenes, textures, tutorials,...)
Dependencies/               Directory with external dependencies.
Docs/
    - assets/
    - developer-guide/
    - Doxygen/
Source/
    - Commands/             Commands for the command pattern.
    - Core/                 Core of the application.
    - GUI/                  ImGui windows, dialogs, elements.
        - Elements
            - Dialogs/      
            - Modals/
            - Nodes/       
            - Windows/      
        - ImGui/            Implementation of ImGui backend.
Test/                       Unit tests, copies structure of the Source/ directory.

Contributing

Please make sure, that you include only source code and files needed for building or running the application (configuration, data) to version control.

Code style

See code style for more information.

Documentation

Manual is available here.

Used libraries