Module
A rendering engine where you can write WebGL 2.0 shaders using custom tags.
Latest
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[1.1.1] - 2021-03-15
Added
- New
ShaderCanvas.getModuleState()
function that receives a module name and returns the result of calling its correspondinggetState()
function. - The
ShaderCanvas.webglModule
API function now supports agetState()
function to be present in the functions objects it returns. This function is used to return any object for other modules or programs. - Support for buffer initializer functions in the ShaderCanvas API.
- Support for multiple
<code>
tags in shaders. - Support for
<code-before>
and<code-after>
tags in shaders. - It is possible to start and stop a loop through the ShaderCanvas instance API.
<draw-loop>
now supports setting the frames per second (“fps” attribute).- Show compiler errors for each shader after compilation is done.
- Print a console.error when a container has no children to create; execution continues as normal, just the error is output.
- This changelog.
- The
ShaderCanvas.webglModule
API function now supports aninitializer()
function to be present in the functions objects it returns. This initializer function is run once per program during initialization.
Changed
- The
modules
array in the CanHaveModules class now only contains the module names of the modules that were merged (previously it contained all modules present as children of the class, even if they included no parts to be merged there).
[1.0.0] - 2021-03-03
Added
- shader-canvas first version
- Documentation page
- Runtime browser execution for a shader canvas html file.
- Support for simple WebGL canvas elements.
- Tag
<active-texture>
- Tag
<bind-buffer>
- Tag
<blend-func>
- Tag
<buffer-data>
- Tag
<clear-color>
- Tag
<clear-depth>
- Tag
<clear-flags>
- Tag
<clear-stencil>
- Tag
<{{buffer-name}}>
- Tag
<{{module-name}}>
- Tag
<{{program-name}}>
- Tag
<{{texture-name}}>
- Tag
<{{vao-name}}>
- Tag
<cull-face>
- Tag
<depth-func>
- Tag
<draw-calls>
- Tag
<draw-loop>
- Tag
<draw-vao>
- Tag
<fragment-shader>
- Tag
<new-modules>
- Tag
<shader-canvas>
- Tag
<tex-image-2d>
- Tag
<tex-parameter-f>
- Tag
<tex-parameter-i>
- Tag
<use-program>
- Tag
<vertex-attrib-pointer>
- Tag
<vertex-shader>
- Tag
<viewport-transform>
- Tag
<webgl-buffers>
- Tag
<webgl-canvas>
- Tag
<webgl-program-part>
- Tag
<webgl-programs>
- Tag
<webgl-textures>
- Tag
<webgl-vertex-array-objects>