|
|
|
News
2007-02-26 Another era of my life is coming to an end, as this is the last week that I am involved professionally with the Uni-Verse project. There is still a couple of months of project time left though, so the work will go on. We will try to get together an updated binary release this week. I wish my project partners the best of luck with the finale of the project, and wish thank them for for three interesting and instructive years. /Emil
 2007-01-24
Today, and a bit yesterday too, I improved the (to me) highly mysterious "vertex" mode in Layer Painter. I read enough code to realize it's actually doing displacement, although it used to say "color" next to the slider where you set the value to paint with. It also only supported positive displacement, which I found a bit limiting. So, I enhanced the slider code to support any range, and made it use -1 to 1 for displacement. I also changed the label, so it actually reads "displacement" now. I also found and fixed a bug that prevented the brush size from being displayed, both the UI for changing it, and on-screen during painting, while in displacement mode. /Emil  2007-01-23
Yesterday, I added a page to the Uni-Verse Wiki about the Layer Painter tool, one of Eskil's programs. It's a fairly simple application, but might still benefit from having some kind of written documentation. Enjoy. I've also spent some time polishing the application itself, and as a test I added a fourth material to the trusty car model; now the wheels have "chromed" rims, heh. My chrome interpretation is probably not very realistic, but at least it's shiny. /Emil  2001-11-17 Today's patch is this, in the Makefile for Eskil's Quel Solaar suite of tools. All it does is add an option that tells the compiler to generate more warnings for weird-looking code. Since I don't like such warnings, I had to go through the code and fix them all, before making this the default. So, behind this little change are literally hundreds of other fixes, all over the code base. Most have been simple cases of unused variables, but there were a few more dubious cases, that might have been bugs in disguise, hiding in there. I feel better, knowing they have all been fixed, and now you can, too! Enjoy. /Emil
 2007-01-08 Today, Eskil made me realize that there is actually a dedicated Verse forum on the Collada project's site. This is cool, since we share that spot with most major 3D applications. Nice. Now, if only I could post something there ... I hope whatever is preventing me is resolved soon, and invite everyone to use the forum of course.
Also, I think I have come up with a fix for an annoying flickering problem in Eskil's "Persuade" rendering library. The fix is rather straight-forward, and basically involves maintaining a set of statically sized textures, rather than re-sizing a single one. Who knows, it might even improve performance. I do not know if this issue is indicative of a rendering bug (it does not occur in Windows, on a same-brand GPU), but I really don't care at this point.
Further, Uni-Verse co-worker Mattias converted the 3ds max Verse plug-in documentation to wiki format last week, which makes it a bit easier to find, hopefully. Enjoy. /Emil
 2007-01-03 Happy new year, from all of us working in the Uni-Verse project! :) There is a new little page on PyVerse in the Wiki, for you to enjoy. /Emil
 2006-12-20 This past week, I've been working a little on the revised Chat specification. The specification is fairly complete as is, since it really doesn't try to specify a whole lot. To accompany it, I've made a new reference implementation, in C this time (last time it was Python). So, if you are interested in adding Verse-powered chat support to an application, this would be something to look at. I also did a short HOWTO page on hierarchical transform, since it cannot be over-documented. Enjoy. /Emil
 2006-12-14 Earlier this week, I published a little tool called "vcall". It is a simple Python program that lets you view, through a PyGTK-powered user interface, the methods available in a server's object nodes. As the name sort of implies, it also lets you assign values to the arguments of a method, and issue calls to it. When developing systems using Verse object methods, this is a useful capability to have around. The code for vcall is CVS in a module of its own. It is also documented, over on the wiki. Enjoy.
Today, I've been discussing changes to the Verse chat specification with Eskil and Nathan (Letwory, aka jesterKing), and creating a new version of the document. It is not 100% complete yet, but at least now it should reflect our new, much simpler, thinking on this subject. /Emil
 2006-12-08 Yesterday, just since it had been a while, I tried to run Purple against a current Verse server. It didn't work. I did some inspection, and it seemed it failed at creating its control methods. Further investigation showed that Purple was out of date; it used uint8 values to hold method IDs, where uint16 is actually the type required. I fixed this, and now it seems to run properly. I guess I can interpret the deafening silence from Purple users about this major disabling bug to mean that ... there are no Purple users. Heh. Not very surprising, but also not very uplifting. I guess my PR efforts have not been enough. /Emil
 2006-11-24
Ah, back from the IST 2006 in Helsinki, which at least from trains, taxis, trams and buses seems to be a nice city. No time to find out this time, though.
In one hotel night during the Expo, in order to add some dynamic element to the demonstrations we did in the booth all day long, I wrote this. It's a Verse client, written in C, that creates and then updates a digital clock in a bitmap node. This means you can put a live clock as a texture in your world, which can be amusing. It also nicely shows off how Verse data and scenes can be truly dynamic, not only when being edited by a human being.
Update 2006-12-08: there's now a wiki page about vclock.
/Emil  2006-11-08 Eskil and I have spent quite a while reworking the operation of the VML saving/loading tools. The new saver supports a mode where it saves continuously, using a far more sophisticated file layout than previously. For more detail, see the README for the tools themselves. /Emil
 2006-10-25 Hello. Just a brief note that we're back from this year's Blender Conference, which (as always) was quite the blast. Both Eskil and I managed to sneak onto stage, although Eskil's appearance was a bit better prepared (!) than mine. Eskil talked about how to write applications to wring maximum performance out of today's OpenGL hardware and software, while I just showed off the Verse master server support in Blender, hopefully helping more people learn about it. All in all, I'm very happy with this year's conference, and hoping I can go next year too. /Emil
 2006-10-12
There are great strides of progress with Verse master server support in Blender! The work is being done by Nathan Letwory (aka "jesterKing"), and is currently available in the form of a patch in the Patch Tracker. The patch relies on my little verse_ms helper module.
To celebrate the new ease of finding Verse servers to connect to, I tried modelling some text in Blender and exporting it, while being connected with Connector to the same server. The result is the screenshot shown. Thanks jesterKing for this great contribution!
Update: the patch has now been merged into Blender's main CVS. /Emil  2006-10-10
 |  | 
 The new master server list interface.
|
Since some time last week, when I sent him a patch, Brecht Van Lommel's Verse page holds a version of his GIMP Verse plug-in, with master server support. The patch relies heavily on the verse_ms module, available in CVS separately.
In other news, we held a PCC meeting in the Uni-Verse project last week here at KTH. It was mainly focused on integration-testing and continuing work on the various pieces needed for the project's participation at the upcoming IST Event 2006 in Helsinki, where Uni-Verse will be part of the exhibition. /Emil  2006-09-27 Published a spec for the chat system that has been hanging around for quite a while. Rumour has it Eskil wants to implement support for chat in his applications, for the upcoming r6p1 release of the Verse core. /Emil
 2006-09-19 The revised master server specification has been slightly rewritten again, and also gotten more company in the form of a server description specification. I will hopefully commit the current version of my master server implementation, later today. /Emil
 2006-09-14 Today, I met with Eskil and Mattias, and discussed the master server system a bit. This was more or less spontaneous, we had planned to meet to put the next release (r6p1, due soon) of Verse together. Instead, since Mattias is looking into starting using it, we refreshed our thinking on the master server handling, and extended it a bit. The resulting spec is online, and I'll start updating the code tomorrow. Earlier today, I imported the existing master server into CVS. It's in Python, so check out Brecht's Python-Verse bindings, if you haven't. Enjoy. /Emil
 2006-08-30 I've updated the VML, and the screenshots and descriptions, for the "sphere" and "cylinder" test cases. They are now lit, and have proper materials, which mean they will render nicely in Connector. Speaking of Connector, I've also patched it so that the label of a newly created object node link is set to something more useful than "my_link", as used to be the case. Now, links to geometry nodes are labelled "geometry", material nodes get "material", and object nodes get "child". The latter label is what we use, by definition, to construct hierarchical transforms, so doing that just became a whole lot easier. /Emil
 2006-08-29 Published the first blurb about one of the example VML scenes. Enjoy. Also, lots has happened, with Uni-Verse at SIGGRAPH and plenty of new functionality in various tools. A new version of the Verse specification was published, with minor clarifications added to the page about the verse_callback_update() API function. /Emil
 2006-04-19 Much work in preparation for the second annual EU review of the parent Uni-Verse project. As part of that, I've started collecting a number of handy VML test files. The intent is that these files provide a simple model (or part of one), in an easily accessible form. Developers of renderers and other Verse-enabled tools can use these to test their code, and see if they get the expected (=documented) results. /Emil
 2006-01-31 Yesterday I committed some updates to the core Verse network code, that me and Eskil hacked out last week. These changes are fairly small, but help Verse use the network more efficiently. They are committed on the release-r5-branch branch in CVS. I also wrote a small bitmap downloading client, to use for performance testing. It's called pixelhole and lives in the verse-tests CVS module. Performance using pngload to upload an image and then pixelhole to download it seem to be acceptable. Transferring my sample image of 5120x5120 pixels (if this seems large, blame these guys for "inspiring" me, heh) takes about 10 seconds in each direction. Finally, I added a new built-in plug-in to Purple, called "clock". This new plug-in acts as a clock, by emitting data periodically. This makes it possible to work with graphs that are not purely driven by data change events, which might be useful. /Emil
 2005-10-25
Here's a quick snapshot of a model with slightly more complexity than is usually seen on these pages. It's the simple renderer's view of a 3ds model of The AlbaNova University Center. For this to look even semi-decent, I added some simple (just basic OpenGL) lighting to the renderer, in place of the usual pretty random colors. I don't think I got it all right, but it's good enough for now. Note the number in the bottom right corner: the scene contains 142,422 polygons, which certainly is more than I usually throw at it. Transferring this scene from the Verse server, even on localhost, takes a while. Once downloaded, even this super-naive code (it's all OpenGL immediate mode, with plenty of logic in the inner loop) manages its usual ~20 fps. I thank the hardware. /Emil  2005-10-20 I wrote up the ideas we had about a Verse Master Server at the meeting in Amsterdam into a proper web page. I implemented a test version of a master server yesterday, in Python. /Emil
 2005-10-19
As I mentioned in the previous post, I've been looking into the pile of fun that is the RenderMan format. Specifically, into going from our XML-based format, VML, to the RenderMan Interface Bytestream, RIB. For simple cases, this can be done without any programming, thanks to the box of tricks that is XSLT. The image shows our good old friend, the Purple torus primitive, as rendered by the simple online Verse renderer, and as by Aqsis after conversion to RIB. Neat, huh? The RenderMan export is not online; I save the contents of the scene out as VML, edit it slightly to remove cruft that would otherwise confuse the converter, and then run XSLT with a stylesheet that emits RIB. That is then lightly edited again, to put the camera somewhere sensible. Materials are ignored, at this point. /Emil  2005-10-19 We're back from the lovely Blender Conference now, and it was great! I presented Purple, Jiří presented on his Verse-Blender work, and Verse-Blender was even released, at least in test build form. I really enjoyed the presentations I saw, including (of course) the many talks by members of Team Orange. Who are all really nice guys, too! :) Plus, I talked a lot with a member of the Aqsis team, and started playing with converting VML into RIB. Cool stuff, and I hope I'll be back next year. /Emil
 2005-10-03
Another week, another Purple plug-in. Today I've been getting back to basics, and teaching Purple how to count. The new basic arithmetic operators (that's what we coders call +, -, * and /) support bitmaps, or real numbers. Or mixes, thereof, letting you (for instance) compute 3 * (a bitmap). This can be used to implement everybody's favorite graphical feature: alpha blending!. It's perhaps not too pretty a graph, but at least it works. The current module is the "constant" in the lower-left corner, i.e. the alpha value. The window on the right shows the resulting bitmap, as uploaded to Verse.  2005-09-30
It's been a busy week! I've been polishing (and sending off) my slides for the upcoming Blender Conference, as well as being ... made attentive of the fact that there is a a Standard Plug-In Library deliverable in the Purple project that needed more attention. Oops. But, I think I'm getting on top of that, and am just about to commit the latest addition; the lovely Torus primitive! /Emil
 2005-09-27 Spent yesterday developing and integrating a data structure into Purple. Then took a break from that and worked on stuff for the upcoming Blender Conference. This included running Verse-Blender ... /Emil
 2005-09-23
Continuing with the bones, I wanted some sample data. Since there is no Verse-native test data that uses bones, I turned to Google. That soon lead me to hanim.org, home of the Humanoid Animation Working Group. I applied some simple scripting to their spec's hierarchy, extended my simple renderer with initial supprt for bones, and the result is seen in the image next by. It is not ... without problems, for instance the spine looks like it's too high up, but I believe the basic structure is there. The mess around the hands is because I used the full level three hierachy, which has 93 bones, including those in the fingers.  2005-09-21 Continuing with the bone work in Purple. Also added a couple of more links about the Blender/Verse integration to the Links page. Thanks, Jiří. /Emil
 2005-09-20 I've been spending a lot of time on getting Purple to support Verse's bone system. This has involved defining new Purple API functions for working with bones, extending the internal node database system with storage and manipulation support, and tying things together. I've also been adding to the API documentation as necessary, of course. The reason this is done so late is that ... well. Noone has used Verse bones, so they were not very high on my list of priorities. Still, since Purple aims to support as much as is reasonable of the Verse data model, it must go in there. Seeing it do so feels good. :) /Emil
 2005-09-19 Fixed a bug in the Purple "cube" plug-in, that caused it to emit too many polygons for all the vertical faces. Weird that I didn't see that earlier. Spent a while trying to understand failure of uploaded geometry to render, when the server is remote. It works with the same file locally ... Wrote some internal (EU) documentation. /Emil

|
|