Stardate
20021119.2229 (On Screen): When you find a program that's a lot of fun to play with, that's a good thing. When you hear that the company that created it is going under, it's a bad thing. And when you find out that they auctioned off their assets and your favorite program has been picked up by someone else, it's a source of fear. Will they fuck it up? Will it get better?
I've been a big fan of Poser for a long time. I actually originally bought a copy of Poser 2, but lost interest in it fairly rapidly. Later I bought Poser 4, and then the ProPack.
Now Curious Labs has brought out Poser 5, and for the last couple of months I've been playing with it. They've upgraded it rather substantially and added numerous new features, and it's really getting quite impressive.
Alas, they also retain the original "Classic" MacOS crippled architecture. Threads worked so miserably in "Classic" that no competent app programmer would use them. Instead, they used a single big thread, and did their own multitasking amongst what would otherwise be threads. When it's done well, the result is transparent. But when it's done badly, you get situations like in Poser where it can take upwards of a minute sometimes for the program to respond to a mouse click or a "come to front" command from the OS. (In fact, while it's rendering it ignores all repaint commands from the OS entirely. Given that a render of an animation can take several hours, that's a long time to defer responding to a mouse operation.)
That's a pain, but it's always been there and I've learned to work around it. (Also annoying is that Poser "knows" that it's running in full-screen mode; if you try to run it in a window all kinds of strange and wonderful things happen with its windows.)
And the new stuff is damned cool. For one thing, they've implemented real hair.
(Click for a larger version.) In Poser 4, hair was a solid object made out of polygons, sometimes with a slight leavening of transparency mapping or a texture map to simulate a bit of stranding. In Poser 5, hair is actually hair; it's thousands of individual strands, and it will respond to gravity as the figure moves around. (The hair on the figure on the right is one of the premade wigs, and it's actually mostly a trick. Most of what you're seeing is an object with a complicated texture map and transparency map, and some real hair to make it look more interesting. But a wig can be made entirely out of strands if you want it.)
They've also changed the entire way that faces are controlled, but I haven't reached that yet, because I've been having such a good time playing with cloth. They've incorporated a physical simulation of cloth, and instead of using clothing which is designed with the same "bone" structure as the figure (so-called "conformable" clothing) the new kind is actually just a mesh; almost any mesh at all. It then reacts to physics according to constants you set, and the program actually figures out how it responds based on things like gravity and air resistance and the friction from the objects. Clothing drapes realistically on figures and moves as the figures move. Well, most of the time. You have to be careful with it or objects can move too fast and the simulation will get confused. But it's fun to play with it.
All of this comes at a major cost in compute time, needless to say, and if you use the new renderer it's even more expensive. The original scanline renderer was pretty limited in its capabilities, but the new raytrace renderer supports reflection, refraction, transparency and translucency, and volumetric textures (i.e. things like fog effects. I haven't started messing with that, yet, either.
So renders can take a hell of a long time. Too long, in fact: because it's not threaded, it isn't taking advantage of my second CPU. And I'm not sure I believe it's taking advantage of SSE2, either. But it isn't intolerable, and it's a lot of fun.
Poser 5 is a massive improvement. (Now if only they would kiss off MacOS Classic, or fork the code, and start using threads, and take advantage of SSE2 and SMP...)
include
+force_include -force_exclude
|