RealDeal opened this issue on Apr 20, 2004 ยท 35 posts
RealDeal posted Tue, 20 April 2004 at 7:53 AM
http://film.nvidia.com/page/gelato.html Everyone always asks it seems, and the answer is almost always the same; "which video card should I have for poser?", "It doesn't matter, because your video card doesn't have anything to do with it, unless you have a shared memory video card (bad)". With Nvidia Gelato, they have made a rendering engine that uses the GPU on your video card to act as a parallel processor; as they are releasing a freeware API with C++ and Python scripting interface elements, this means that it could work with Poser, if someone went to the trouble. The cost is prohibitive, at $2750. So what this is going to really do is just make the "which video card should I use" question slightly harder to answer.
tedbragg posted Tue, 20 April 2004 at 8:07 AM
The idiot 3d engine under Poser should be rebuilt from the ground up to take full advantage of new vid cards. Every stinkin computer game can get wild effects, high framerates and incredible visuals...but Poser pokes along inside its bubble. Daz Studio tries to do this, but their implementation is only a good first try. Barely useable. I'd love to see a completely new 3d figure program. Poser is all we've got right now, but I'd welcome a change.
c1rcle posted Tue, 20 April 2004 at 8:08 AM
It's interesting to see also that it's a Linux version that came out first. Linking the render engine directly into poser would be more useful than having to export to obj or using plugins to render in something else.
MungoPark posted Tue, 20 April 2004 at 8:49 AM
I rather would like to see a usefull export utility, which exports a Renderman file with all the data necessary, (forget the xport options P5 has now) or any other format which can be used in a high performance rendering engine. This should be easy to do and would prevent a lot of problems. Nobody who is in the business would implement its own high performance rendering engine, there are state of the art engines out there. Okay, the shaders would have to be translated, and the results would probably be different than on the Poserscreen, but this make no difference to the situation where P5 is now, where the renderoutput barely matches the screen setup. you then could do anything, like distributed rendering etc, without bothering about Poser. This sourcecode can not be rewritten, because parts of it are really old, or have you ever wondered that windows users are getting the old Mac watch when Poser is busy ?
who3d posted Tue, 20 April 2004 at 9:06 AM
Attached Link: http://www.keindesign.de/stefan/poser/poserman.html
Well, that video card seemingly does nothing for any version of Poser that actually exists, so I don't see it as having much impact on the question to be honest. Aside from the *possibility* that it's renderign abilities would be used for final render rather than working interface, first you've got to get CL to impliment support for any 3D acceleration - and given that OpenGL has been around since Windows NT 3.51 (IIRC) I'm not going to pin my hopes on them suddenly supporting anything so restrictive and "cutting edge". For the only attempt I'm aware of for getting network farm type rendering out of Poser 5 (by exporting Renderman files) you could check out: http://www.keindesign.de/stefan/poser/poserman.html But be aware that it seems to be far from compelte. Fustratingly tantalising though! Cheers, Cliffneilp posted Tue, 20 April 2004 at 9:34 AM
Due to Curious Labs joining forces with Shade, could we not be looking at the possibility of a rewrite for Poser 6 with a decent render engine that will work with the latest video technology?
c1rcle posted Tue, 20 April 2004 at 9:49 AM
nope, CL said Poser6 will not add any new functionality to poser just concentrate on improving what's already there.
c1rcle posted Tue, 20 April 2004 at 9:50 AM
where's the feckin edit button? I was also going to say that was said before they were bought by the Shade people so everything could be different now.
who3d posted Tue, 20 April 2004 at 10:05 AM
Additionally one COULD argue that, in this day and age, updating the way the program displays the document window to support some 3D acceleration (as provided by most graphics cards over 8.00) might be considered "improving what's already there". IIRC either Mark or Katherine suggested (in response to a query from one of us lot) that they'd be "considering it", but I wouldn't want to put any money on this making it into Poser 6 unless they've already done tests which suggest they can leverage better speed improvements at the lower end than DAZ3D seem to have managed :( I still marvel, mind you, at how many people actually expct newer software to not only have greater functionality but be faster AS WELL (on the same hardware, usually). Cheers, Cliff
MarcioAB posted Tue, 20 April 2004 at 10:20 AM
Is that possible that some day the imagem rendered by the video card be better than the image rendered by application softwares (FireFly for example) ?
It seems Poser already consider this possibility. There is an option to use directly the video card render engine to make a movie (Animation/Make Movie/Quality/Current Display Setting).
Thank you
Marcio
RealDeal posted Tue, 20 April 2004 at 10:38 AM
With the exception of tedbragg and c1rcle, you guys are obviously talking about something that has nothing to do with my original post, right?
c1rcle posted Tue, 20 April 2004 at 10:48 AM
I'm still surprised that a processor that's specifically designed for the millions of calculations that go into the pictures we produce in poser & other 3d programs is just left idle while the main processor does the work. Daz Studio is a step in the right direction but even that doesn't use the extra processor to do the final render. I recently bought Unreal Tournament 2004 & even on my aging Geforce2 it still has hundreds of thousands of polygons flying round the screen at a decent speed. Why are we still having programs doing these types of calculations in software & waiting for ages for it when we have the equipment that can do the same calculations in seconds right in front of us now?
c1rcle posted Tue, 20 April 2004 at 10:50 AM
I'm not even sure I am now RealDeal ;) sorry mate :)
xantor posted Tue, 20 April 2004 at 12:42 PM
The problem with programs using video cards to speed them up is : if you dont have a good video card then the program goes veeeeeery slowly (daz studio is an example). So I don
t mind poser not using the graphics cards because my graphics card is a bit crap.
who3d posted Tue, 20 April 2004 at 12:42 PM
No, it's all based on the original post and ramifications of the situation that the subject line presents. If you want the short answer it's "No - that doesn't affect the question at all presently". c1rcle: I suspect the main reason that 3D applications tend not to offload the work to the graphics chip is - which one to support? It's not only the speed that varies across the many 3D chips and versions of OpenGL and DirectX, but also the quality. When it's a glossy game that requires "pretty" then a variable "pretty" combined with fast is probably good enough, but the application engineers have comparatively little control over the quality of the final output if they leave it to the "graphics accelerator" abilities of each PC. Imagine if you will that they develop Poser 9 to use OpenGL exclusively, and leave all the processing to the OS (and hopefully to a hardware chip on the video card). There COULD be vastly different "final quality" images across the range of PC's, from an ageing 2GHz Pentium III with a non-accelerating PC (so the OS does all the OpenGL math) to a "modern" PC with super-duper hardware what supports features that the software-only OpenGL won't even attempt. So, as far as I'm aware, it's the desire to avoid trying to support an infinite number of video cards whilst losing control of consistency in final renders that is the only real reason that 3D accelerated is used for "preview" or "working" quality but final renders are pushed through the CPU. The way it's done now (Poser or Daz Studio - among others) the 3D app. authors can predict the quality of final output regardless of the underlying PC (in theory). Cheers, Cliff
c1rcle posted Tue, 20 April 2004 at 1:04 PM
what a nuisance, it's times like this when a definitive standard is called for, cept the standard is cpu render & not graphics card :(
who3d posted Tue, 20 April 2004 at 1:14 PM
You want standards? We've got dozens of standards for any topic you care to pick!
c1rcle posted Tue, 20 April 2004 at 1:28 PM
lol :P
MarcioAB posted Tue, 20 April 2004 at 1:37 PM
I use an "old" GeForce Ti 4200 and do not make complex render, but many times I see the GPU quality equivalent or even better than the CPU (FireFly).
I see GPU quality getting better and better and I believe eventually it will get there (100% photo realistic quality).
Regard the support, I undestand Microsoft implemented an interesting layered concept in DirectX:
The render software (FireFly) "talks" with DirectX that "talks" with the GPU.
And DirectX acts like a translator also. If the GPU has the ability, DirectX use it, if not, it is rendered by DirectX (including OpenGL).
Sure, quality will vary, but getting closer to 100% (photo-realism) there should be not that much difference for most.
But the only 2 GPU vendors (nVidia and ATI) are aligned with Microsoft, so GPU and DirectX are evolving in sync.
Just talking about image quality (when talking about speed ... there is no comparation).
Marcio
MarcioAB posted Tue, 20 April 2004 at 1:45 PM
ops .. need correction:
The Poser real time display render software (whatever it is) "talks" with DirectX that "talks" with the GPU.
And DirectX acts like a translator also. If the GPU has the ability, DirectX use it, if not, it is rendered by DirectX (including OpenGL).
who3d posted Tue, 20 April 2004 at 2:28 PM
That's how DirectX works, and Direct3D (the 3D component of DirectX). It's also pretty much how OpenGL works. However - there's a minor problem. Poser doesn't use Direct3D or OpenGL. It ignores them and just treats the video card like a "flat" unaccelerating video card. So the video card doesn't make a lot of difference - at least the 3D acceleration doesn't help Poser, because Poser doesn't use it :( It's possible that a card with fast data throughput (say, AGP 8X instead of PCI) might provide a measureable speed improvement over an older, slower card. The future, however, is constantly being misquoted. Cheers, Cliff
MarcioAB posted Tue, 20 April 2004 at 4:30 PM
So Curious Lab is inventing the wheel, and btw, they did it good.
I'm including an image (assembly from 2 screen copies) to compare the render quality. Sure FireFly is better, but (imho) lets say the real time render is close to 90% FireFly quality (lets get hair render aside for a while).
Using the real time render (and accepting 90% FireFly in quality), a 60-frames AVI, no-antialias, 640x542, takes less than a second to be generated.
It is also possible to adjust several controls in the GPU driver to increase quality reducing speed a little, but it seems Poser is not recognizing them (they are DirectX and OpenGL only - I see now ...)
Marcio
who3d posted Tue, 20 April 2004 at 5:56 PM
The example produces good comparison between display and render mostly because of the simplicity of the scene. It's a little like saying that I can cook 90% as well as the best chef in London because I can do a poached egg nearly as well as he can (or possibly 2 poached eggs, in which case I'd probably set the "Nudity" flag). True - there's little to tell between our poched eggs, but I'd hate to compare any non-trivial meal on a like-for-like basis because actually my cooking sucks. So it is with Poser 5 "real-time display" and "Firefly Render". I haven't produced an example here because IMHO the galliers can do such a better job (indeed even I have an image - "Like Rock" - which is FAR superior when rendered than in preview mode - lost the .PZ3 though, to my dissapointment). However the real-time display renderer can be somewhat slow when you build up the content of the scene, and only copes in effect with a subsection of the Poser 4 renderer abilities. Yup - the display renderer is so "fast" and fairly decent quality because it ignores much of what you CAN do in Poser nowadays - from Poser-4 type transparencies and bump-mapping to displacement, reflectivity, and a slew of clever material nodes (well, they can produce amazing results when cleverly manipulated). CL have perhaps done well to have written real-time display code that isn't too shabby when displaying a basic "texture on a mesh", but as you start delving into what Poser (especially V5) can REALLY do the speed and quality of display mode both suffer by comparison. Speed is especially important to any of us who do animations, especially animation which must synch with audio (speech, music). These are the 2 angles - speed and quality of beyond-basic scenes - which have had people crying out for 3D accelerator support wihin Poser for quite literally years :( Cheers, Cliff
Mason posted Tue, 20 April 2004 at 6:30 PM
I don't understand why people keep thinking 3D card support is going to help with renders. This is why I think the forum needs a Myth Buster FAQ posted somewhere. 1. 3D Cards do NOT support all rendering features that software supports. Some do bump mapping, some don't. Some do Stencil buffer shadows, some don't. Cards do NOT do ray tracing. They do NOT do ray traced shadows. They do not support the multitude of shader options available in P5. 2. Even though apps like 3d max and Maya support 3D cards they do NOT do use such support on final renders. They can help with preview modes or renders where things are extremely simple but cannot do the final renders. That is always done with your CPU as a software render. Now they may open a openGL or DX window to out the pixels but that's about all. 3. As Cliff pointed out, it all depends on what you are rendering. Rendering a sphere with 2 or 3 shader layers is doable on a 3d card and faster. Ray tracing it won't work. Real world reflections won't work. 4. 3D applications such as games pull a heck of a lot of rendering tricks to get what they achieve. This means that what you see in a game is probably done in every single cheating, under handed way possible to get speed. For example, reflections in 3d games are NOT ray traced, they are done with another camera that simply takes a picture from the POV of the reflective surface. Car reflection maps are done with a snapshot and usinga cubic mapping. They may do this snap shot say every 20 frames or share the map with any close by auto. They may also cull a hell of a lot of scene info from the reflection map. A level in Unreal may look great but, if you look at the poly count, you'll find the number of visible polygons is less than 2000. So the bottom line is a comparison of a video game render vs a real render from Poser is not a fair comparison. Unless you want poser to cheat and not really render what you have in your scene and instead give you a quicky render that's sorta there (like the textured preview mode). 5. Most machine CPUs run faster than the processors on cards. This means even if you could cram all your information (like a V3 with 10s of thousands of polygons and those enormous 4096x4096 maps people use) onto some poor card's 128 megs of ram, the GPU won't accurately render as fast as your pentium CPU chip anyway. If people can't get their scene rendering in P5 with 1.5 gigs or 2 gigs of on board ram, what makes anyone think this same scene is going to run in a video card's 128 meg ram space?
MarcioAB posted Tue, 20 April 2004 at 7:02 PM
My point is that GPU Industry is pursuing the following: GPU real-time render based on DirectX, OpenGL or GELATO (back to RealDeal initial post) can achieve equivalent quality as "software-based render (FireFly, 3DS, Maya or any)" in higly complex scenes.
I see you dont belive that is possible ... I respect that.
We are using extremes to compare (low end and high end).
I agree I used a very simple scene, but it was just to ilustrate.
Any way, I think that this is what this GELATO is proposing.
Marcio
MarcioAB posted Tue, 20 April 2004 at 7:07 PM
Gelato includes:
who3d posted Tue, 20 April 2004 at 7:11 PM
stewer posted Wed, 21 April 2004 at 10:35 AM
Rendering on 3d cards is going to come, sooner or later. Gelato looks very interesting, but is too expensive for the private user (both the software license and the required hardware). There are already proof-of-concept demos of photon mapping and ray tracing on the latest consumer grade nVidia and ATI cards, and it's just a matter of time until we see shipping products that use these cards for parts of the rendering pipeline. For example, have a look at the open source Pixie renderer that can use an OpenGL card to do micropolygon hiding in the hardware. If you want to give it a try, Pixie is RenderMan compliant so it should be possible to use it with Poser's built-in RIB export or my PoserMan exporter.
Mason posted Wed, 21 April 2004 at 11:35 AM
I gaurentee that most of Gelato is probably supplimental software rendering replacements for features not supported on a 3d card. The package probably queries the card, finds out that the card can or can't do X feature then suppliments this feature with its own software libs. All the card probably ends up being is a polygon blitter in which the textures are precreated in software then just loaded to the card. So the software doesn't actually rasterize the poly. Not much of a big deal if it doesn't get much. I like to think of using a 3d card for real renders like the movie Star Trek I where this massive, super high tech ship has to do all its work through this primitive, 20th century Voyager spacecraft. Again, limited ram and limited features does not a good render make.
who3d posted Wed, 21 April 2004 at 12:22 PM
Graphics card image quality (and speed - two halves of the same coin) have been making great strides in recent years. IMHO it's actually one of the more "active" areas of computer evolution/development. I agree with stewer that it's inevitable that at least some rendering will be done by the graphics co-processors. Remember when the CPU was quick but offloading floating-point math to a seperate chip on a calculation-by-calculation basis was still a benefit? Of course the "amths co-processor" has ended up being on the same bit of silicon in the end, improving speed further, but the possibility exists for similar work here, at least for stuff destined for screens (and potentially for print, in the longer-run). This still won't be affecting the pet peeve of Poser 1-5 being slow in actual use :( Hmm... Pixie sounds interesting! Will have to look into that when I've got a spare month Cheers, Cliff
who3d posted Wed, 21 April 2004 at 3:16 PM
MarcioAB posted Wed, 21 April 2004 at 5:04 PM
I have only the standard Poser5 stuff. So I tested with the dog. The texture is blured, not sharp (but in DirectX or OpenGL, the textures are perfect).
So, even if GPU real-time display render is not there (yet), in this point Curious Lab is not helping.
I still wonder if Curious Lab is doing all the real-time display render 100% software based ("flat" as you say). It seems (for me) they pass something to the GPU.
In parallel, I read DirectX 10 will NOT be available for at least the next 2 years. The reason is because Vendor implementations of current capabilities of DirectX 9 is far from the edge.
Maybe nVidia, introducing GELATO, is trying to push Microsoft and also see how much developers support that.
We face a paradigm: "Today's real-time renders is not good enough for photorealism in complex scenes".
It's a chicken-egg circle (Application Render Developers versus "Real-time GPU-aided" Render Vendors)
It's nice to see Curious Lab providing the feature to generate AVI from the "display" render, but unfortunately they are not stressing the "display" quality as it is possible today.
Marcio
who3d posted Wed, 21 April 2004 at 6:51 PM
c1rcle posted Thu, 22 April 2004 at 2:03 AM
Cliff which is which on the dragons? I know the top one is display but which of the others is poser4 & which poser5?
who3d posted Thu, 22 April 2004 at 6:05 AM
Hi c1rcle. The midle one is Poser 4 and the bottom one is Poser 5 with really quite extreme displacement (for most purposes I set diaplcement to a value of around 0.1 - possibly more, possibble less - but in my early tests which I recreated here I set the displacement value to 1.0 and was pleasantly surprised by the "underwater rockery" effect). The lighting is a dome of lights by DAZ which is included with the Multiplane Cyclorama. I also had smoothing turned on for the P5 render - it's a memory-intensive scene even with just the 1 figure in it! (I need to learn to cut down on the lighting better). Cheers, Cliff