The BaseShader has little function and should not be used. However its methods are used throughout. Used to add layers to a LayerShader. The shader will be run when added - There is no need to run it ...
This is a 3D viewer application that uses OpenGL and Python. Supports object control, Texture loading, lighting effects. It also supports hand and face recognition to control the position and zoom.