All Projects → kion-dgl → DashGL-Library

kion-dgl / DashGL-Library

Licence: MIT License
Basic Matrix Manipulation Library For OpenGL Written in C

Programming Languages

c
50402 projects - #5 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to DashGL-Library

rpi-opengl-without-x
Raspberry Pi OpenGL ES 2 without an X server (using EGL)
Stars: ✭ 120 (+500%)
Mutual labels:  raspberrypi, opengl-tutorial
first-neural-network
Simple neural network implemented from scratch in C++.
Stars: ✭ 17 (-15%)
Mutual labels:  matrix
go
A Golang Matrix framework.
Stars: ✭ 192 (+860%)
Mutual labels:  matrix
zombi-addons
No description or website provided.
Stars: ✭ 15 (-25%)
Mutual labels:  matrix
docker-rpi-plex-video-converter
Raspberry PI - Plex Video converter - Docker image (Multiarch)
Stars: ✭ 19 (-5%)
Mutual labels:  raspberrypi
addon-matrix
Matrix - Home Assistant Community Add-ons
Stars: ✭ 39 (+95%)
Mutual labels:  matrix
pca9685
This software is a devLib extension to wiringPi http://wiringpi.com/ and enables it to control the Adafruit PCA9685 16-Channel 12-bit PWM/Servo Driver http://www.adafruit.com/products/815 via I2C interface.
Stars: ✭ 48 (+140%)
Mutual labels:  raspberrypi
AdGuard-WireGuard-Unbound-Cloudflare
The Ultimate Network Security Guide 🔒 Protection | 🔎 Privacy | 🚀 Performance on home network 24/7 🕛 Accessible anywhere 🌏
Stars: ✭ 160 (+700%)
Mutual labels:  raspberrypi
Raspberry-ssd1306
ssd1306 Command Line Tool for Raspberry Pi
Stars: ✭ 34 (+70%)
Mutual labels:  raspberrypi
pirrot
A radio repeater controller (supporting both simplex and duplex operation modes) for the RaspberryPi.
Stars: ✭ 25 (+25%)
Mutual labels:  raspberrypi
hlml
vectorized high-level math library
Stars: ✭ 42 (+110%)
Mutual labels:  matrix
TP Arduino DigitalRain Anim
A library that represents Digital Rain Animation on color displays that support TFT_eSPI
Stars: ✭ 80 (+300%)
Mutual labels:  matrix
MobileNetV2-PoseEstimation
Tensorflow based Fast Pose estimation. OpenVINO, Tensorflow Lite, NCS, NCS2 + Python.
Stars: ✭ 99 (+395%)
Mutual labels:  raspberrypi
MidiGyver
No description or website provided.
Stars: ✭ 67 (+235%)
Mutual labels:  raspberrypi
raspiApWlanScripts
Wifi station/AP mode scripts
Stars: ✭ 24 (+20%)
Mutual labels:  raspberrypi
telematrix
Bridge between Telegram and Matrix
Stars: ✭ 95 (+375%)
Mutual labels:  matrix
dump1090-docker
Run dump1090-fa (Flightaware fork) quickly and easily with Docker!
Stars: ✭ 23 (+15%)
Mutual labels:  raspberrypi
matrix-tag-manager
A web interface for supporting power users and their Matrix room tags.
Stars: ✭ 22 (+10%)
Mutual labels:  matrix
griode
Griode + Novation Launchpad + Raspberry Pi = a music instrument!
Stars: ✭ 116 (+480%)
Mutual labels:  raspberrypi
mtxclient
Client API library for Matrix, built on top of Boost.Asio
Stars: ✭ 21 (+5%)
Mutual labels:  matrix

DashGL - Matrix Library

DashGL Matrix Libary

DashGL is basic vector and matrix manipulation library written in C. It is designed to be compatible with OpenGL and centers around the concept that everything is an array. A 2d vertor is a float array with a length of two. A 3d vector is a float array with a length of three. 4d vectors and quarternions are a float array with a length of four. And four by four matrices are represented with a float array of sixteen. All of the calculations that use these types are performed by utlizing the numbered elements of these arrays. The result is a small simple library that doesn't use malloc and doesn't need any conversion when working with OpenGL. DashGL is available under the MIT license.

Documentation

The documentation is a work in progress and will continued to be updated as I implement more of the library. The library is divided into several different parts defined by a given prefix.

Shader - Pertains to compiling shaders, compiling programs, fetching errors, and loading images
vec2 - 2D vectors
vec3 - 3D vectors
vec4 - 4D Vectors
quat - Quarternion's
mat4 - 4x4 Matrices

Tutorials

Tutorials for how to get started with the DashGL library are available on DashGL.com. This includes three separate tutorials for a Brickout Clone, an Invaders Clone and an Astroids clone.

Quick Start

As of yet, DashGL is not a finalized library which can be installed from a package manager. To use DashGL, you will need to clone this repository into your project. Build, and then link when compiling.

To install dependencies on Debian / Ubuntu:

$ sudo apt-get install libgtk-3-dev libegl1-mesa-dev libpng-dev

To install dependencies on Ret Hat / Fedora:

$ sudo yum install epel-release
$ sudo yum install gtk3-devel mesa-libGL-devel libepoxy-devel libpng-devel

To clone the and build the repository:

$ git clone [email protected]:kion-dgl/DashGL-Library.git DashGL
$ gcc -c -o DashGL/dashgl.o DashGL/dashgl.c -lGL -lepoxy -lpng

An overly simplified main file:

#include "DashGL/dashgl.h"

int main() {

}

Then to compile:

$ gcc main.c DashGL/dashgl.o -lGL -lepoxy -lpng
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].