2.4.3 • Published 5 years ago

pure3d v2.4.3

Weekly downloads
-
License
MIT
Repository
-
Last release
5 years ago

Build Status

Pure3D

WORK-IN-PROGRESS: There will be breaking changes and what's there is sometimes purposefully broken too ;)

DEMO

Remaining Features

See Issue Tracker

What it is:

  • For DIY renderers - a generic abstraction to make working with WebGL a bit more more fun and simple, without sacrificing any power.
  • Or, batteries included - a GLTF renderer with super easy API surface and functional paradigm.

How it works

See Wiki for more details

  • Generic layer automatically optimizes and skip unnecessary low-level webgl calls.
  • Gltf layer has strong separation of concerns and to make interop with functional frameworks, workers, and wasm a bit more organic.
  • Gltf layer also uses an immutable pipeline throughout, with a diffing thing to automagically handle scene changes
  • Some pure functional helpers to drive transform updates and animations (not forced into render pipeline)
  • Fully exported Typescript definitions

What it probably won't be:

  • A full game engine (bring your own physics, sound, input, particle emitters, etc.)
  • Bleeding edge / state of the art (e.g. GLTF extensions at the proposal stage are not on the radar)
  • An absolute performance beast on the GLTF side (small sacrifices are made to support the immutable approach)

What it hopes to be later:

  • WebGL 2 added functionality / speed gains
  • Supporting more GLTF extensions, lighting and shadow techniques, post-processing filters, etc.
  • Some more simple helpers to make piecing together an engine easier (e.g. get bounding boxes, drawInstanced, etc.)

Story behind it

It's a rite of passage to make your own WebGL renderer while learning it. This is my attempt :D I also wanted something that can work more organically with declarative languages and immutable data

Acknowledgements

  • Khronos, Slack ppls, and all the other hackers out there who have made this stuff possible!
2.4.3

5 years ago

2.4.2

5 years ago

2.4.1

5 years ago

2.4.0

5 years ago

2.3.2

6 years ago

2.3.1

6 years ago

2.3.0

6 years ago

2.1.0

6 years ago

2.0.0

6 years ago

1.2.0

6 years ago

1.1.2

6 years ago

1.1.1

6 years ago

1.1.0

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago

0.1.4

6 years ago

0.1.3

6 years ago

0.1.2

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago

0.0.7

6 years ago

0.0.6

6 years ago

0.0.5

6 years ago

0.0.4

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago