Ondřej Baštař found out about the competition in the summer thanks to the Games course, which is a computer science course in the Open Informatics (OI) programme. "As a student in Cybernetics and Robotics study programme, I wouldn't have had a chance to hear about the course. My girlfriend studies OI and showed me the course," says Baštař, adding that he wanted to expand his knowledge of computer games beyond his own studies, which is a big hobby of his.
Vrgineers needed to design an algorithm to process images from the camera of augmented reality glasses. The challenge was to program an algorithm on a graphics card to make the image as good and sharp as possible.
Tiny letters on the dashboard
The competition was conducted remotely, but participants came to the company for ongoing consultations with their mentors.
"I first tried out the company's electric simulator for pilot training to get a feel for it and to learn what I needed to focus on. The new algorithm was to be used for training using augmented reality, which combines real physical objects and graphics. It is necessary for a person sitting in a mock-up cockpit of an airplane to see all the buttons and levers needed to control the plane in his goggles, while the graphics allow him to see the sky and everything outside the window. The most important part of the task was to program the algorithm so that the person could clearly see all the small lettering on the controls on the dashboard," says Baštař.
The production of the algorithm for transmitting the image from the VR camera consisted of three parts. First, sensors in the goggles' camera convert the colored pixels into an image, called debayerisation or demosaicing. After that, the noise has to be suppressed. The third step involves focusing, which is essential for pilots to clearly see all the tiny writing in the cockpit.
All the programming had to take place on the graphics card, a method typically used in computer games that significantly demands computing power. While the algorithm running on the processor reads the image sequentially, the graphics card has many processors and can read the image simultaneously.
Ondřej Baštař revealed that he worked on the task for about 150 hours. Half of the time was spent studying literature, which helped him to improve his skills in this more complex type of programming on the graphics card.
It's not like programming a game
Programming such an algorithm for a VR headset was much more complex than programming games, which Baštař knows. "When you make a game, you make up a story. For example, when we were developing puzzle games in the past, most of the time, my friends and I spent in front of the whiteboard thinking about future game rules. That was the most complicated. Then we programmed it," Baštař explained.
He has already won several programming competitions for students. Let's mention, for example, the regular Hackathons or last year's competition for student computer games at FEE CTU, in which his team won with the game "Peklo upeklo".
And what will he do with the hundred thousand prize money? "I invited my friends for a beer and used a small part of it to buy Christmas presents. I'm saving the rest," concludes the award-winning student, who, along with winning the competition, has also been offered a job at Vrgineers.