google / dart-gl Goto Github PK
View Code? Open in Web Editor NEWOpenGL ES 2.0 Dart Native Extension
License: BSD 3-Clause "New" or "Revised" License
OpenGL ES 2.0 Dart Native Extension
License: BSD 3-Clause "New" or "Revised" License
Hi, @jtmcdole, thanks for your comments on my issues.
And How good is the performance of this native extension? Do you have any benchmark on this library yet?
Sorry for opening an issue to ask this, but couldnt find the answer clearly anywhere, and didnt find a forum for the project to ask this.
Im investigating if it is possible to migrate an open source game engine to DART/Flutter. That game engine is for Android and iOS games. Right now Im checking the interface between the engine and OpenGL, so I ended up here. Im no expert (far from it) in OpenGL, so bear with me.
Is Android supported? I see on the docs that Linux is supported, but Android is never mentioned anywhere, and it's not clear to me that this implies that Android is supported as well. If so, any idea on which Android versions it works or have been tested?
From the readme it seems iOS is not supported, any pointers on what would be my alternatives?
Can this library works on Windows?
on README.md, it worte: pub run tools/gl_generate.dart
, but the dart file name in tools
directory is gl_generator.dart
, typo, right?
This package still uses deprecated Dart 1 SCREAMING CAPS CONSTANTS. These will be removed shortly in Dart 2. This rewriting tool can be used to automatically migrate code in most cases: https://github.com/dart-lang/dart2_fix .
Can this library work on macOS?
Now that webgl2 is a "standard" feature on chrome and firefox,
it would be nice if dart-gl would support gles3.x which has similar features.
Does this still work for Windows as of 9/1/2019? If so, is there a less confusing step-by-step on how to get this running out there?
I noticed this:
The previous method for compiling the bindings is no longer available. We are working on a new solution for both Linux and Windows.
In the meantime, the Makefile in the lib/ directory is a good starting point for compiling on Linux.
Does this mean we are not able to compile the bindings currently? If so, why?
Thanks for any help.
From @exavolt:
"""
I've found an implementation incompatibilities of glGet* functions. From the spec1, a glGet* function might returns one or more values which varies between parameters. For example, glGetIntegerv(GL_ACTIVE_TEXTURE) returns only one value, while something like glGetIntegerv(GL_VIEWPORT) would return four values. The binding always assume that the functions return only one value which, in many cases, it makes the functions practically useless because they returned only the first value.
I think that this could cause a more serious issue, i.e., buffer overrun, because the buffer provided to hold the returned values might be smaller than the number of value asked by the parameter.
The updated implementation should use a map of parameter names with their respective expected number of values as defined in the spec1. On call, the binding function will allocate the appropriately-sized buffer based on the parameter name before calling its respective actual glGet function.
"""
The part of the bindings which are not generated have links to third_party/
I had to manually adjust the paths to make things compile
This is for ubuntu 16.04
had to comment out this line to make things work
//{"glShaderBinary", glShaderBinary_native},
This will make it much likely that people with use this library
I like dartlang, and I am likely to write my Desktop game by using Dart, but I can not find a good bindings for OpenGL on both Windows, macOS.
So will this library cover OpenGL later?
By the way, I just found one OpenGL binding for Dart, but the author said it's performance is not good enough to write a 3D game. It's https://pub.dartlang.org/packages/dartgl
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.