ogles_gpgpu - GPGPU for mobile devices and embedded systems using OpenGL ES 2.0

  •        15

See the project page on my personal website for some more information and possible use-cases for this library. To compile, you need to install the Android NDK first.




Related Projects

vexcl - VexCL is a C++ vector expression template library for OpenCL/CUDA

  •    C++

VexCL is a vector expression template library for OpenCL/CUDA. It has been created for ease of GPGPU development with C++. VexCL strives to reduce amount of boilerplate code needed to develop GPGPU applications. The library provides convenient and intuitive notation for vector arithmetic, reduction, sparse matrix-vector products, etc. Multi-device and even multi-platform computations are supported. The source code of the library is distributed under very permissive MIT license.

Ogles - OpenGL based sterotactic tool

  •    C

Ogles is slice data visualization tool based on OpenGL. Ogles started out as a planning system for frame based stereotactic neurosurgery. Current development targets at a framework for neuroanalysis. A simple DICOM reader (SDR) is part of the project.

Shmup - 3D Shoot'em Up written with OpenGL ES 1.1/2.0 running on iOS, Android, Windows and MacOS X.

  •    C

3D Shoot'em Up written with OpenGL ES 1.1/2.0 running on iOS, Android, Windows and MacOS X.

GPUImage3 - GPUImage 3 is a BSD-licensed Swift framework for GPU-accelerated video and image processing using Metal

  •    Swift

GPUImage 3 is the third generation of the GPUImage framework, an open source project for performing GPU-accelerated image and video processing on Mac and iOS. The original GPUImage framework was written in Objective-C and targeted Mac and iOS, the second iteration rewritten in Swift using OpenGL to target Mac, iOS, and Linux, and now this third generation is redesigned to use Metal in place of OpenGL. The objective of the framework is to make it as easy as possible to set up and perform realtime video processing or machine vision against image or video sources. Previous iterations of this framework wrapped OpenGL (ES), hiding much of the boilerplate code required to render images on the GPU using custom vertex and fragment shaders. This version of the framework replaces OpenGL (ES) with Metal. Largely driven by Apple's deprecation of OpenGL (ES) on their platforms in favor of Metal, it will allow for exploring performance optimizations over OpenGL and a tighter integration with Metal-based frameworks and operations.

mapbox-gl-native - Interactive, thoroughly customizable maps in native Android, iOS, macOS, Node

  •    C++

A library for embedding interactive, customizable vector maps into native applications on multiple platforms. It takes stylesheets that conform to the Mapbox Style Specification, applies them to vector tiles that conform to the Mapbox Vector Tile Specification, and renders them using OpenGL. Mapbox GL JS is the WebGL-based counterpart, designed for use on the Web.If your platform or hybrid application framework isn’t listed here, consider embedding Mapbox GL JS using the standard Web capabilities on your platform.

Image Resizer GPGPU


Make images smaller, resizing and resampling with incredible performance, scalability and ease with features such as GPGPU processing and distributed computing.

NyuziProcessor - GPGPU microprocessor architecture

  •    C++

Nyuzi is an experimental GPGPU processor hardware design focused on compute intensive tasks. It is optimized for use cases like blockchain mining, deep learning, and autonomous driving. This project includes a synthesizable hardware design written in System Verilog, an instruction set emulator, an LLVM based C/C++ compiler, software libraries, and tests. It can be used to experiment with microarchitectural and instruction set design tradeoffs.

GPGPU Programming Resources

  •    C++

GPGPU stands for General-Purpose computation on GPUs. This project maintains various libraries, utility classes, and programming examples intended to aid development of applications that use GPUs for general-purpose computation.

py-videocore - Python library for GPGPU on Raspberry Pi

  •    Python

This is work in progress project. Backward compatibility is not guaranteed. PyVideoCore is a Python library for GPGPU on Raspberry Pi boards. The Raspberry Pi SoC integrates Broadcom VideoCore IV graphics core. It has 12 quad processor units (QPU) which is a dual-issue 16 way (4 way pipelined and 4 way true) SIMD processor. Read the following guide thoroughly to study its architecture.

js - turbo.js - perform massive parallel computations in your browser with GPGPU.

  •    Javascript

turbo.js is a small library that makes it easier to perform complex calculations that can be done in parallel. The actual calculation performed (the kernel executed) uses the GPU for execution. This enables you to work on an array of values all at once. turbo.js is compatible with all browsers (even IE when not using ES6 template strings) and most desktop and mobile GPUs.

SoftPixel Engine

  •    C++

The SoftPixel Engine is an OpenSource high level realtime 3D engine for C++ (GNU C++ amp; VisualC++). It supports Direct3D11, Direct3D9, OpenGL 1.1 - 4.1, OpenGL|ES 1.1 and OpenGL|ES 2.0 and runs on Windows, Linux, Android and iOS.


  •    C++

The Shallows library is a cross platform C++ layer on top of OpenGL 2.0 and GLSlang (and optionally Nvidia CG). It is designed to ease the task of writing GPGPU applications. Much emphasis is placed on error checking and validation of the OGL pipeline.

MaLiang - iOS painting framework based on OpenGL ES. 神笔马良有一支神笔.

  •    Swift

MaLiang is a painting framework based on OpenGL ES. The name of "MaLiang" comes from a boy who had a magical brush in Chinese ancient fairy story. You can simply make it compatible with lower version of iOS and swift by changing only serval lines of code.

MonkVG - MonkVG is an OpenVG 1

  •    C

MonkVG is an OpenVG 1.1 like vector graphics API implementation currently using an OpenGL ES (1.1 or 2.0) backend that should be compatible with any HW that supports OpenGL ES 1.1 which includes most iOS and Android devices as well as OSX and Windows platforms. This is an open source BSD licensed project that is in active development. Contributors and sponsors welcome.

rend-ios - A lightweight OpenGL ES 2.0 framework for iOS

  •    Objective-C

A lightweight OpenGL ES 2.0 framework for iOS

iOS-OpenGLES-Stuff - Various scripts, utils, and code examples for OpenGL ES programming for iOS

  •    C

Various scripts, utils, and code examples for OpenGL ES programming for iOS

angle - A conformant OpenGL ES implementation for Windows, Mac and Linux.

  •    C++

The goal of ANGLE is to allow users of multiple operating systems to seamlessly run WebGL and other OpenGL ES content by translating OpenGL ES API calls to one of the hardware-supported APIs available for that platform. ANGLE currently provides translation from OpenGL ES 2.0 and 3.0 to desktop OpenGL, OpenGL ES, Direct3D 9, and Direct3D 11. Support for translation from OpenGL ES to Vulkan is underway, and future plans include compute shader support (ES 3.1) and MacOS support.ANGLE v1.0.772 was certified compliant by passing the ES 2.0.3 conformance tests in October 2011. ANGLE also provides an implementation of the EGL 1.4 specification.

ftgles - A truetype font rendering library for OpenGL ES on iOS devices (iPad and iPhone)

  •    Shell

A truetype font rendering library for OpenGL ES on iOS devices (iPad and iPhone)

android_page_curl - An example application for creating page curl/flip effect on Android using OpenGL ES

  •    Java

As of this commit all "pages" will be 2-sided. There's a new class CurlPage, using which you can assign a separate texture on both sides, one for front side only, or same texture can be shared on both sides. CurlPage contains also color values for blending which allows you to e.g share texture on both sides but do alpha blending only on back side of the page, leaving you with exactly same effect what earlier version of this example application did. This time with the difference there's some more freedom included. Project for implementing 'page curl' effect on Android + OpenGL ES 1.0 (possibly 1.1/2.0 too if there's clear advantage in using them).

CameraFilter - 研究 Android 用 OpenGL ES 2.0 处理相机预览和滤镜。

  •    Java

研究 Android 用 OpenGL ES 2.0 处理相机预览和滤镜。