We had an attempt at ui3, connecting a 3D library (was it open GL?) to objects in Self.
This work was done by a student of Andy VanDam at Brown. A sample environment or two were created in 3D, but a full 3D programming environment felt just too clunky at the time.
One environment had a bunch of bouncing boxes in a 3D world ... you could grab and move a box with the mouse. There was a special key combo with which to "go meta" -- which in this case meant going "out of body." Your point of view backs away and you see the frame and camera through which you had been viewing the world. With the frame and camera as reachable objects, you could move them around, attach the frame to a bouncing box, or pull the camera away from the frame to give it a more telephoto view of the environment. There was an "anti-meta" operation to let you resume use of any frame-camera pair you might find.
--Randy
On Nov 13, 2010, at 5:33 PM, Jecel Assumpcao Jr. wrote:
Russell Allen wrote:
As far as I know there are only two guis in 4.4 - iu1 and ui2 (which is morphic). Neither is particularily 3D though 'ui1' has a nice boxy look.
I do remember some mention of experimental code besides ui1 and ui2, but couldn't find it again in a quick search. Certainly it wouldn't be something that would be included in an "official" release at any point in the past. I did find an email from me asking about it in 1996, but there was no reply:
http://www.merlintec.com/old-self-interest/msg00858.html
Ah, I see that a little earlier I had found that out by looking at benchmarks listed in papers about Self:
http://www.merlintec.com/old-self-interest/msg00895.html
We probably should make ui1 an optional install for the core clean.snap for 4.5 to reduce confusion.
That would be great. If I remember correctly, ui1 wasn't available at all when Self 4.0 came out. Many of its interesting features was included in ui2, but enough were not that it is nice to be able to play with the old code as well.
On 13/11/2010, at 10:28 AM, Jan-Paul Bultmann wrote: Hey, I see the traces of some sort of 3d Gui, but I can't find any information about it. Could you give me some vague overview^^?
I'll mention some related project:
Nick Drew created a very interesting 3D program visualization environment for Self, which he announced here:
http://www.merlintec.com/old-self-interest/msg00630.html
Unfortunately, the pages mentioned there vanished long ago and can't even be found in archive.org. They included many neat pictures and some movies.
I had the intention of creating a 3D GUI for Self and implemented a quick prototype (first in GW Basic, then in ARM assembly language):
http://www.merlintec.com/lsi/gui.html
The idea was to build it in an alternative to OpenGL style systems called "adaptive rendering" because it was similar in some ways to the adaptive compilation in the Self VM:
http://www.merlintec.com/lsi/gmodel.html
-- Jecel
Randy Smith wrote on Sat, 13 Nov 2010 13:12:29 -0800
We had an attempt at ui3, connecting a 3D library (was it open GL?) to objects in Self.
John Maloney mentioned XGL in:
http://www.merlintec.com/old-self-interest/msg00346.html
This work was done by a student of Andy VanDam at Brown. A sample environment or two were created in 3D, but a full 3D programming environment felt just too clunky at the time.
Interesting! I had seen this later discusion and it had given me the impression that Brown wasn't involved in the GUI work:
http://www.merlintec.com/old-self-interest/msg00476.html
Their course was great - too bad it died out.
One environment had a bunch of bouncing boxes in a 3D world ... you could grab and move a box with the mouse. There was a special key combo with which to "go meta" -- which in this case meant going "out of body." Your point of view backs away and you see the frame and camera through which you had been viewing the world. With the frame and camera as reachable objects, you could move them around, attach the frame to a bouncing box, or pull the camera away from the frame to give it a more telephoto view of the environment. There was an "anti-meta" operation to let you resume use of any frame-camera pair you might find.
This was a very good idea. In Teleplace (commercial version of Croquet) you can use the mouse scroll wheel to "step back". Your avatar doesn't move, so this changes from a first person viewpoint to a third person viewpoint. You see your cursor as a ray shooting out of the avatar, but you don't see the old frame you were using.
The meta idea fits in well with the Morphic ideal. But sometimes it is nice to have more direct ways to navigate. Moving a long way in Kansas, for example, is very awkward when you have to carry along an object because you have to keep dropping it to deal with the radar view for the next little step. I added navigation using the arrow keys in one Self snapshot I used a lot to avoid this.
-- Jecel
self-interest@lists.selflanguage.org