Giter Site home page Giter Site logo

four's People

Contributors

allotrop3 avatar aurelioderosa avatar nnodot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

four's Issues

GPGPU example

Hello! The framework is looking great. I know you just released it, but it would be very helpful to have more full examples, including a GPGPU example and a ping-pong framebuffer example.

Thanks!

Add effects manager

Add effects state machine to enable and disable effects on a Renderer. Bloom and shadow mapping should use this for example.

Syntax error in your demo

This is from your demo script in the readme. Obviously, syntax error, on the first line.

  var view = new Four.Framebuffer(
  var camera = new Four.PerspectiveCamera({
     location: [40, 30, 40]
  });

Abstraction layer build outputs

Add grunt tasks to build each layer of abstraction, bedrock, masonry, and rest each on top of the other. Developers would then be able to choose the level of control they need from the framework.

Separate model and view matrices

Currently using the built in transform functions on the scene does not allow the lighting calculations to b computed correctly.

OBJ resource for example

Hello, I'm new to computer generated images, just wondering where I can download the needed obj resource for the example? Could you provide a link to one of these (under an open license, I guess).

Consider splitting up the library

Hi. I'm really liking the simplicity of this library. I personally moved away from Three.js as it became a bit monolithic and I was only using a small subset of components. I see you have plans for expanding the library, and I just wanted to suggest that you keep each component as a different (namespaced) module, and perhaps use this repo to link to all of them. That could also improve user adoption in the form of contrib modules. Just a thought.

Four v0.3 log

Coming soon

This list is updated as and when features are completed. Use this list to track whats coming:

Change log:

  • Move Texture UNPACK_FLIP_Y_WEBGL setting to ImageTexture only as this was resulting DataTexture's being sampled incorrectly for GPGPU.
  • Corrected the use of gl.viewport for OrthographicCamera.
  • Changed shader packages to use ES6 template strings for easier coding.
  • No longer need to index the gl context when passing arguments to constructors e.g. removed Four.gl.STATIC_DRAW, now only 'STATIC_DRAW' required.
  • Changed the use of require to import modules to use ES6 import.
  • Changed the build system to use Gulp and Webpack.
  • Fix warning errors of Attribute locations out of bounds.
  • Changed image loading to use Promises in ImageTexture.

Additions:

  • Add Canvas class to allow users to specify a selector from which to retrieve the canvas using querySelector. This also instantiates the gl context.
  • Add primitive property to Mesh to allow for a default primitive to be set for meshes at render time. This can still be overridden at render time using the draw method.
  • Add getters and setters, particularly where properties set depend on some prior parsing of the input.
  • Add flushable property to Framebuffers to flag if attachments are allowed to be cleared when done automatically at render time. The default behaviour is that framebuffer attachments are cleared at render time. Now the flushable property can be set to prevent this.
  • Add a particle system for physically-based simulations using Explicit Euler, Simplectic and Explicit Verlet numerical integrators: ParticleSystem.
  • Add cloth for physically-based cloth simulations using the mass spring damper model with the before-mentioned numerical integrators: Cloth.
  • Add damped springs for use in physically-based simulations: Spring.
  • Add usage property to meshes to specify dynamic meshes. Additional update function that accepts an array of 3-component vectors of vertices to update the mesh with when using DYNAMIC_DRAW.
  • Add indexed property to MeshLoader to specify if loading the mesh should retain the use of indices for use with ELEMENT_ARRAY_BUFFER.
  • Add default material to Mesh if one is not provided - defaults to white.
  • Add alpha support to the canvas: Camera accepts a translucence
    property from 0 to 1.
  • Add a default position for lights and radius and intensity values for point lights.
  • Add support for soft shadow mapping using Percentage Close Filtering. ShadowMapper accepts an antialias property to toggle this feature.
  • Add Bundle class to allow you to bundle your assets (e.g. ImageTexture, MeshLoader) into a single Promise. Calling the ready method on a bundle will then only fire when all the assets have loaded. e.g. bundle.ready(function() { ... }). Bundles also provide a step function that is called when an asset has loaded. A default percentage progress argument is provided to the callback function.
  • New fourjs.io website for documentation!

$canvas is null

If I insert
<script type="text/javascript" src="./lib/four/dist/four.js"></script>
in the <head>, then the browser somehow fails to get hold of the canvas element.
Adding it at the end of the <body>, as in your examples, seems to solve it.
By the way, how about being able to attach to a particular passed canvas element or by ID?

Add AR support

Add support for rudimentary augmented reality using WebRTC, OpenCV and AR markers.

Address performance

It seems after extended use of the test demo, it becomes increasingly slower. Need to add a destructor to all entities to free resources better.

Update the README.md

The README does not reflect the current state of the project well. Needs updating.

Isolate shader packages

Explore the possibility of scoping shader packages with their own main functions, and instead make them standalone programs i.e. program per effect. It would be easier to use...maybe.

Remove gulp and webpack

The build process is not complex enough to warrant a task runner like gulp. Could just use npm scripts:

  • browserify using babelify with .babelrc, uglify and bannerjs
  • browserlist
  • eslint using StandardJS

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.