https://github.com/mizy/minigl
2d webgl renderer lib
https://github.com/mizy/minigl
Last synced: 5 months ago
JSON representation
2d webgl renderer lib
- Host: GitHub
- URL: https://github.com/mizy/minigl
- Owner: mizy
- License: gpl-3.0
- Created: 2020-03-03T03:07:30.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-04-03T18:22:03.000Z (over 1 year ago)
- Last Synced: 2025-02-26T16:49:37.477Z (8 months ago)
- Language: TypeScript
- Homepage:
- Size: 48.6 MB
- Stars: 8
- Watchers: 3
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# [MiniGL](https://mizy.github.io/MiniGL)
A 2d WebGL renderer,
+ support point,line,face,instanceMesh and custom shader
+ support canvas transform & controller
+ support webGL2.0
+ use glMatrix as matrix library
+ support DragonBones animation

# case
+ [basic shape](https://mizy.github.io/MiniGL/demo/main.html)
+ point
* [point color](https://mizy.github.io/MiniGL/demo/points/points.html)
* [point shrink](https://mizy.github.io/MiniGL/demo/points/shrink.html)
+ line
* [fly line animation](https://mizy.github.io/MiniGL/demo/line/flyline.html)
* [meshline](https://mizy.github.io/MiniGL/demo/line/meshline.html)
+ image
* [image](https://mizy.github.io/MiniGL/demo/image/image.html)
* [point image](https://mizy.github.io/MiniGL/demo/points/imagePoints.html)
+ shader
* [custom shader](https://mizy.github.io/MiniGL/demo/customShader/transform.html)
+ InstanceMesh(webGL2)
* [instanceMesh](https://mizy.github.io/MiniGL/demo/instanceMesh/instance.html)
* [instanceArrow](https://mizy.github.io/MiniGL/demo/arrow/arrow.html)
+ DragonBones animation
* [dragonbone demo](https://mizy.github.io/MiniGL/demo/dragonBones/iron.html)
* [dragonbone eyetrack demo](https://mizy.github.io/MiniGL/demo/dragonBones/eyetrack.html)
* [dragonbone ubbie](https://mizy.github.io/MiniGL/demo/dragonBones/ubbie.html)
* game
* [game demo](https://mizy.github.io/MiniGL/demo/games/run.html)## shader uniform
the uniform below will be auto append to shader
```
uniform mat3 transform; // model transform matrix
uniform mat3 modelView; // modelView matrix
uniform float pixelRatio; //
uniform float ratio; // canvas width/height
```
such as:
```
vec3 mPosition = transform * modelView * vec3(position,1.);
```
you can use config.z to change the order of meshes
```
vec3 mPosition = transform * modelView * vec3(position,z);
```# develope
```
npm i
npm run start
```
# doc
[doc](https://mizy.github.io/MiniGL/docs/index.html)# future
maybe it will be a new origin webgl skia-like lib