▼ lib | |
▼ ProtoTracer | |
▼ Animation | |
► AnimationTracks | |
AnimationTrack.h | Declares the AnimationTrack template class for managing animation tracks with keyframes |
AnimationTrack.tpp | |
BlinkTrack.h | Declares the BlinkTrack template class for animating eye blinking |
EffectChangeTrack.h | Declares the EffectChangeTrack template class for animating effect changes |
EyeMoveTrack.h | Declares the EyeMoveTrack template class for animating eye movements |
MouthTrack.h | Declares the MouthTrack template class for animating mouth movements |
EasyEaseAnimator.h | Declares the EasyEaseAnimator template class for advanced animation easing |
EasyEaseAnimator.tpp | |
IEasyEaseAnimator.h | Declares the IEasyEaseAnimator interface for defining animation behaviors |
KeyFrame.cpp | |
KeyFrame.h | Declares the KeyFrame class for representing individual animation keyframes |
KeyFrameTrack.h | Declares the KeyFrameTrack template class for managing keyframe-based animations |
KeyFrameTrack.tpp | |
MorphTransform.h | Declares the MorphTransform template class for handling 3D transformations |
MorphTransform.tpp | |
▼ Camera | |
► CameraManager | |
► Implementations | |
APA102CamerasV1.h | |
HUB75Cameras.h | |
HUB75DeltaCameras.h | |
HUB75SplitCameras.h | |
HUB75Square.h | |
WS35Beta.h | |
WS35Cameras.h | |
WS35SplitCameras.h | |
CameraManager.cpp | |
CameraManager.h | Declares the CameraManager class for managing multiple camera instances |
► Pixels | |
► PixelGroups | |
DeltaDisplayFursuitL.h | |
DeltaDisplayFursuitR.h | |
DeltaDisplayL.h | |
DeltaDisplayR.h | |
HertzMini.h | |
LinearPixels.h | |
P3HUB75.h | |
ProtoDR.h | |
ProtoDRMini.h | |
WS35Pixels.h | |
XenraxRing.h | |
XenraxSquare.h | |
XenraxStrip.h | |
IPixelGroup.h | Declares the IPixelGroup interface for managing collections of pixels |
Pixel.cpp | |
Pixel.h | Declares the Pixel class for managing pixel data and relationships in a 2D grid |
PixelGroup.h | Declares the PixelGroup template class for managing a collection of pixels |
PixelGroup.tpp | |
Camera.h | Declares the Camera template class for managing camera behavior and pixel groups |
Camera.tpp | |
CameraBase.cpp | |
CameraBase.h | Declares the CameraBase class for defining camera functionality |
CameraLayout.cpp | |
CameraLayout.h | Declares the CameraLayout class for managing camera orientation and axis alignment |
▼ Controller | |
► Deprecated | |
BetaProtoController.h | |
BetaProtoControllerOctoWS2811.h | |
ESP32DevKitV1.h | |
GammaControllerBack.h | |
GammaControllerFront.h | |
KaiborgV1Controller.h | |
KaiborgV1D1Xenrax.h | |
ProtoDRController.h | |
APA102Controller.cpp | |
APA102Controller.h | Declares the APA102Controller class for managing APA102 LED strips |
Controller.cpp | |
Controller.h | Declares the Controller base class for managing lighting controllers |
HUB75Controller.cpp | |
HUB75Controller.h | Declares the HUB75Controller class for managing HUB75 LED matrices |
HUB75ControllerSplit.cpp | |
HUB75ControllerSplit.h | Declares the HUB75ControllerSplit class for managing HUB75 LED matrices and secondary LED displays |
HUB75ControllerSquare.cpp | |
HUB75ControllerSquare.h | Declares the HUB75ControllerSquare class for managing a square display using two vertical HUB75 panels |
MatrixHardware_Teensy4_ShieldV5_RBG.h | |
SmartMatrixAPA102.h | |
SmartMatrixHUB75.h | Configuration file for SmartMatrix library with HUB75 panels and APA102 support |
WS35BetaController.cpp | |
WS35BetaController.h | Declares the WS35BetaController class for managing WS2812-based displays on the Beta Protogen head |
WS35Controller.cpp | |
WS35Controller.h | Declares the WS35Controller class for managing WS2812-based displays on the Delta, Epsilon, and Sigma Protogen heads |
▼ Engine | |
Engine.cpp | |
Engine.h | Declares the RenderingEngine class for rendering and display operations |
▼ Examples | |
► Commissions | |
AceAnimation.h | |
AphoriAnimation.h | |
ArrowAnimation.h | |
ArtleckAnimation.h | |
ArtleckAnimationV2.h | |
BasilGardenAnimation.h | |
BroookAnimation.h | |
DatBlueHuskyAnimation.h | |
DrGonzoProject.h | |
DrGonzoTest.h | |
ElGatoAnimation.h | |
GalaxyAnimation.h | |
HertzzAnimation.h | |
InfraredAnimation.h | |
LeonHuskyAnimation.h | |
MyntAnimation.h | |
ProtobottAnimation.h | |
SageAnimation.h | |
SammyAnimation.h | |
SergaliciousAnimation.h | |
SplatAnimation.h | |
StrawberryAnimation.h | |
TamamoAnimation.h | |
TechSaneAnimation.h | |
UnicornZhenjaAnimation.h | |
VesperAnimation.h | |
WaffleDaProtoAnimation.h | |
WarzoneAnimation.h | |
WarzoneAnimationV2.h | |
XenraxAnimation.h | |
► Other | |
ClockProject.h | |
FursuitEyesV1.h | |
► Protogen | |
AlphaProject.h | |
BetaProject.h | |
GammaProject.h | |
ProtogenHardwareTest.h | |
ProtogenHUB75Project.h | |
ProtogenSplitHUB75Project.h | |
ProtogenSplitWS35Project.h | |
ProtogenWS35Project.h | |
► Templates | |
Project.cpp | |
Project.h | Declares the Project class for managing animations, rendering, and display operations |
ProtogenProjectTemplate.cpp | |
ProtogenProjectTemplate.h | Contains the class definition for ProtogenProject, a default project template for handling microphone input, boop sensor input, button control, and various material/animation functionalities in a small-scale 3D rendering environment for microcontrollers |
► Test | |
ArtisansAnimation.h | |
BeeAnimation.h | |
Boot.h | |
CoelaBonkAnimation.h | |
CoelaNerdAnimation.h | |
Crash.h | |
CreeperAnimation.h | |
CubeAnimation.h | |
FullScreenAnimation.h | |
NukudeFaceAnimation.h | |
PikachuAnimation.h | |
RocksAnimation.h | |
SpyroAnimation.h | |
SpyroRotateAnimation.h | |
VectorFieldAnimation.h | |
UserConfiguration.h | User-configurable settings for the project |
VerifyEngine.h | Implementation of a test project to verify the engine functionality |
▼ ExternalDevices | |
► Displays | |
SSD1306.cpp | |
SSD1306.h | Declares the HeadsUpDisplay class for rendering and displaying information on SSD1306/SH1106 displays |
► InputDevices | |
► Menu | |
Menu.cpp | |
Menu.h | Provides the Menu class for controlling various parameters of the program |
► SerialSynchronization | |
SerialInterpreter.cpp | |
SerialInterpreter.h | |
SerialSync.cpp | |
SerialSync.h | |
ButtonHandler.cpp | |
ButtonHandler.h | Declares the ButtonHandler class for managing button input and state |
NeoTrellisMenuHandler.h | Declares the MenuHandler template class for managing menu interactions using Adafruit NeoTrellis |
NeoTrellisMenuHandler.tpp | |
SingleButtonMenuHandler.h | Declares the MenuHandler template class for managing single-button menu interactions |
SingleButtonMenuHandler.tpp | |
SingleButtonMorseHandler.h | Declares the MenuHandler template class for managing single-button menu interactions with Morse code input |
SingleButtonMorseHandler.tpp | |
► OutputDevices | |
FanController.cpp | |
FanController.h | Declares the FanController class for managing PWM-based fan speed control |
► Sensors | |
► Microphone | |
► Utils | |
FFTVoiceDetection.h | Declares the FFTVoiceDetection template class for real-time viseme detection based on FFT data |
FFTVoiceDetection.tpp | |
MicrophoneFourierBase.cpp | |
MicrophoneFourierBase.h | Provides a base class for FFT-based microphone signal processing |
MicrophoneFourier_DMA.cpp | |
MicrophoneFourier_DMA.h | Declares the MicrophoneFourier class for performing FFT on microphone input |
MicrophoneFourier_MAX9814.cpp | |
MicrophoneFourier_MAX9814.h | Extends the MicrophoneFourierBase class for real-time FFT microphone analysis |
MicrophoneSimple_MAX9814.cpp | |
MicrophoneSimple_MAX9814.h | A simple microphone processing class for analog input |
MicrophoneSimple_SPW2430.cpp | |
MicrophoneSimple_SPW2430.h | A simple microphone processing class for analog input |
APDS9960.cpp | |
APDS9960.h | A class for interfacing with the Adafruit APDS9960 sensor |
BNO055.cpp | |
BNO055.h | A class for interfacing with the Adafruit BNO055 sensor |
MMC56X3.cpp | |
MMC56X3.h | A class for interfacing with the Adafruit MMC56x3 magnetometer sensor |
SHARPGP2Y.cpp | |
SHARPGP2Y.h | A class for interfacing with the SHARP GP2Y distance sensor |
▼ Physics | |
► Utils | |
BouncePhysics.cpp | |
BouncePhysics.h | Defines the BouncePhysics class for simulating basic bouncing physics with velocity and gravity |
BoundaryCube.cpp | |
BoundaryCube.h | Defines the BoundaryCube class for representing and managing axis-aligned bounding cubes |
BoundaryMotionSimulator.cpp | |
BoundaryMotionSimulator.h | Defines the BoundaryMotionSimulator class for simulating motion and collisions of boundary objects |
BoundarySphere.cpp | |
BoundarySphere.h | Defines the BoundarySphere class for simulating spherical boundary objects |
BoundingBox2D.cpp | |
BoundingBox2D.h | Defines the BoundingBox2D class for managing 2D bounding boxes |
DampedSpring.cpp | |
DampedSpring.h | Defines the DampedSpring class for simulating damped spring motion |
PhysicsSimulator.cpp | |
PhysicsSimulator.h | Defines the PhysicsSimulator class for managing physics simulations within a scene |
▼ Renderer | |
► DisplayTest | |
DisplayTest.cpp | |
DisplayTest.h | Defines the DisplayTest class for testing camera displays with various patterns |
► Lights | |
Light.cpp | |
Light.h | Defines the Light class for managing light sources in a 3D scene |
► Primitives | |
► 2D | |
Circle.cpp | |
Circle.h | Defines the Circle class for representing circular shapes in 2D space |
Ellipse.cpp | |
Ellipse.h | Defines the Ellipse class for representing elliptical shapes in 2D space |
Rectangle.cpp | |
Rectangle.h | Defines the Rectangle class for representing rectangular shapes in 2D space |
Shape.cpp | |
Shape.h | Defines the Shape base class for representing geometric shapes in 2D space |
► Rasterizer | |
Rasterizer.cpp | |
Rasterizer.h | Provides functionality for rasterizing 3D scenes into 2D camera views |
► Utils | |
IndexGroup.cpp | |
IndexGroup.h | Defines the IndexGroup class for handling a group of three unsigned integer indices |
IStaticTriangleGroup.h | Defines the IStaticTriangleGroup interface for managing a collection of static 3D triangles |
ITriangleGroup.h | Defines the ITriangleGroup interface for managing a collection of mutable 3D triangles |
Node.cpp | |
Node.h | Defines the Node class for quadtree spatial partitioning in 2D space |
QuadTree.cpp | |
QuadTree.h | Defines the QuadTree class for spatial partitioning in 2D space |
StaticTriangleGroup.h | Defines the StaticTriangleGroup class for managing 3D triangle geometry |
StaticTriangleGroup.tpp | |
Triangle2D.cpp | |
Triangle2D.h | Defines the Triangle2D class for representing and manipulating 2D triangles |
Triangle3D.cpp | |
Triangle3D.h | Defines the Triangle3D class for representing and manipulating 3D triangles |
TriangleGroup.h | Defines the TriangleGroup class for dynamic manipulation of triangles in 3D space |
TriangleGroup.tpp | |
TriangleGroupDeformer.cpp | |
TriangleGroupDeformer.h | Provides functionality to deform groups of 3D triangles in various ways |
▼ Scene | |
► Materials | |
► Animated | |
AudioReactiveGradient.cpp | |
AudioReactiveGradient.h | A material class for creating an audio-reactive gradient effect |
FlowNoise.cpp | |
FlowNoise.h | A dynamic simplex noise gradient material for a lava lamp effect |
HorizontalRainbow.cpp | |
HorizontalRainbow.h | A dynamic horizontal rainbow gradient material |
Oscilloscope.cpp | |
Oscilloscope.h | A dynamic oscilloscope material for visualizing audio signals |
RainbowNoise.cpp | |
RainbowNoise.h | A dynamic material generating a rainbow effect using simplex noise |
RainbowNoise2.cpp | |
RainbowNoise2.h | A dynamic material generating a rainbow effect using simplex noise with a black-to-color gradient |
RainbowSpiral.cpp | |
RainbowSpiral.h | A dynamic material that creates a colorful, animated rainbow spiral effect |
SpectrumAnalyzer.cpp | |
SpectrumAnalyzer.h | A material for visualizing audio data as a colorful spectrum analyzer |
TVStatic.cpp | |
TVStatic.h | A dynamic material for simulating TV static with various noise effects |
► Special | |
► Clock | |
Clock.cpp | |
Clock.h | A material class for rendering a real-time clock with date and time overlays |
► Overlays | |
► Text | |
Characters.cpp | |
Characters.h | |
TextEngine.h | |
TextEngine.tpp | |
► Static | |
DepthMaterial.cpp | |
DepthMaterial.h | Defines a material that maps depth along a specified axis to RGB values |
GradientMaterial.h | Defines a material for creating gradient color effects in 3D rendering |
GradientMaterial.tpp | |
Image.cpp | |
Image.h | Defines an Image material for rendering images as textures in 3D rendering |
LightMaterial.h | A material class that incorporates multiple light sources for advanced lighting effects |
LightMaterial.tpp | |
NormalMaterial.cpp | |
NormalMaterial.h | A material class that visualizes surface normals |
SimpleMaterial.cpp | |
SimpleMaterial.h | A material class that applies a single RGB color to all surfaces |
SimplexNoise.h | A material class that generates and applies Simplex Noise |
SimplexNoise.tpp | |
SpiralMaterial.h | A material class for generating spiral effects |
StripeMaterial.cpp | |
StripeMaterial.h | A material class for generating striped patterns with configurable properties |
UVMap.cpp | |
UVMap.h | A material class for mapping UV texture coordinates to RGB colors |
VectorField2D.cpp | |
VectorField2D.h | Represents a 2D vector field with various dynamic field effects and rendering capabilities |
► Utils | |
MaterialAnimator.h | Provides functionality for animating transitions and blends between materials |
MaterialAnimator.tpp | |
MaterialMask.cpp | |
MaterialMask.h | Defines the MaterialMask class, which blends materials with a mask defined by a shape |
AnimatedMaterial.h | Declares the AnimatedMaterial class for time-based material updates |
CombineMaterial.h | Combines multiple materials with different blending methods and opacities |
CombineMaterial.tpp | |
Material.h | Base class for materials defining shading and rendering behavior |
► Objects | |
Object3D.cpp | |
Object3D.h | Defines the Object3D class, representing a 3D object with geometry, material, and transformation data |
ObjectAlign.cpp | |
ObjectAlign.h | Provides the ObjectAlign class for aligning 3D objects within defined 2D camera bounds |
ObjectDeformer.cpp | |
ObjectDeformer.h | Defines the ObjectDeformer class for deforming 3D objects using various transformations |
► Screenspace | |
Effect.cpp | |
Effect.h | Defines the base Effect class for applying transformations or effects to pixel groups |
Fisheye.cpp | |
Fisheye.h | Defines the Fisheye effect class for applying fisheye distortions to pixel groups |
GlitchX.cpp | |
GlitchX.h | Defines the GlitchX effect class for applying glitch effects along the X-axis to pixel groups |
HorizontalBlur.cpp | |
HorizontalBlur.h | Defines the HorizontalBlur effect class for applying horizontal blur to pixel groups |
Magnet.cpp | |
Magnet.h | Defines the Magnet effect class for creating magnetic distortion effects on pixel groups |
Overflow.cpp | |
Overflow.h | Defines the Overflow effect class for adding overflow distortion to pixel groups |
Passthrough.cpp | |
Passthrough.h | Defines the Passthrough effect class for applying no modifications to pixel groups |
PhaseOffsetR.cpp | |
PhaseOffsetR.h | Defines the PhaseOffsetR effect class for applying rotational phase offsets to pixel groups |
PhaseOffsetX.cpp | |
PhaseOffsetX.h | Defines the PhaseOffsetX effect class for applying horizontal phase offsets to pixel groups |
PhaseOffsetY.cpp | |
PhaseOffsetY.h | Defines the PhaseOffsetY effect class for applying vertical phase offsets to pixel groups |
RadialBlur.cpp | |
RadialBlur.h | Defines the RadialBlur effect class for applying a radial blur to pixel groups |
ShiftR.cpp | |
ShiftR.h | Defines the ShiftR effect class for shifting color channels radially |
Test.cpp | |
Test.h | Defines the Test effect class for debugging and memory issue detection |
VerticalBlur.cpp | |
VerticalBlur.h | Defines the VerticalBlur effect class for applying a vertical blur effect |
Scene.cpp | |
Scene.h | Defines the Scene class for managing objects and effects in a 3D environment |
▼ Utils | |
► Controls | |
PID.cpp | |
PID.h | Defines the PID class for implementing a proportional-integral-derivative controller |
► Filter | |
DerivativeFilter.cpp | |
DerivativeFilter.h | Provides a DerivativeFilter class for calculating the rate of change of input values |
FFTFilter.cpp | |
FFTFilter.h | Provides the FFTFilter class for processing and normalizing FFT data |
KalmanFilter.h | Provides a template-based implementation of a Kalman Filter |
KalmanFilter.tpp | |
MaxFilter.h | Implements a moving maximum filter for processing data streams |
MaxFilter.tpp | |
MinFilter.h | Implements a moving minimum filter for processing data streams |
MinFilter.tpp | |
PeakDetection.h | Implements peak detection for time-series data using a sliding window approach |
PeakDetection.tpp | |
QuaternionKalmanFilter.cpp | |
QuaternionKalmanFilter.h | Implements a Kalman filter for smoothing quaternion data |
RampFilter.cpp | |
RampFilter.h | Provides a class for smooth value transitions using a ramp filter |
RunningAverageFilter.h | Implements a running average filter for smoothing data |
RunningAverageFilter.tpp | |
VectorKalmanFilter.cpp | |
VectorKalmanFilter.h | Implements a Kalman filter for 3D vector smoothing |
VectorRunningAverageFilter.cpp | |
VectorRunningAverageFilter.h | Implements a running average filter for 3D vector smoothing |
► Math | |
AxisAngle.cpp | |
AxisAngle.h | Represents a rotation defined by an axis and an angle |
DirectionAngle.cpp | |
DirectionAngle.h | Represents a rotation defined by a direction vector and an angle |
EulerAngles.cpp | |
EulerAngles.h | Represents rotations in 3D space using Euler angles |
EulerConstants.cpp | |
EulerConstants.h | Provides predefined constants for common Euler rotation orders |
EulerOrder.cpp | |
EulerOrder.h | Defines the EulerOrder class for specifying rotation orders in 3D space |
Mathematics.cpp | |
Mathematics.h | Provides a collection of mathematical utility functions and constants |
Mathematics.tpp | |
Plane.cpp | |
Plane.h | Defines the Plane class for representing a plane in 3D space |
Quaternion.cpp | |
Quaternion.h | Defines the Quaternion class for 3D rotations and transformations |
Rotation.cpp | |
Rotation.h | Defines the Rotation class for handling 3D rotations using various representations |
RotationMatrix.cpp | |
RotationMatrix.h | Defines the RotationMatrix class for representing and manipulating 3D rotation matrices |
Transform.cpp | |
Transform.h | Defines the Transform class for managing position, rotation, and scale of objects |
Vector2D.cpp | |
Vector2D.h | Defines a 2D vector and various related operations |
Vector3D.cpp | |
Vector3D.h | Defines a 3D vector and various related operations |
YawPitchRoll.cpp | |
YawPitchRoll.h | Represents an orientation using yaw, pitch, and roll angles |
► Signals | |
FFT.h | Provides an implementation of the Radix-2 FFT algorithm and related utilities |
FFT.tpp | |
FunctionGenerator.cpp | |
FunctionGenerator.h | Provides a generator for common mathematical wave functions |
► Time | |
TimeStep.cpp | |
TimeStep.h | Utility class for timing operations based on a set frequency |
Wait.cpp | |
Wait.h | Utility class for handling non-blocking wait operations |
Color.h | Abstract class template for defining and manipulating colors |
Debug.h | Utility class for debugging and monitoring system memory |
RGBColor.cpp | |
RGBColor.h | Defines the RGBColor class for managing and manipulating RGB color values |
RGBColor565.h | |
▼ src | |
main.cpp | Entry point for various projects, managing initialization and main loop operations |
tutorial | |