2001-09-28 (Friday)
Whoa. Today it has been almost 28 months since we first started to work on Verse here
at the Interactive Institute. During
this time, we have learnt a great deal, and also accomplished a great deal (in our own
humble opinions, of course). However, we have sort of run out of steam in various ways,
and have decided to halt the development of Verse for the time being.
The reasons are several, but the most important one is the fact that we haven't been able
to find the resources we feel the project "deserves", and that prevents us from achieving
the momentuum to continue. We have (very generously) been offered a chance to continue to
work on Verse while making efforts to find external interest, but we are basically too
exhausted by our previous attempts to find that an attractive notion.
I would like to thank everyone at the Institute of course, for (as always) making it one
of the most interesting places imaginable to work at. Further, thanks to all who have in
one way or another contributed to the Verse project during these 28 months. Thanks to
SourceForge for their incredible hosting
service.
/Emil
Eskil's take on all of this:
Contrary to popular belief I do still exist, but I can unfortunately tell you that
what Emil is talking about is true. I have spent the last two and a half years working
on this project without any breaks and without any vacation, and I am getting tired so
we need some time off. My responsibilities have grown way too large, and I have not
felt the support we have needed in the form of developers and money. This is why we have
decided to not extend our contract with the Institute.
So what went wrong? The the biggest problem with the project is that we have been too
innovative. People simply cannot understand it. It has been very difficult to label, and since
it is so open it is hard to categorize it. It is not obvious that networking is the thing that
the graphics community needs.
We have found that business people, the open source community, and the graphics community
simply don't understand what we do. Many times we have found that once people take a moment
and talk with us, they understand what we have done and that it could fundamentally change
the way we use the Internet. I guess that all ground-breaking innovation has a tough time
communicating itself. This is something that worries me, if companies and the programmer
comunity fail to recognize innovation how will we move forward? Another worry is that the
only way of doing something like this, is to spend so much marketing money that it becomes
impossible to do it in an open and non propietery way, like it deserves to be.
To me Verse still represents what I consider the best idea I have ever had, and it will be
impossible for me to just let go of it. All other ideas and projects feel like they lack
potential compared to this one. But I can't just go on in it's current form, it will just
wear out Emil and me and not lead to any significant advances. Now I need to focus on other
things and other ways of solving this.
I will still keep working on the Verse project, and I hope to be able to work on it in another
form in the future. I am still actively working with some contacts from some very interesting
companies. I think that this project will need to change in the future and I am determined to
investigate all options. And of course I just can't stop coding... (I think that once you as
an artist get the opportunity to design your own tools there is no turning back ;-)
During our time at the Institute we have done some things that I am very proud to have been a part
of, much of this is thanks to Emil who has been the best co-worker one could wish for. We have had
a great environment to work within with, many people who I consider more then coworkers, they are
my friends.
I guess we just went too far...
Oh yeah, and take a look at my new site it's not done or any thing but hey!
/Eskil
2001-09-14 (Friday)
I'm trying to get back to doing something at least borderline productive here, after the
horrible events of the 11th. Please note that the update to this diary I did on that
Black Tuesday was done in the morning (local time), thus before the attack on the US
occured. Otherwise, the tone had been very different indeed.
Anyway, today I put together a little page that tries to detail some of the magic that
happens when you subscribe to a node in Verse, namely by showing what information gets
sent to your client, and how it is organized. The page is linked to under
"subscription details" above.
/Emil
2001-09-11 (Tuesday)
Hi, there. We're back from the EuroGraphics 2001 thingie in Manchester, UK. Quite a nice
place, and also a rather nice conference in my opinion. Of course quite a long way from
the sheer size of SIGGRAPH (at roughly 1% of the attendees), but also cleaner and more
focused in my view. Nice. Eskil's presentation went without major problems, as more or less
expected. I saw a few interesting things in other presentations, and would like to investigate
a paper or two further.
Unfortunately, I don't think I will have the opportunity to do so, since at prsent, it
seems as if the Verse project is shutting down in three weeks (and the end of September).
More about this later, as things develop.
I've checked in absolutely huge amounts of code from Eskil, updating the Enough
renderer beyond recognition. It can now act as a geometry editor, among many other things
weird and wonderful. I'm not 100% certain that it's compatible with the rest of the main
Verse CVS (the transformation flux is annoying), however.
/Emil
2001-08-28 (Tuesday)
I'm trying to get back up to speed with the (seemingly endless) evolution of the object transform
system, by working on rotations. It's making my head spin. ;^)
/Emil
2001-08-23 (Thursday)
Hey, take a look at what Eskil managed to cram together using a free demo version of Newtek's
Lightwave 3D with accompanying SDK:

Click for original image (658x524 PNG, 90KB)
The plug-in acts as a Verse client, which connects to the specified server and downloads bitmaps which are then made
available as textures inside Lightwave 3D. If a texture is changed on the Verse server, the change will appear inside
Lightwave 3D, just as always with Verse data. This is pretty cool, especially for roughly two days of work. ;^)
Props to Newtek for making the demo version freely available so we can test out things like this, by the way.
/Emil
2001-08-20 (Monday)
Well, another week begins. Eskil's just back from his trip to LA and SIGGRAPH (he came straight to
the office from the flight, of course :), with lots of tales to tell and trinkets to display. It'll
be interesting to see if any of his many meetings leads somewhere. Let's hope.
/Emil
2001-08-14 (Tuesday)
Eskil is apparently doing fine over in LA (he sent some email). New furniture mentioned yesterday
did indeed arrive today. I was in the office at 06:35. Ouch.
Just to do something, I updated the old VLL Guide with an initial
description of the "new" (third-generation)
object transformation API. It's not complete, and its certainly not as deep or pedagogical as
it could be, but at least now it's in sync with the code.
/Emil
2001-08-13 (Monday)
So, this is SIGGRAPH 2001-week. Eskil is (hopefully) on location in LA, and has a few very exciting
days to look forward to. Meanwhile, I'll have to get by reading all the usual news sources for the
regular releases. I'm looking forward to new graphics chips from the industry leaders, of course,
but also perhaps some interesting papers or other more theoretical stuff. And I'm sure Eskil will
bring home lots of entertaining widgets, trinklets, bric-a-brac, and generally assorted junk handed
out by booth attendants.
In less globally exciting news, tomorrow should bring the entire studio
some long-awaited new furniture. That means today will be a day of shelf clearing, and general
preparations in the physical space. ;-)
/Emil
2001-08-07 (Tuesday)
Yesterday I checked in some improvements to Adamant, the Verse material editor. The most major addition
is the "Clean Up" command, which attempts to bring order to the chaos of interconnected fragments by
laying them out for you. This is often handy. I must say that Adamant really is one of the nicer tools
I've written for Verse, so far. Coupled with Eskil's rendering engine, which lets you see many of the
changes you do in realtime, some pretty impressive things can be done.
Eskil leaves for SIGGRAPH 2001 in LA in four days, so
we probably need to work a bit on presentation material and so on for that. Exciting.
/Emil
2001-08-02 (Thursday)
I just checked in this week's
quick hack into Verse's CVS. It's a little tool called visiverse, which allows data held in
Geometry nodes to be inspected numerically. Hopefully it'll acquire
the ability to edit data, too. At the moment, this tool only builds in Linux and other Unix-like
environments; I have not written a Makefile for Win32. Just to give you a taste, here's a screenshot
of what visiverse looks like when running:

Click for original image (845x532 PNG, 26KB)
The left half of the window shows vertex layers, while the right one holds all the polygon layers. The
screenshot shows the first 25 vertices and polygons of the "standard" girl model. Notice that all 25
first polygons are quads (they all have four valid vertex indices) and that only minimum (0) and maximum
(4294967295) values appear in the polygon crease layer.
/Emil
2001-07-30 (Monday)
Zzzzzzz. Huh? Work? Oh, yeah, I remember work! Which is probably good, since my days as a vacationing programmer seem to
be over, and I'm back at the office. Luckily, Eskil has been here every day for the past four weeks, busily furthering the
development of this rendering client (Quel Solaar, the program formerly known as Enough). This
has led to the discovery of some exciting, er, "features" in the server code, so I should have something to occupy myself
with for the immediate future. Also, as the aforelinkedto page might make you suspect, a more public release of Quel Solaar
is (semi)imminent, which might make it a good idea to try it out under Linux. That usually means quite an involvement from
my part, too.
Vacation was nice (it was a first during my two years at the Institute), but
I think the coming two months are going to be very exciting, too. There's the upcoming
SIGGRAPH 2001 in LA, which unfortunately I'm not going to attend--although Eskil is. Then there's the also even more
excting EuroGraphics 2001 in Manchester, where Eskil is going to present a paper
on his subdivision surfaces implementation. The paper itself will hopefully be made available here in the future, I guess...
/Emil
2001-06-29 (Friday)
I just checked in some brand new client code
into CVS. This client, called webpic2verse (how's that for informative?) simply imports pictures from any web
server straight into a bitmap node on a Verse server. This sounds simplistic, but is remarkably useful. One goal I had in
mind while doing this was to access various web cameras, for example. Currently it only supports JPEG images (through
libjpeg) but adding more formats is simple enough.
That was before I learned of images.google.com, though... ;^) I have
ideas, but implementing them will have to wait. I couldn't decide what image to show off, so I didn't bother with a
screenshot of the client. I hope it's fairly simple to understand what it does. If not, reading my little
README
might clear it up.
Anyway, it's fairly straight-forward as code goes, and in structure resembles the older
vnc2verse client quite a bit.
In other news, Verse is currently "featured" on the front page of OpenGL.org, which
is cool. And today is my last working day before four weeks of vacation, which is even cooler! Yay! ;^) Have
a great July everyone, I'll be right back in August!
/Emil
2001-06-27 (Wednesday)
I just uploaded a version of the showreel in DiVX:-) format, for your multi-platform viewing pleasure.
Also probably for your bandwidth-conserving ditto, since it weighs in at a bit over 12 MB, as compared
to the 44 of the old QuickTime version. Talk about technological advantage. :) See the movies page
for more.
/Emil
2001-06-25 (Monday)
In celebration of, um, not very much at all, I just checked my working tree of Verse back into CVS. This means
that a preliminiary and incomplete version of the third-generation transform system is now publically available.
Please note, however, that it really is incomplete. For the three components of transformation, namely
position, scale, and rotation, status is as follows:
- Position
- Roughly 80% complete. New approach with per-client forces that are summed by the server is implemented,
seems to work, and is actually very nice. Still missing is support for friction, and there will likely
be a few minor call renames. Still, this is useful (and cool!) enough that I wanted to make it available.
- Scale
- Scale support is actually complete, but very very primitive. This is by design, as we've basically
decided that scale is used only rarely, so there are few benefits in providing a full-blown event-based
simulation system as we do for positions. This might be wrong, but it saves work now at least.
- Rotation
- Currently only an absolute immediate direct-set interface is available for changing an object's rotation.
Basically a copy of the scale system, this will change in the future towards something very much like
what we have for position now.
So, there you have it. Note that this check-in breaks some of the simpler clients in app/, which have therefore
been either removed from the build, or "patched" to ignore transform. Also, no external clients have been brought
up to date. I'm not 100% certain that is going to happen either, since the transform system as made available
today isn't complete, and any work done to bring clients up to date might be wasted. Also nonupdated is all the
documentation linked to above. Have patience.
To see how the new transform system can be used by a client to apply an arbitrary force to all objects,
indepently of what else is going on, see
force.c.
This is something which sounds simple enough, but was impossible to do in older designs.
Today's checkin has been tagged in CVS as transform3-partway-20010625.
/Emil
2001-06-23 (Saturday)
Just wanted to mention the new dedicated showreel page I just put up. It's
nothing advanced at the moment, but will hopefully grow a bit more featureful in the future.
/Emil
2001-06-20 (Wednesday)
Hey, today I got Verse clients running on the lovely Compaq
iPaq handheld computer for the first time! It turns out the StrongARM CPU used in the iPaq has a very exotic
format for its double-precision (64-bit) floating point numbers, which completely killed the "netpacking"
subsystem that deals with formatting data in a standard way for network transmission.
I've now added a temporary (hopefully) work-around to the code, which lets double precision
numbers survive the trip. Furthermore, getting OpenGL
(in the form of Mesa) API support on the iPaq was a bit
complicated. Verse on the iPaq runs using the Familiar Linux,
made available over on Compaq's Handhelds.org community site.
Which totally rules, actually.
Here's a picture showing the iPaq running a Verse client:
Click for original image (800x600 JPG, 48 KB)
The iPaq is running "uvedit", which is a simple UV mapping editor. The 2D mesh visible on its screen
is the mapping of the texture on the standard girl model. The usual prototype-quality renderer is
running on the PC behind the iPaq. Both machines are connected to a Verse server elsewhere in the
building; the iPaq using its wireless LAN (the Lucent card) and the PC using, well, regular LAN.
The mapping mesh can be manipulated using the pen, and the mapping immediately changes on the PC as
well. This demo, running between two ordinary PCs, also appears in our show reel, by the way.
/Emil
2001-06-13 (Wednesday)
I just added yet another chunk of Verse development history to the
archives, making this page a bit shorted and easier
on the bandwidth in the process. Also took the time to fix some broken links in the archived
pages, and some other instances of very broken HTML in assorted places.
With a cluster of spare neurons, I'm thinking about what Eskil and I actually could have been
thinking about when we "specified" the plans for the new transformation system I've been working
on for the past couple of weeks. Some parts of it just don't make sense anymore. ;^) Well,
we'll look into that as soon as he returns to the office, I guess.
I'm condidering resynchronizing my tree with the CVS one... Naah, I will probably not do that today,
since I would prefer to have a somewhat more complete reimplementation before committing anything.
/Emil
2001-06-12 (Tuesday)
With Eskil on vacation (!), I'm left all alone in our little office... I'm continuing work on the new
transformation system. It's now roughly 40% complete, with object position control complete enough to
be usable. Scaling, which is dramatically simpler (and less powerful) than in the current CVS version,
is in too. I fear rotation, so that's still left out. There are a few tweaks and general server-side
optimizations left to do, but I'll postpone those for a while.
/Emil
2001-06-11 (Monday)
One version of the much-mentioned Verse show reel
(QuickTime Sorenson),
44 MB) has been made available. This is a medium-quality version; a version with slightly less destructive
compression is in the works but will probably not appear this week.
The movie shows many of the demos we have, mixed with some general platform information. It's
a mixture of CGI, screen captures, and video, all accompanied by groovy music and Eskil's
debut as a voice-over. ;^)
Um, I fear that because of the choice of encoders, this film is not viewable on e.g. Linux
or other non-mainstream platforms... My apologies.
Comments welcome. Enjoy.
/Emil
2001-06-07 (Thursday)
We're still alive, actually. Eskil is putting the finishing touches to the show reel mentioned
below, and I'm trying to get somewhere with the new object transformation system. Today I got
the first 30% or so of it working more or less, and it was pretty cool.
I wonder how many times, during these two years (more or less exactly, this week I think), that
a technological break-through has manifested itself in the shape of a cube moving on my screen.
At least three or four times, I think. That's the thing with doing infrastructural development,
I guess: the cool thing isn't that it's a cube, but rather how it's a cube. Or, in
today's case, how the cube moves. :)
/Emil
2001-05-29 (Tuesday)
Hello, me again. No pictures this time, though. ;^) In theory, I'm currently working
on the third incarnation of Verse's object transformation system. It's a fairly novel approach,
based on additive forces (for translation and rotation). We'll see if we can get it together,
right now I'm quite confused over the whole thing to tell the truth.
Eskil is working on a short "show reel"-type information video about Verse, which is really looking
great and will probably also be very instructive. I assume it will be posted here when finished, so
keep an eye open. He also managed to implement a first version of true real-time 3D shadows in Enough.
It's not impossible, although I wouldn't dare to make a prediction, that he'll resynchronize the
code for Enough with CVS sometime this millenium.
Saving the coolest things for last, Eskil wrote a paper about the subdivision surface algorithm
used in the Enough browser client, for the EuroGraphics 2001
conference, and it was accepted!! So, big congratulations to Eskil, of course. This rocks.
My paper, which was about the Verse platform in general, was ("borderline") rejected. Oh, well. I guess
one out of two is good enough. ;^)
/Emil
2001-05-22 (Tuesday)
Wow. Yesterday, we had the rather immense pleasure of seeing someone outside our little
office at the Institute actually use Verse to do stuff. And not just any old stuff
either, but something as cool as realtime spring/mass physics simulation! Here are a couple
of shots showing a simple unicycle model, that moved around in realtime:
|
|
| Click for original (1534x1168 PNG, 10KB) |
Click for original (1534x1168, 11KB) |
The underlying physics simulation engine used here was written by Johan Jansson, currently at the
Delft University of Technology. It was linked to Verse through
a gateway client written by Mattias Rehnberg, at the Chalmers
University of Technology (Gothenburg, Sweden). Mattias is subscribed to the
verse-misc mailing list, so
he can be contacted fairly easily.
These shots were taken by me at our office in Stockholm, running the "classic" prototype-quality rendering
client. The servers, along with the specialized gateway client that connects Verse to the physics simulation
engine, were both run by Mattias down in Gothenburg. I saw the cycle move in realtime, and got a really good
impression of the physics behind it... The distance between Stockholm and Gothenburg is roughly 470 km.
Mattias ran the server on an SGI O2 workstation,
running Irix on MIPS hardware, while I connected using my standard AMD-based PC
running Linux.
We'd like to say "thanks" to Mattias and Johan for pulling this off, it was really good to see! We're looking
forward to more results as the physics engine continues to evolve, and Mattias gets further along with the
integration with Verse.
/Emil
2001-05-21 (Monday)
Ah, we're back from a pleasant trip to Malmö, where this year's Institute-wide party
took place. Always nice seeing a few more of the interesting people who work at the
Institute.
Anyway, as hinted about below (the entry from May 10th), we were about to do some iPAQ
hacking. Continuing the graphical trend of illustrating progress using images, without
further ado:
|
|
| Click for original (1600x1200 JPG, 169KB) |
Click for original (900x1200 JPG, 114KB) |
Apologies for the rather low quality of these imagaes; I didn't have the time to figure out
how to make a proper screenshot, so I settled for using my camera. Focusing on the iPAQ on
the tabletop was apparently difficult, or maybe I was so excited I couldn't hold the camera
still. ;^) The, er, weirdness above the server startup texts is me trying to type
using an on-screen keyboard, and failing.
Thanks to John Wentworth and Anders Vedmar in the Narrativity studio for giving us the
opportunity to try this out. I'm definitiely impressed with the iPAQs, and look forward to
seeing what uses they will put them to.
/Emil
2001-05-14 (Monday)
Well, it seems this Autoconf idea wasn't all that bad, after all. Thanks to a generous loan from a friend,
I just managed to take this rather funky screenshot:
Click for original image (800x600 PNG, 199 KB)
Yeah, that's right--Verse now runs on Apple's
Mac OS X operating system (on PowerPC hardware).
That's the fourth hardware platform I've compiled and run the server on myself, and something like
the sixth OS/hardware platform that is known to have run Verse. Cool, huh?!
This was managed through a rather ugly hack in the configure.in script, that I'm not all
that happy with of course. But hey, at least it compiles and runs without warnings! ;^) Oh,
and I haven't really tried any of the serious clients, either. But the VLL library builds OK, so
at least that's there.
/Emil
2001-05-10 (Thursday)
Just learnt about this lovely project, and hurried
over. I managed to build, run, and use a Verse server on the ARM architecture without any code modifications. Nice.
Next week, we'll be visiting the Narrativity studio in
Malmö, where they happen to be experimenting with a bunch of Compaq
iPAQs. That'll be... Interesting. ;^)
/Emil
2001-05-09 (Wednesday)
As mentioned in this mailing list posting,
Verse is being slowly migrated over to use GNU Autoconf
and Automake to handle the build process, at least
on sufficiently Unix-like platforms. The jury is still out about how to handle Win32. Manually maintained Makefiles,
as we do now, doesn't feel very hot.
Anyway, the conversion status for the main Verse CVS codebase is now roughly 80%, or something. Of course, rating
these things isn't an exact science, because I intend to re-do some of the conversion. One big win with really using
Autoconf would be including plenty of --enable-OPTION's to enable/disable various parts of the build, thereby
circumventing things like not having OpenVRML installed for example.
I'm still investigating, meditating, and generally thinking about how to handle this cleanly. Right now, the
dependencies of the codebase have not changed. Also, right now there's only one big configure.in for
the entire tree, which I'm pretty sure is not the right thing.
In totally unrelated news, today is my 26th birthday. Whoo-hoo. ;^)
/Emil
Site ver 3.0
|