An open API service indexing awesome lists of open source software.

https://github.com/streamlabs/streamlabs-gpu-assignment

Streamlabs technical C++/GPU assignment
https://github.com/streamlabs/streamlabs-gpu-assignment

Last synced: 4 months ago
JSON representation

Streamlabs technical C++/GPU assignment

Awesome Lists containing this project

README

          

# Streamlabs C++ / GPU Project

Hi there! Thank you for your interest in joining the C++ team working on the Streamlabs Desktop streaming application. Thank you so much for taking the time to read through and complete this project.

At Streamlabs we are committed to building a talented, empathic, and passionate team, which is made possible by your investment in this process. We are deeply grateful for your time, passion, and interest.

# The project

You will be building a C++ program that will render video files on the user screen. The goal is to implement a rendering pipeline using DirectX on Windows.

# Description:
- The program should read the 3 video files located in the assets folder that are sent along the assignment and render them on the screen. Feel free to decode these videos using the YUV420P pixel format.
- The surface on which they should be rendered should be a black rectangle with the following dimmension: 1600x900 pixels
- You can use the library of your choice to read and extract the video frames
- It is not necessary to output audio, you can ignore it for the purpose of this assignment
- The videos should be looping during the lifetime of the program

# What to prioritize (ranked, #1 being the most important)
1. Working solution
2. Stability
3. Performance
4. Code quality

# Please consider the following requirements:

- The operating system should be Windows 10/11
- GIT should be used along with github
- A modern version of DirectX should be used. You are free to choose the one you are most confortable with as long as it's not too old. DirectX 11 should be the minimum
- This assignment should use the C++ 17 standard
- No extra dependencies other than DirectX should be used for the rendering part
- HSLS should be used to write the shaders

# Documentation & Thought process

Please include a README.md file that includes the following information:

- Instructions on how to run your application
- Your brief answers to the following questions:
- How long did it take you to complete this assignment?
- What about this assignment did you find unclear?
- Do you feel like this assignment has an appropriate level of difficulty?
- Briefly explain the technical decisions you made in this project, i.e. architecture, code-splitting, librairies, or other decisions and tradeoffs.

# Questions

Please email us if you have any questions along the way. We will try our best to help guide you through any confusion. Feel free to make assumptions and document them as you go as well.

# Submissions

Please submit your completed assignment via email to the recruiter who sent it to you. You can submit your assignment by pushing it to a Github repository and include a link to the repository.

We want to thank you again for your time and for your interest in joining the engineering team at Streamlabs!