All Projects → lambdacube3d → Lambdacube Edsl

lambdacube3d / Lambdacube Edsl

Previous version of LambdaCube 3D as Embedded Domain Specific Language in Haskell. Check the latest system:

Programming Languages

haskell
3896 projects

Projects that are alternatives of or similar to Lambdacube Edsl

Wechart
Create all the [ch]arts by cax or three.js - Cax 和 three.js 创造一切图[表]
Stars: ✭ 152 (-18.28%)
Mutual labels:  graphics, 3d
Sharpgltf
glTF reader and writer for .NET Standard
Stars: ✭ 159 (-14.52%)
Mutual labels:  graphics, 3d
Difftaichi
10 differentiable physical simulators built with Taichi differentiable programming (DiffTaichi, ICLR 2020)
Stars: ✭ 2,024 (+988.17%)
Mutual labels:  graphics, gpu
Libmali
The Mali GPU library used in Rockchip Platform
Stars: ✭ 128 (-31.18%)
Mutual labels:  graphics, gpu
Unity Dithered Transparency Shader
Unity material and shader for applying clipped, dithered transparency
Stars: ✭ 174 (-6.45%)
Mutual labels:  graphics, 3d
Citro3d
Homebrew PICA200 GPU wrapper library for Nintendo 3DS
Stars: ✭ 143 (-23.12%)
Mutual labels:  graphics, gpu
Satin
A 3D Graphics Framework built on Apple's Metal
Stars: ✭ 182 (-2.15%)
Mutual labels:  graphics, 3d
Hilo3d
Hilo3d, a WebGL Rendering Engine.
Stars: ✭ 123 (-33.87%)
Mutual labels:  graphics, 3d
Tinykaboom
A brief computer graphics / rendering course
Stars: ✭ 2,077 (+1016.67%)
Mutual labels:  graphics, 3d
Gaiasky
Mirror of Gaia Sky repository hosted on Gitlab: https://gitlab.com/langurmonkey/gaiasky
Stars: ✭ 162 (-12.9%)
Mutual labels:  graphics, 3d
Zfont
💬 Text plugin for Zdog - works with any .ttf font!
Stars: ✭ 126 (-32.26%)
Mutual labels:  3d, font
Vxr
General purpose engine written in C++ with emphasis on materials rendering (PBR, clear coat, anisotropy, iridescence)
Stars: ✭ 181 (-2.69%)
Mutual labels:  graphics, 3d
Tinyrenderer
A brief computer graphics / rendering course
Stars: ✭ 11,776 (+6231.18%)
Mutual labels:  graphics, 3d
Nfancurve
A small and lightweight POSIX script for using a custom fan curve in Linux for those with an Nvidia GPU.
Stars: ✭ 180 (-3.23%)
Mutual labels:  graphics, gpu
Cellularforms
An implementation of Andy Lomas' Cellular Forms.
Stars: ✭ 124 (-33.33%)
Mutual labels:  graphics, 3d
Gltfast
glTF runtime loading library for Unity
Stars: ✭ 156 (-16.13%)
Mutual labels:  graphics, 3d
Tinyraycaster
486 lines of C++: old-school FPS in a weekend
Stars: ✭ 1,383 (+643.55%)
Mutual labels:  graphics, 3d
Deko3d
Homebrew low level graphics API for Nintendo Switch (Nvidia Tegra X1)
Stars: ✭ 103 (-44.62%)
Mutual labels:  graphics, 3d
Vulkancore
Vulkan 1.0 graphics and compute API bindings for .NET Standard
Stars: ✭ 162 (-12.9%)
Mutual labels:  graphics, gpu
Euc
A software rendering crate that lets you write shaders with Rust
Stars: ✭ 180 (-3.23%)
Mutual labels:  graphics, 3d

LambdaCube 3D as Embedded Domain Specific Language in Haskell.

Check the latest system: http://lambdacube3d.com

LambdaCube 3D

LambdaCube 3D is a domain specific language and library that makes it possible to program GPUs in a purely functional style.
You can find more info in the development blog. http://lambdacube3d.wordpress.com/

Setup

On Linux install the following libraries.

i.e. on Ubuntu:

sudo apt install libgl1-mesa-dev libxi-dev libxcursor-dev libxinerama-dev libxrandr-dev zlib1g-dev libpulse-dev

For other Linux distributions make sure the corresponing packages are installed.

These libraries required for OpenGL development.

Compile & Run:

To compile you will need Haskell Stack.

stack setup
stack build

stack exec -- lambdacube-hello
stack exec -- lambdacube-shadowmapping
stack exec -- lambdacube-cubemap
stack exec -- lambdacube-convolutionfilter

lambdacube-edsl

The lambdacube-edsl package contains the graphics EDSL and the OpenGL 3.2 backend.

LambdaCube Font Engine

Work-in-progress project to provide font rendering capabilities for LambdaCube 3D.

Lafonten demo

Demo Scene: Knot Theory

Knot Theory demo

Also check the code.

Q3Demo

Quake III level viewer demo application for lambdacube-core. It requires the *.pk3 data files from original Quake 3 demo or full version of game. Addtionally custom made game levels are available from http://lvlworld.com. During startup the application will find all .pk3 files available in the current directory. The map name can be given as an argument of the q3demo executable.

Quake III level viewer

Stunts

A revival of the classic racing game Stunts to serve as a non-toy-sized example for LambdaCube. It depends on the Bullet physics engine haskell binding. It is available from git repository only.
git clone git://github.com/csabahruska/bullet.git
The bullet installation instructions can be found in bullet/README. In order to make the stunts demo work, you need to download the original game as per the instructions given by the program.

Stunts demo 1

Stunts demo 2

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].