Git Product home page Git Product logo

Comments (2)

vygr avatar vygr commented on May 5, 2024 3

That looks like a very interesting paper !!! I will definitely give this a look over. Thanks for the link.

from chrysalisp.

vygr avatar vygr commented on May 5, 2024

Sorry for taking a while to get back on this.

So, I read the paper, and very interesting it was. But it didn't really push me in a different direction to how I currently do the compositor. Let me explain...

The paper talks about the invention of alpha and specifically the pre-multiplied alpha and how this benefits so many things. Totally agree, the canvas stuff in ChrysaLisp has always been pre-mul alpha for exactly these reasons. The paper also deals with the idea of a box algebra, but I didn't see a conclusion to these things in the paper... am I correct that this paper never got finished ? Forgive me if I missed Alvy's death or such.

The GUI (gui/region/*) code does all the box (rect) algebra for the compositor. This is used by the GUI update function (gui/gui/update) to build a set of contexts for every exposed (visible) dirty region on the screen and then calls down to GUI components draw methods to fill in the exposed region in the correct sequence. Typically the draw function ends up using some pre-multiplied-alpha resource (font glyph cache, canvas bitmap from the GPU or some fairly boring GPU box fill/alpha fill.

I do believe that what I'm doing is in the spirit of the paper. Many years of trying to get an underpowered home computer to meet the frame blank period, and get its sprites drawn, does that to one ;)

I've not yet moved to interfacing direct with the GPU for polygon drawing ! That will probably influence how I go forward with the (gui/ctx) API. At the moment it's extremely spartan, having about 5 methods in total.

And I'm not ruling out that I may have missed something monumental in the paper, but just too weak minded to see it. :) I am a bear of very little brain when it comes to math :(

Chris

from chrysalisp.

Related Issues (20)

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.