Thanks to visit codestin.com
Credit goes to github.com

Skip to content

orange4glace/olivas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Oliver

Oliver is a graph-based 2D WebGL rendering library.

This project is currently in idea level.

Example

example

import { TransformNode } from 'node/transform';
import { TriangleNode } from 'node/triangle';
import { RenderTreeBuilder } from 'node/builder';
import { AlphaNode } from 'node/alpha';

const canvas = document.createElement('canvas');
document.body.append(canvas);
const gl: WebGL2RenderingContext = (canvas.getContext('webgl2') as WebGL2RenderingContext);


gl.viewport(0, 0, gl.canvas.width, gl.canvas.height);
gl.clearColor(0, 0, 0, 0);
gl.clear(gl.COLOR_BUFFER_BIT);
gl.enable(gl.BLEND);
gl.blendFunc(gl.SRC_COLOR, gl.DST_COLOR);


{
  const alphaNode = new AlphaNode();
  const transformNode = new TransformNode();
  const triangleNode = new TriangleNode();
  transformNode.appendNext(alphaNode);
  alphaNode.appendNext(triangleNode);
  triangleNode.setPosition(
        0, 0,
        0, 0.5,
        0.7, 0,)

  const builder = new RenderTreeBuilder(gl as any);
  const compiledNode = builder.build(transformNode);

  compiledNode.render();
}

{
  const alphaNode = new AlphaNode();
  const transformNode = new TransformNode();
  const triangleNode = new TriangleNode();
  transformNode.appendNext(alphaNode);
  alphaNode.appendNext(triangleNode);
  triangleNode.setPosition(
        0, 0,
        0, 0.5,
        0.7, 0,)
  transformNode.setTranslate(0.1, 0.1);

  const builder = new RenderTreeBuilder(gl as any);
  const compiledNode = builder.build(transformNode);

  compiledNode.render();
}

About

A graph-based 2D WebGL rendering library

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published