2001-05-04 (Friday)
Incredible. We actually had the second part of The Meeting, and it was short and sweet.
We decided on:
Yup, we now have a fairly clear idea of how Verse will support bones, for hierarchical transform
in animation. Soon, all your walk cycles... ;^) I have no idea about the timeframe for
implementing these latest bursts of design, but we'll try to get around to it as soon as possible
of course.
In other news, expect the Particle node to change its name to Effect soon. Of course, Eskil still
calls it the "Physics" node, just to keep me confused.
/Emil
2001-05-03 (Thursday)
Yay, it's May! Um, er... Yeah. Anyway, today Eskil and I actually pulled off the first part of
The Meeeting. For those of you who don't know the term (which might be a fairly large
crowd, since I've never used it here before) that means that we spent three hours in a room with
a whiteboard, talking about things as exciting as these:
- A force-based translation system
- A force-based, axis-oriented1 rotation system
- A hysterically simple scaling "system"
- Bézier curves for vertex morphing and animation
This represents issues that we've been waiting for/dreading/trying to fix for almost a year. It's
(I think) the third attempt at handling the basic concept of object transformations, i.e. how to
express movement, rotation and scale. It will replace the current system with something completely
different. Hopefully, these new standards will appear in the code fairly soon. Usually with Verse,
specifying something takes a lot longer than implementing it in protocol and server.
This is not all, however. We hope to continue tomorrow, to nail down the remaining parts. I'll
refrain from listing them here, and hope to make an update tomorrow instead.
1Yeah, calling something "axis-oriented" is kind of ridiculous, I know. But it is.
/Emil
2001-04-27 (Friday)
We ordinarily don't use this page for things other than stuff of immediate interest, but
I think I have to make sort of an exception for this patent.
I'm not exactly worried (software patenting is still wobbly in Sweden), but it's annoying
nevertheless...
/Emil
2001-04-26 (Thursday)
The long-neglected Win32 "port" of Verse has been given a much-needed overhaul these last few
days. The main CVS "verse" module should now build without problems, more or less. Further,
I installed GTK+ for Win32
too, and "ported" both Adamant and lve over. The (pleasingly minimal, code-wise) results have
been checked into CVS.
The appearance of a Win32 build of Adamant (the material editor) allowed Eskil to do some
testing of Enough, revealing plenty of cool and wonderful stuff, but also some bugs to
squish. This is good.
/Emil
2001-04-18 (Wednesday)
I just enhanced the Download page with a bunch of links
to various libraries that Verse depends on, more or less. Should make life simpler when
trying to set up Verse to build and run on a machine. Enjoy.
/Emil
2001-04-11 (Wednesday)
We're still more or less alive over here, just not doing many updates to the old diary. Last week
we had the pleasure (at least from our perspective) of visiting
Linköpings University's Norrköping Campus. We held a couple of short lectures and
observed a group of students try to use Verse. It was a lot of fun (against, at least for us)
and also very instructive. Hopefully we'll have the time to actually apply what we learnt in
software soon.
The task we set up for the students in Norrköping was to try and write a UV editor, for
texture mapping. Since I wanted to try it out for myself before asking someone else to do it,
I whipped up a small proof-of-concept program before we left. I've spent a few more days on
it now, and here's what it looks like:

Click for original size (1290x512 PNG, 215 KB).
The screenshot shows my UV editing client on the left, and the simple renderer client on the
right. One vertex in the corner of the mouth is selected (red) and has been moved a little
bit. The resulting change in the texture mapping can be seen in the renderer in realtime, as
the mouse moves (as always with Verse). The UV client has not yet been checked into CVS,
but will be in the future.
Oh, and of course a big good-bye to Daniela and Ulrika who leave the Institute today... Be well! ;^)
Happy Easter, everybody!
/Emil
2001-03-29 (Thursday)
Ahh. We're back from the Game Developers Conference in sunny
San Jose, California. It was nice, although not quite as
nice as last year. We're not sure if that's because we've gotten better, or if it's the conference
that's gotten worse. Hopefully the former. ;^)
Work on Verse goes on. Eskil picked up a trick or two about how to implement shadow volume
rendering, and has already done a test version of it. I'm busying myself with getting back
in sync with the world, and also doing some minor hacking to fix the long-broken chat servlet.
In meta news, it seems as if the statistics
page over on SourceForge is up and running again. It leads me to
believe that close to 150 downloads of Verse have been done... Cool! Unfortunately, most of
those downloaders either junked the file directly, or found Verse so intriguing that they can't
take the time off it to send us feedback.
;^)
/Emil
2001-03-12 (Monday)
I just uploaded a new version of the old VLL User's Guide, this one covers
the recently checked-in
code for simplistic object light sources.
Oh, and there actually is a downloadable snapshot of the CVS tree available. It's already out of
date, though, so I would still recommend checking the code out of CVS directly. The snapshot is
here (934 KB, tar.gz source archive).
/Emil
2001-02-27 (Tuesday, later)
If you came here looking for code to download, please look into CVS,
since that's where it's at. We do not have any prepackaged files to download that are not
very much out of date. The "verse" subdirectory holds the core, the server,
and the VLL access API library, along with a set of sample clients and some data. The
other four directories ("adamant", "enough", "lve" and "vnc2verse") hold various client
programs, all of which are very cool. ;^)
Questions are welcome on the verse-misc
mailing list. Thanks for your interest.
/Emil
2001-02-27 (Tuesday)
Some plans:
I am currently working on Verse's upcoming physics/particle system,
and it is coming along nicely. Anyone who has looked at the "emitter
node" stuff that can be found in remote places of the source code,
will know that it is a sad piece of code... The particle system
doesn't really have that high priority but I found a hole in time,
Emil is working on some much needed updates in the server
(light sources, 8-bit layers, multiple materials per obj) and currently
our rendering engine is in a working state and there have been no
immediate things to fix. So I thought it was a good time to start researching
and thinking about our future particle system. My initial guess was that
the particle system would take 6 months, but it looks like its going
to be a lot faster. So I changed my mind, and I now aiming to finish it
before I start anything else.
So what else is there?
Well the two big things to come in Verse are the new transform system and the
animation system, and we hope to start working on them in about two weeks or so.
My rendering engine "Enough" is currently working OK, but there is a lot
of future plans for it, first of all it needs to start to support a lot
of new functionality in the Verse server, but that won't be too much
work I guess. There is nothing wrong with the material system, but it
needs to support more of Verse's new capabilities, and this leads me to
start working seriously with NGL, mainly starting to support a lot of OpenGL extensions
and making some optimizations. I hope to take some time just to clean up some of the code,
and optimize some really dumb stuff. (There's lots of stuff that is supposed to work, but
just isn't finished). I have seriously started thinking about shadow volumes as well.
(And of course I'm always eager to re-write the geometry pipeline... Again... And again! ;-)
Another side of Enough that has been lagging behind, is documentation.
I am planning to set up a separate site dedicated to just Enough, but
since I'm planning to re-write the UI for it, it feels kind of silly
to document the current one...
Now to the goodies! As you can see we have re-designed some of the site,
and here are some art for your desktops:

Small (1280*1024) (289 KB PNG)
Large (1600*1200) (389 KB PNG)
Original (3000*1200) (994 KB PNG)
If you happen to run Win32 you can download this preview of the particle stuff I'm working on.
Binary only; it's not in CVS yet, but if you desperately want the source mail me, but I must
warn you it isn't always pretty... ;)

physic_test.zip (203 KB ZIP archive)
Another tip is to head over to Discreet, and download their demo of
Combustion, finally something more addictive than CS!.
And finally a special thanks to the great people at ATI for sponsoring us
with a Radeon DDR card!
/Eskil
2001-02-12 (Monday, later)
Hi everyone! (I like to use the word "everyone", it helps me imagine lots of
users...;-))
I'm currently working on the forthcoming particle system. We were
supposed to design and implement the animation system first, but until Emil
with the minor changes that need to be fixed in the server (material look-up
tables, 8-bit layers, light sources, and some other stuff) I have some "free
time" to spend on the particle system.
The "Enough" rendering engine is working fine, and is fairly stable; I was
surprised it worked so well in Vegas... I should fix a page with an easy-to-download
executable soon.
GTS was really cool, lots of nice people, and San Francisco is a really nice place
too (better then Vegas...). I found Björk's "All is full of love" on DVD;
Cunningham rules...
Also join the mailing list and fire away all your Verse questions at:
http://lists.sourceforge.net/lists/listinfo/verse-misc
/Eskil
2001-02-12 (Monday)
OK, the User's Guide as well as the little
VNF description have both been updated to cover
the changes checked-in on Saturday, i.e. support for 8-bit integer-per-face polygon
layers. Enjoy.
/Emil
2001-02-10 (Saturday)
I just checked in a change that is rather minor in theory, but large in practice,
into CVS. Verse geometry nodes now support an "8-bit unsigned integer per polygon
face" layer type. This change, while sounding simple, required the entire layer
naming scheme to be updated, which in turn required the VNF data format to change,
and along with that the tools that generate and read said format... It all piled
up, and in the end I think the change touched about 40 files. Anyway, an initial
version is up now, with more to come. Specifically, the VLL guide has changed but
not been uploaded, and the VNF mini-manual page needs to be updated, too. But I
think I'll leave those things for Monday.
/Emil
2001-02-06 (Tuesday)
OK, Eskil's back from the Game Technology Seminars, and we're trying to get back to
business over here. Hacking Verse, that is.
I just finished (as in designed, implemented, ported, and documented) a new interface
for creating and describing nodes. This is a semi-major change, in that it affects almost
all clients. Gone is the old vll_send_describe_nodes() VLL function, and
also gone is vll_send_o_node_create(). The latter has been replaced by a
system command (vll_send_s_node_create(), no less) and the former has had
a change of name (it's now vll_send_s_node_list()) and callback prototype.
All in all, I'm rather happy with the way node creation and descriptions work now. The
old interface was smeared between being system and object commands; now it's all done as
system commands. The new code is in CVS, and the VLL User's
Guide has been updated. Ah.
/Emil
2001-02-01 (Thursday)
OK, we (um, or at least I, Eskil found something else
to occupy him for a few more days in the US) are back! NATPE was probably a success, although
you could have fooled me to think otherwise pretty much anytime during the event. It was
fairly chaotic. I also took the time to catch the flu, with lots of fever, coughing and
associated general misery. But that seems to be receeding now, for which I'm happy.
My focus now shifts to general fixing of parts that I noticed needed fixing while doing
the NATPE thing, and preparation for the scientific evaluation of the
Institute that takes place around the end of this month.
/Emil
2001-01-16 (Tuesday)
In celebration of us going to the much-talked about NATPE
expo tomorrow, I just checked in a new nifty tool currently called lve
into the good old CVS over at SourceForge. Nice to know it's there, if nothing else.
Soon time to go home and start packing, I guess.
/Emil
2001-01-08 (Monday)
We're currently working our collective behinds off preparing for the upcoming
NATPE 2001
(Flashy site) expo over in Las Vegas, USA, where we will be showcasing some of the Verse
technology together with SVT (Swedish National
television) and Ericsson (the telecom
giant). This is of course incredibly exciting, but also somewhat stressful. More
information on this later on, hopefully.
/Emil
2001-01-02 (Tuesday)
From all of us to all of you, a one day late Happy New Year!!
/Emil
2000-12-19 (Tuesday)
I just uploaded a freshly created stand-alone version of the VLL User's Guide
to our downloads page. This should come in handy if you want to work
with VLL without being connected to the 'Net (and you're too lazy to just use
wget). ;^)
/Emil
2000-12-16 (Saturday)
Ha, I compensate for the lack of updates lately by doing one on a Saturday. How's that? ;^)
I just checked in some code that enhances the Verse server with the ability to not only detect
when a client seems to have dropped its network connection, but also to kick that client out
and notify all other clients about it. It's a first shot at doing this, and will likely be
improved later on, with tweaked parameters and stuff. Basically, what it does is measure the
number of sent but non-acknowledged packets, and kick out clients above a certain threshold. Very
simple, yet it should be effective enough I hope.
Also, we got an old and funky SGI Indy on loan from a good
friend. Hopefully, we'll be able to use that to get some hands-on experience with running
Verse under Irix... And I might just sneak in during some after-hours time and attempt to
port some other application of mine, too. ;^)
Oh, and Eskil just blew >15,000 SEK on a new PC for himself. Merry Christmas, or something.
/Emil
2000-12-14 (Thursday)
Today, a minimum of two good things happened in the world, at least seen from my
perspective. One was that I picked up final, printed copies of my thesis report
and also did the presentation of the work required. The other was that I picked up
my machine which has been getting some seriously needed repairs for the last three
weeks. It seems to be fine now, though (I did 20 full recompiles of Verse and they
all went smoothly). Good.
Tomorrow it's time for the traditional Christmas lunch here at the Institute, which
will probably make me forget all about food for at least a couple of days (hm, I wonder
if the Swedish word "julbord" will ever make it into English the way smorgasbord
has done -- probably not). ;)
/Emil
2000-12-13 (Wednesday)
Oh, we're being silent again, aren't we? Sorry about that. We're in a kind of slow-down
period when it comes to core Verse (server) development right now, it seems... Eskil is
making good progress with the subdivision code in Enough, though. Also, there are some
rather interesting things going on regarding actual uses of Verse, but I don't
think now is a good time to talk about that, since nothing is finalized.
Anyway, if you read this page and are interested in Verse, please consider joining our
verse-misc mailing
list (hosted by SourceForge, of course). It now
features seven members, only one of which is a bot! ;^)
/Emil
2000-11-27 (Monday)
I just cleaned up the code for the vnc2verse gateway mentioned in last
Friday's update, and checked it into CVS.
Another ~1,500 lines of GPL:ed code reaches the world. Always a nice feeling. ;^)
/Emil
2000-11-24 (Friday)
Another week, another update it seems. Anyway, I just wanted to blare my own
horn a little here. ;^) I saw a few nifty
screenshots
on the competition's web page, and got struck by a
rare (um, or among us hacker types, actually not so rare) combination of inspiration
and jealousy: I wanted support for VNC
in Verse, too! So, I downloaded the supremely short and nice
RFB protocol specs (PDF)
and started coding. Here's a picture of the result:
The shot (click it to show full-size version) shows the standard simple Verse
renderer, looking into a server containing a single object called "screen".
The screen is textured with an image which is being continuously updated by
a dedicated "VNC to Verse" gateway client, and shows part of a VNC desktop
running under X. On the desktop, Netscape
is displaying the troll heaven. Oh, and I
just had to check what OS I was running, too. ;^)
The interaction is currently one-way; no information can flow from Verse back
to the VNC desktop. In the future I might use Verse's object method system to
let the gateway client's avatar support things like moving the mouse pointer
and sending keypresses back to the VNC server. Even without that kind of control,
the possibilites opened up by this rather simple piece of client code are
staggering.
The total code size for the VNC gateway client is currently roughly 1,600
lines of C, which I don't consider much. The client has not yet been checked
into CVS
yet, but I expect to do that sometime next week.
/Emil
2000-11-15 (Wednesday)
Tomorrow, we're going to Umeå to demo Verse while participating in
a "replacement workshop" (replacing FDIVE, which was cancelled due to
too few submissions). Exciting. The arrangement is being done largely by
the Tools
for Creativity studio in the
Institute, which has its home in Umeå.
/Emil
2000-11-03 (Friday, later)
Hey, two updates on the same day, how's that for being current? :)
I just checked in version 1.0 of Adamant;
it is now functionally complete, I think. The major addition compared to the last checked in
version is that Ramp fragments can now be edited.
/Emil
2000-11-03 (Friday)
We just moved the entire Verse site to SourceForge, this will be its new home...
Please expect broken links (mainly with images) in the pages for the next
few timeunits, as I curse my barely-existing web site management skills for
leaving me in this mess... I wish this site was database driven, or used all
that fancy style sheet stuff. Hm, that'd mean I'd have to learn all that, of
course. Ouch. Back to hand-editing hundreds of HTML files, then.
;^)
Eskil is finally looking like he's gotten somewhere with Enough, and has even
checked in a new version that handles creases and everything. Excitement.
I'm struggling to "finish" the material editor, feature-wise. Should be done
before the week is over...
/Emil
2000-10-27 (Friday)
I just updated the Material node page a bit, adding the
"new" fragments to it and updating the descriptions on some of the older ones. I should probably
replace the examples with screenshots from Adamant
too, but not right now.
/Emil
2000-10-17 (Tuesday)
Something wonderful has happened--we've moved offices. After a loong wait, the new office
space here at the Interactive Institute Stockholm
is finally almost ready. It's way cool, and will only get cooler as more coworkers move in, and the
various interesting facilities (like the big stage/expo room, the audio room, and the various labs
and workshops) get up and running.
In other, more Verse-related news, I've been playing around with "swarm movements" the last couple of
days, as a way of simulating many simulatenous users navigating a world. While there are several
weird things left to investigate, initial results seem promising. With thirty clients connected to a
server, each client sending a "set speed"-command every 150 ms, the server seems to get by on roughly
3% of my AMD Athlon's 550 MHz... Feels promising.
Eskil is busy retargeting Enough for the new subdivision library, and stuff.
/Emil
2000-10-13 (Friday)
It seems our updates are back down to their old, slow, tempo again, huh? Sorry about that. Anyway, just
wanted to note that two new pages have been added: they discuss how to contribute
to the Verse project, and what we have planned for the future. Enjoy!
We have created a mailing list for Verse discussion, go here
to subscribe. I altered history somewhat, by rewriting the blurb about Adamant below (2000-09-29),
since it made this page very wide in its previous incarnation.
/Emil
2000-10-03 (Tuesday)
Just because we love doing web updates so much, I'm here again. This time just to say that a new and very much
improved version of the Adamant material editor has been committed into the expected
CVS repository. It adds
just above 250 lines of code, but restructures the existing a great deal, so the end result is a much more
pleasant thing to work on. Now it's possible to really start adding features. I think I will. ;^)
/Emil
2000-10-02 (Monday)
Sorry yet again for the lack of update, but it seems like I'm in a state of starting - everything - finishing - nothing
at the moment. Everyone is asking about when we will do a "release", and I just don't know. The VLL API is more or less
frozen in an initial feature-complete state, and we should be set to start promoting it. I have reworked some of the
subdivision code and added parts of the crease handling, but there are still some more stuff to solve. I have also
joined the OpenGL ARB and am currently working on some new ideas for OpenGL, in the
form of an experimental API called NGL, that I will be porting Enough to soon. I have also rewritten parts of the UI,
only to come to the conclusion that I will need to do a larger rewrite of it as soon as I can... Multithreading is
currently up and running, but isn't performing very well in NT due to too few task switches. The subdivision code has
turned out to be so complex that I will break it out from Enough into a new library, to help other applications cope
with the complexities of geometry handling. So a lot is happening, but it seems like few things are getting done. I'm
currently also doing some more research into lighting and particles for some upcoming papers.
Here are some fun "bloopers" from my subdivision development:
/Eskil
2000-09-29 (Friday)
Finally, the material editor has been given a name, and hence uploaded to CVS at SourceForge.
The name of the program is Adamant, if you're
curious. I'm sure you can figure out why, it's not a really obscure name (unlike the third-level Madonna references we
where discussing for a while). Here are a couple of screenshots, showing Adamant in action editing the simple texture map used
by the "standard" girl object:
 |
This shots shows Adamant's main window. The colored boxes represent material
fragments; each is labeled with the type it represents. The color is also an
indication of the fragment type. The display can be zoomed and panned by
dragging with the mouse.
|
 |
Here, a Blender fragment has been selected, and zoomed into view. The fragment
has been expanded, by clicking the little arrow in the title bar, causing
its link sources (data_a, data_b and control) to be displayed. The user can now
create and destroy links by direct manipulation. The GTK+ GUI
to the right of the fragment view shows the properties of the selected fragment, allowing
them to be edited there, too.
|
I'm pretty satisfied with how this little editor turned out; I began writing it last Thursday (that's
2000-09-21), and one week and 3,014 lines of sparkling new C code later, the program is not only useable:
it's even rather nice to use! ;^) And, thanks to a touch of design provided by Eskil, it looks
real neat, too! The code might not look all that neat at the moment, but give me a couple of days and
I'll see what I can do. Of course, it's not feature-complete, either, so... Back to hacking.
/Emil
2000-09-28 (Thursday)
Archived all stuff up to and including 2000-08-28,
since I tired of the large front page, and much of the content was starting to feel dated. With
a couple of spare neurons, I'm trying to come up with a name for the material editor, so I can
check it into CVS...
/Emil
2000-09-26 (Tuesday)
I just got a mail informing me that this year's FDIVE workshop on VR has been cancelled,
due to too few submissions from the VR researchers in Sweden. Since we actually have submitted
an abstract about Verse, we can feel sorry without having to feel guilty at the same time. Still,
we're sorry to hear about this, since we had actually been looking forward to presenting our
stuff there. Hm. We'll see what happens next.
A brief status update: I'm making (hopefully) good use of our server and protocol feature-freeze,
by doing some tool development. Since last Thursday, I've been hacking away at a graphical
material editor. If it comes out the way we intend it, it will resemble the one in
Softimage XSI quite a bit... It has not yet been checked into CVS, but I hope to do so
before the week ends.
Eskil is working with his favorite thing in the world, namely the subdivision surface implementation
in Enough, which he is trying to get to do creasing. Judging from the moaning and groaning from
behind his giant monitor, it's not very easy. ;^)
/Emil
2000-09-16 (Saturday)
Added some documentation about the
kinematic transform system to the old VLL guide.
It's simple enough at that level. Speaking about transform, I also found the time the
other day to break out the implementation I did from the simple render client, letting
it end up as a
separate module
instead. Pretty nice.
/Emil
2000-09-08 (Friday)
Ack. I guess we really do suck at doing timely updates to this page, these days.
Anyway, today is kind of a cool day, since it's the first time we have support
for constant-acceleration kinematics (for objects) in Verse implemented. This
has been sort of the last "big thing" we wanted to implement before starting
to think about various forms of releases more seriously.
The code, as always, is
in CVS.
Note that this really is very early code, in both server and clients, so if you
intend to jump on it, please don't jump too hard. Also, it has not been fully
implemented in the various clients yet, either. Still it's a great feeling,
knowing it's in there now.
On a different note, the summer is now officially over, and Patrick has gone
back to KTH... That more or less means it's
back to just me and Eskil, at least for 60% of the time. ;)
Oh, yesterday I sent in an abstract to the FDIVE virtual reality workshop
to be held in Umeå in November. If they accept it, we'll be demoing
Verse in front of a live audience of VR-people for the first time. Exciting.
/Emil
Site ver 3.0
|