[squeak-dev] Squeak graphics colloquium
hannes.hirzel at gmail.com
Tue Oct 3 12:51:34 UTC 2017
On 9/28/17, Marcel Taeumel <marcel.taeumel at hpi.de> wrote:
> Hi, there.
> Here are some thoughts that might help in the next brainstorming(s):
> - The canvas abstraction (i.e. "draw line from to" instead of "put/copy
> pixels") has been part of Squeak/Morphic since 1999, which is almost the
> - That canvas abstraction should be extracted from Morphic and moved into
> Squeak's base system because it is not inherent to what Morphic accomplishes
> in terms of tangibility, direct manipulation, and interactivity for the
> Squeak environment.
I agree with this and it seems to be comparatively straightforward to do.
The discussion in the thread 'What is the task of NullEncoder?' has
shown is that the best thing is just to move NullEncoder with
subclasses NOT directly doing Postscript out of the 'Morphic-Support'
category to a class category 'Graphics-Canvas'.
Should I go ahead and put this into the inbox?
> - Text layouting (i.e. Paragraph or Morphic3's NewParagraph) should also be
> moved into Squeak's base system for the same reason.
> - Take a look at Squeak's PostScriptCanvas to further reason about the
> potential of Morphic getting OpenGL support. Tim Felgentreff made it work
> again a few weeks ago. That export still has its limitations because there
> is code that relies on pixel information.
> Am 28.09.2017 04:30:47 schrieb David T. Lewis <lewis at mail.msen.com>:
> Thanks for this excellent summary, and thanks to Tim for organizing the
> discussion. I was not able to be there, so it is really good to see your
> notes here.
> On Wed, Sep 27, 2017 at 05:33:15PM -0300, Jecel Assumpcao Jr. wrote:
>> The meeting has just ended after two hours and a half. Thanks again,
>> Tim, for organizing this! We had six particpants.
>> I created this sort of agenda:
>> we need Squeak Graphics to be:
>> 1) pretty
>> 2) fast
>> 3) everywhere
>> 4) easy
>> 5) compatible
>> The focus of the Board meetings so far has been on the first 3 items.
>> Item 1 was what started all this. Tim needs better quality graphics for
>> his virtual dials. Moving from bitmap graphics to vectors with some nice
>> rendering scheme like Juan's Morphic 3 would help. The VPRI people
>> produced Nile/Gezira which could adopt the Morphic 3 rendering
>> algorithm. Craig has been doing interesting stuff with SqueakJS
>> including WebGL.
>> To make it fast we need to make use of GPUs and multiple cores. Juan has
>> been using OpenCL in his own work and Dan wants to have a version of
>> Nile use SPIR-V (essentially a binary version of OpenCL). Unfortunately
>> some platforms we are interested in don't have OpenCL nor even the
>> desktop version of OpenGL. The most common denominator is OpenGL ES 2.0
>> from 2007.
>> Lawson showed two Youtube videos he made in 2012 combining OpenGL and
>> Merik mentioned the KWorld and KScript work from VPRI that goes with
>> Nile. Tweak was also discussed. This time we didn't go into what is
>> being done in Pharo except for a brief mention of the Sparta / Moz2D
>> All of the old OpenGL stuff in Squeak used the original fixed pipeline
>> model but OpenGL ES 2 is incompatible with that is uses shaders for
>> everything. A simple interface to that has the problem of shaders being
>> black boxes in the form of Squeak strings that get passed to the drivers
>> without allowing any kind of debugging. One solution would be to have an
>> OpenGL ES implementation in Squeak which could be used both for
>> debugging applications and to enhance the Cog simulator so not only
>> could it deal with x86 processors (via Bochs) but also with GPUs.
>> Obviously quite a bit more was discussed (some of it off topic) but I am
>> trying to keep this short. I plan to create a "map" showing MVC, Self
>> Morphic, Squeak Morphic and so on as software stacks in the style of OSI
>> network models. Tihs should help with further discussions.
>> See you next time!
>> -- Jecel
More information about the Squeak-dev