Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Tinyrenderer | 16,118 | 4 months ago | 38 | other | C++ | |||||
A brief computer graphics / rendering course | ||||||||||
Filament | 15,853 | 2 | 4 | 15 hours ago | 93 | September 20, 2022 | 101 | apache-2.0 | C++ | |
Filament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS, and WebGL2 | ||||||||||
Bgfx | 13,046 | 12 days ago | 1 | July 11, 2022 | 287 | bsd-2-clause | C++ | |||
Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library. | ||||||||||
Spritejs | 5,071 | 6 | 27 | 6 months ago | 430 | July 03, 2022 | 66 | mit | JavaScript | |
A cross platform high-performance graphics system. | ||||||||||
Tinyraytracer | 4,451 | 4 months ago | 15 | C++ | ||||||
A brief computer graphics / rendering course | ||||||||||
Webglstudio.js | 4,064 | 3 years ago | 31 | mit | JavaScript | |||||
A full open source 3D graphics editor in the browser, with scene editor, coding pad, graph editor, virtual file system, and many features more. | ||||||||||
Gg | 3,840 | 106 | 266 | 2 months ago | 7 | September 28, 2021 | 85 | mit | Go | |
Go Graphics - 2D rendering in Go with a simple API. | ||||||||||
Game Programmer Study Notes | 3,357 | 2 years ago | 1 | |||||||
:anchor: 我的游戏程序员生涯的读书笔记合辑。你可以把它看作一个加强版的Blog。涉及图形学、实时渲染、编程实践、GPU编程、设计模式、软件工程等内容。Keep Reading , Keep Writing , Keep Coding. | ||||||||||
Diligentengine | 2,846 | 8 days ago | 14 | apache-2.0 | Batchfile | |||||
A modern cross-platform low-level graphics library and rendering framework | ||||||||||
Real Time Rendering 4th Bibliography Collection | 2,747 | 6 months ago | 101 | mit | HTML | |||||
Real-Time Rendering 4th (RTR4) 参考文献合集典藏 | Collection of <Real-Time Rendering 4th (RTR4)> Bibliography / Reference |
GCanvas is a cross-platform rendering engine for mobile devices developed by Alibaba. It is written with C++ based on OpenGL ES, so it can provide high performance 2D/WebGL rendering capabilities for JavaScript runtime. It also has browser-like canvas APIs, so it's very convenient and flexiable for use, especially for web developers.
Supported operating systems are Android 4.0+ (API 14) and iOS 8.0+.
iOS GCanvas
Android com.taobao.gcanvas:core:1.1.0(publishing)
See the Introduction to GCanvas for a detailed introduction to GCanvas.
We will continue to maintain the C++ core
engine. And will no further update and support Weex
ReactNative
and JS bridge
.
Follow Node Guide, use GCanvas in Node.js.
Try our Playground. GCanvas has browser-like canvas APIs, so almost all of the APIs are exactly same as HTML5 canvas. At this moment, we have already supported 90% of 2D APIs and 99% of WebGL APIs. You can find out those informations in 2D APIs and WebGL APIs.
Check Documentation for more information.
We take Weex as example, code snippet of context 2d using GCanvas
.
import { enable, WeexBridge, Image as GImage } from "@gcanvas/core";
var gcanvas = enable(this.$refs.canvas_holder, {bridge: WeexBridge});
var ctx = gcanvas.getContext("2d");
//rect
ctx.fillStyle = 'red';
ctx.fillRect(0, 0, 100, 100);
//rect
ctx.fillStyle = 'black';
ctx.fillRect(100, 100, 100, 100);
ctx.fillRect(25, 210, 700, 5);
//circle
ctx.arc(450, 200, 100, 0, Math.PI * 2, true);
ctx.fill();
var image = new GImage();
image.src = 'https://gw.alicdn.com/tfs/TB1KwRTlh6I8KJjy0FgXXXXzVXa-225-75.png';
image.onload = function(){
ctx.drawImage(image, 100, 300);
};
New Changelog record in CHANGELOG for details.
If you encounter a bug with GCanvas we would like to hear about it. Search the existing issues and try to make sure your problem doesnt already exist before opening a new issue. Its helpful if you include the version of GCanvas and OS youre using. Please include a stack trace and reduced repro case when appropriate, too.
Please read CONTRIBUTING for details on our code of conduct, and the process for submitting pull requests to us.
GCanvas Open Source Team
This project is licensed under the Apache LICENSE