Introduction To Raspberry Pi 3B+

You need the following Scenome® modules to complete all exercises involving the Raspberry Pi® 3B+: Scenome® Platform Binaries, Scenome® Video Module (video tutorials only), Scenome® Export Module

The Scenome® Shader application allows you to develop shaders and export them to Raspberry Pi® 3B+ devices. In the first part of this series, you'll learn to write shaders and export them to your Raspberry Pi® 3B+ device. Then you'll learn how to compile them on your device and view the results.

For those with the Scenome® Video Module, in the second part of this series, you'll learn to connect the Scenome® Shader application to your Raspberry Pi® 3B+ video camera so that you can see the live video stream running in the Scenome® Shader application. Then you'll learn how to implement a shader for performing edge detection. Finally, you'll learn how to export and compile a complete C++ application that uses your shader code to process video directly on your Raspberry Pi® 3B+ device.

The process is as follows:

  1. Use the Scenome® Shader application on your Windows® development PC to write, debug, and test GLSL code.
  2. Export the GLSL code from the Scenome® Shader application as a series of text and binary files that can be copied to your Raspberry Pi® 3B+ device.
  3. On the Raspberry Pi® 3B+, compile these files into a finished application, and run it.

Here are the four main setup tasks we need to accomplish before we can write shaders and export them to your Raspberry Pi® 3B+:

Basic requirements are as follows:

Item Description
Raspberry Pi® 3B+ deviceA Raspberry Pi® 3B+ capable of running GLSL 100 es and GLSL 300 es shaders, or an equivalent device, running Buster or Bullseye.
GCC Compiler Version 8.3.0 or higherVersion of GCC capable of compiling C++ 17. You can type g++ --version from your terminal to find out which version you have.
RealVNC®The ability to connect to and control your Raspberry Pi® 3B+ from your Windows® development machine.
Terminal AccessThe ability to access the terminal (command prompt) on your Raspberry Pi® 3B+.
File TransferThe ability to manually copy the exported files (C++ source code, GLSL source code, config files, make files) from your PC to the correct location on your Raspberry Pi® 3B+ device. (e.g., Samba, as discussed below).

You'll need the following if you wish to learn how to write shaders for video:
Item Description
Raspberry Pi® 3B+-compatible video cameraYou'll need a camera to capture video if you want to write shaders for video.
Video Stream AddressThe RTSP address for the Raspberry Pi® 3B+ video camera. For example: rtsp://192.168.1.30:8554/video
VLC® or similarThe ability to display video output by your Raspberry Pi® 3B+ video camera.

There are many ways to accomplish the above tasks. In this series of exercises, we provide you with one approach which we have found to be simple and easy to understand. Feel free to use your preferred approach to accomplish these same tasks. We will be using the following third party tools in these exercises:

Item Description
Real VNC® You can download and install Real VNC® on your Windows® development machine and you can use it to simplify interfacing with and controlling your Raspberry Pi® 3B+. RealVNC can enable you to connect directly to your Raspberry Pi® 3B+ across the Internet or simply across your local network. This exercise assumes you will connect to your Raspberry Pi 3B+ over your local network. Please refer to the following links for reference information on this: VNC Connect and Raspberry Pi 3B+ and Real VNC Raspberry Pi Setup.
Samba You can install Samba on your Raspberry Pi® and use it to copy files from your PC to your Raspberry Pi® 3B+.
VLC You can download and install VLC on your Windows development machine and use it to display images and streamed video from your Raspberry Pi® 3B+.