Aeva / m.grl

Midnight Graphics & Recreation Library
http://mgrl.midnightsisters.org
GNU Lesser General Public License v3.0
44 stars 3 forks source link

remove old m.multipass machinery #198

Closed Aeva closed 8 years ago

Aeva commented 8 years ago

The old syntax for setting up rendering,

please.pipeline.add(10, "project/draw", function () {
    gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
    graph.draw();
});

Should be removed entirely in favor of configuring a render node to be the root node of the compositing graph.

As it stands, there is a "bug" that result from the old system staying around: the picking system will change the current shader (because it uses render nodes) and if the rest of the rendering does not, then the active shader will be the picking shader when comes time to render the scene.

Also, the "standard project template" really needs to be updated to use render nodes so as to not mislead anyone.

The new syntax will be:

please.set_viewport(render_node);

Any scheduler stuff should be folded into m.time and simplified to remove rendering logic.

Aeva commented 8 years ago

This is basically done now the landing page demo needs to be refactored. Two demos have bugs that prevent them from working that are not regressions introduced by this refactoring. Several other demos feature minor regressions. They are:

This branch very much breaks backwards compatibility with anything that was using methods in the 'please.pipeline' namespace, so now might be a good time to create a snapshot of mgrl and call it "experimental build 0001" or something otherwise scary that doesn't at all sound like a stable release. A changelog file should be added the outlines the new changes (should also include what is new from #200).

Basic gist:

Aeva commented 8 years ago

an announcement post has been made, so I guess this can be merged by the end of the week. http://forum.midnightsisters.org/viewtopic.php?f=4&t=11&p=37#p37

Aeva commented 8 years ago

This has been merged into master, so closing now.