Transformer preprocessor for
include directives in
.glsl shader files.
include preprocessor directives are a basic way to reuse code snippets
across multitple files. However, although OpenGL/WebGL implementations support
most C-style preprocessor directives,
include is a notable exception. This
package adds support for
include preprocessor directives through a Pub
transformer that performs an additional preprocessing step at build time.
glsl_include_transformer to the transformer list in your
transformers: - glsl_include_transformer
This transformer will substitute
include directives in
.glsl files with the
contents of the file they reference:
// Gets replaced with the contents of partials/my_shader_partial.glsl #include "partials/my_shader_partial.glsl" // Or alternatively, if you prefer angle brackets #include <partials/my_shader_partial.glsl>
include directive must reference a URI enclosed in double quotes or angle
brackets. Unlike in C or C++ preprocessors there is no semantic difference
between double quotes or angle brackets. The URI must be a relative URI
(absolute URIs are not allowed):
// my_package/lib/shaders/my_shader.glsl // Includes my_package|lib/shaders/partials/some_shader_partial.glsl #include "partials/some_shader_partial.glsl"
A URI may reach into another package via the packages directory:
// my_package/lib/shaders/my_shader.glsl // Includes some_package|lib/shaders/some_shader_partial.glsl #include "../../packages/some_package/shaders/some_shader_partial.glsl"
You may only reference files in another package's
lib directory. Note that
URIs that reference another package should not contain a
Add this to your package's pubspec.yaml file:
dependencies: glsl_include_transformer: "^0.1.3"
You can install packages from the command line:
$ pub get
$ flutter packages get
Alternatively, your editor might support
pub get or
Check the docs for your editor to learn more.
Now in your Dart code, you can use:
|0.1.3||Oct 22, 2016|
|0.1.2||Aug 30, 2016|
|0.1.1||Aug 27, 2016|
We analyzed this package on Apr 23, 2018, and provided a score, details, and suggestions below. Analysis was completed with status completed using:
Describes how popular the package is relative to other packages. [more]
Code health derived from static analysis. [more]
Reflects how tidy and up-to-date the package is. [more]
Weighted score of the above. [more]
Detected platforms: Flutter, other
Package is pre-v1 release.
While there is nothing inherently wrong with versions of
0.*.*, it usually means that the author is still experimenting with the general direction API.
Maintain an example.
Create a short demo in the
example/directory to show how to use this package. Common file name patterns include:
example.dartor you could also use
Fix analysis and formatting issues.
Analysis or formatting checks reported 2 hints.
Strong-mode analysis of
lib/glsl_include_transformer.dartgave the following hint:
line: 6 col: 1
'barback' is deprecated and shouldn't be used.
|Dart SDK||>=1.0.0 <2.0.0|