Comments (2)
That looks like a very interesting paper !!! I will definitely give this a look over. Thanks for the link.
from chrysalisp.
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)
- Class serialize/deserialize HOT 1
- Refactor IPC to modularize for extension and declare TERMINAL_SERVICE
- Update IPC to use new AST conversions as a form of message interchange
- DLS flag and Timezone from Host System.
- Update YAML data
- Fix Logging for new mail-box conventions HOT 1
- Transition Log Service to new IPC and data exchangers HOT 1
- Fix yaml string quote compounding
- Display scaling options? HOT 5
- src/main.cpp:37:11: fatal error: 'SDL.h' file not found HOT 5
- Package manager needed HOT 3
- @Chris HOT 16
- Containers woven in to foundations HOT 1
- Interprocess communication port needed HOT 4
- WYSIWYG interface builder HOT 6
- A browser for ChrysaLisp pages. HOT 10
- WebDriver compatible functional UI clicking test automation HOT 1
- reload definitions in lisp HOT 3
- error while compiling HOT 3
- error HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from chrysalisp.