Nvidia Releases Hardware-Accelerated Film Renderer
snowtigger writes "The day we'll be doing movie rendering in hardware has come: Nvidia today released Gelato, a hardware rendering solution for movie production with some advanced rendering features: displacement, motion blur, raytracing, flexible shading and lighting, a C++ interface for plugins and integration, plus lots of other goodies used in television and movie production. It will be nice to see how this will compete against the software rendering solutions used today. And it runs under Linux too, so we might be seeing more Linux rendering clusters in the future =)" Gelato is proprietary (and pricey), which makes me wonder: is there any Free software capable of exploiting the general computing power of modern video cards?
Gelsto is proprietary (and pricey), which makes me wonder: is there any Free software capable of exploiting the general computing power of modern video cards?
Gelato seems to be correct...
Some people are like slinkies--basically useless but they bring a smile to your face when pushed down the stairs.
This is a reversion of the norm :) [from the page linked to in the story]:
Operating System
* RedHat Linux 7.2 or higher
* Windows XP (coming soon)
Rich
Sadly, the hardware accelerations that consumer 3D graphics cards do aren't useful for the high quality renderings that are needed for film and television. The needs of games are just different, parially because of the need to render in realtime. So I doubt whether there's much scope for free software to make use of them for that purpose...
The rumor on the street is that a Soho based SFX house tried this when they had a deadline that standard software rendering couldn't meet.
So they wrote an engine to do renderman->OpenGL and ran it across many boxes.
Problem was that they got random rendering artefacts by rendering on different cards - different colors etc, and couldn't figure out why.
When working on one box they got controlled results, but only had the power of one renderer.
For some possible applications, check out machinima.com - film-making in real time using game engines.
Xenu loves you!
Gelato (Italian) == Ice cream
Is there any Free software capable of exploiting the general computing power of modern video cards?
Well, since they released "a C++ interface for plugins and integration" for Gelato (ice cream in Italian, btw), this probably means that free software can (and, eventually, will) support all these high-end functions... or am I completely wrong?
For instance, just imagine Blender with a Gelato plug-in for rendering... hmmmm... Now I understand why they named it "Gelato"...
The right to offend is far more important than the right not to be offended. (Rowan Atkinson)
Nvidia releses Hardware-Accelerated video renderer?
Sometimes I wish I was a plumber, then I'd know how to deal with other people's shit.
dont forget blender for windows aswell
Noone writes jokes in base 13!
The AGP bus has assymetrical bandwidth. Upstream to video card is like 10x faster than downstream to the CPU. So you can dump tons of data to the GPU but you can't get the data back for further processing fast enough, which defeats the purpose.
www.rexguo.com - Technologist + Designer
"Gelsto is proprietary (and pricey)"
A company that wants to be payed for their work, weird !
You will see more, allot more, of this for the Linux platform in the near future.
Software may be released with source code, but no way that it will be released under GPL, most ISV's can't make a living releasing their work under GPL.
And please the "but you can provid consulting services" argument is not valid, it dont work that way in the real world.
Alias has Maya for Linux. Newtek has Lightwave rendering node software for Linux. There are a few other 3D packages like AC3D too.
Forget thrust, drag, lift and weight. Airplanes fly because of money.
I wonder what market segment nVidia is gunning for. Are they after some of Discreets market share or trying to offer a hardware solution that will beat the crap out of Adobe After Effects.
It would be really cool to have a hardware solution with Combustion like features for the price of After Effects.
Sometimes I wish I was a plumber, then I'd know how to deal with other people's shit.
I bet the type of people that buy this are like big time architects that have a few machines set up to do renders for clients, and want to perhaps do some additional effects for promo/confidence value, that likely already have people running that type of hardware.
Then again all those Quadro users could be CAD people and they've got no audience. =)
It looks like this is what NVIDIA have done with BMRT when they bought it: look at what has become of exluna.com
If anyone's wondering, a couple of the latest releases of BMRT (Blue Moon Rendering Tools) before NVIDIA pulled the plug on them are available here
This might also be interesting: GPGPU /Arvid
Take a look at the Jashaka project. It is a real time video editing suit and the designers have been working with and have supposedly been getting support from Nvidia, so they may have had access and I would imagine certainly will have access to these video cards. I can't imagine them not taking advantage of this technology.
The other nice thing is if memory serves me correctly this program is being designed to work on Windows, Linux and OS X, so good news all around.
"Napalm is nature's toothpaste" - Chef Brian
is there any Free software capable of exploiting the general computing power of modern video cards?
A quick Googling revealed the following:
- BrookGPU
- GPGPU
Windows XP's Achilles Heel Apparently Revealed
Seems like ex-Exluna staff (bought by NVidia) is going to kick PRMan's a$$ on hardware level: they tried it on software level with Entropy, but got sued into oblivion by Pixar, now it's time for revenge?
M4 is a free as in beer movieplayer/vj tool that uses the power of openGL to manipulate movies,images and text.
Not only with hardware manufacturers/drivers, but also general software. ISV's are getting annoyed by Microsoft's dominance of the desktop market, and through that, their (heavy) influence on desktop software. It's not inconceivable that in a decade, Microsoft could control every aspect of the standard desktop PC and desktop software market. At the moment some of the only really strong ISVs in their respective areas are Adobe, Corel, Intuit, Macromedia, Oracle, and a few specialized companies. Expect a big ISV push towards a "neutral" platform, like Linux or FreeBSD. Windows is too big to stop supporting, but ISVs will be smart to at least try and carve out a suitable alternative and avoid being completely dominated by Microsoft. All that most ISVs might be able to hope for in a decade is being bought out by Microsoft or making deals with Microsoft, if things don't go the way of creating a vendor-neutral platform.
Insightful my ass.
Maya, Houdini and XSI are all available for Linux, and they work well.
Software, like much technology, follows a classic cycle from rare/expensive to common/cheap as the knowledge and means required to build it get cheaper.
"Moore's Law" is simply the application of this general law to hardware. But it applies also to software.
Free software is an expression of this cycle: at the point where the individual price paid by a group of developers to collaborate on a project falls below some amount (which is some function of a commercial license cost), they will naturally tend to produce a free version.
This is my theory, anyhow.
We can use this theory to predict where and how free software will be developed: there must be a market (i.e. enough developers who need it to also make it) and the technology required to build it must be itself very cheap (what I'd call 'zero-price').
History is full of examples of this: every large scale free software domain is backed by technologies and tools that themselves have fallen into the zero-price domain.
Thus we can ask: what technology is needed to build products like Gelato, and how close is this coming to the zero-price domain?
Incidentally, a corollary of this theory is that _all_ software domains will eventually fall into the zero-price domain.
And a second corollary is that this process can be mapped and predicted to some extent.
Ceci n'est pas une signature
For those who don't remember, BMRT was a really cool RenderMan based renderer that Pixar had some sort of love/hate relationship with. IIRC, they used it, yet they sued the company. At the end nVidia bought them, though it wasn't clear why at the time.
Don't forget POVRay
is there any Free software capable of exploiting the general computing power of modern video cards?
I expect that once it suddenly becomes clear that the GPU in a modern video card has serious processing power, that someone will release a version of the SETI@Home client which can use the rendering engine as a processor. Bearing in mind that most computers use their GPU's for a very small percentage of their logged-in life, I suspect there is real potential for using it for analysing on distributed computing projects.
I have been a user for about 10 years. This ends Feb 2014. The site's been ruined. I'm off. Dice, FU
Check out www.jahshaka.com. It's an open source video compositing / FX package that leverages the 3D accelerator chip on your graphics card to do incredible things. This is one to watch, it's definitely going places.
You can download binaries for linux and windows (and MAC), and source tarballs are available for the savvy.
I know, it's not strictly a "renderer", but it employs many of the fuctions of a renderer to create realtime effects and transitions.
"By Grabthar's Hammer, what a savings."
For 3D rendering, especially non-realtime cinematic rendering, you have large source datasets - LOTS of geometry, huge textures, complex shaders - but a relatively small result. You also generally take long enough to render (seconds or even minutes, rather than fractions of a second) that the readback speed is not so much an issue.
Upload to the card is plenty fast enough (theoretical 2 GB/s, but achieved bandwidth is usually a lot less) to feed it the source data, if you're doing something intensive like global illumination (which will take a lot more time to render than the upload time). Readback speed (around 150 MB/s) is indeed a lot slower, but when your result is only e.g. 2048x1536x64 (FP16 OpenEXR format, 24 MB per image), you can typically read that back in 1/6 of a second. Not to say PCIe won't help, of course, in both cases.
Readback is more of an issue if you can't do a required processing stage on the GPU, and you have to retrieve the partially-complete image from the GPU, work on it, then send it back for more GPU processing etc, but with fairly generalised 32 bit float processing, you can usually get away with just using a different algorithm, even if it's less efficient, and keep it on the card.
Another issue might be running out of onboard RAM, but in most cases you can just dump source data instead & upload it again later.
Why would anyone engrave "Elbereth"?
Almost every FX house worth its salt in the CG business uses Pixar's Renderman on UNIX or Linux machines. The reasons behind this choise are very simple.
Renderman is proven technology and has been so since the early '90s. Renderman is well known, its results are predictable and it is a fast renderer. Also, current production pipelines are optimised for Renderman.
UNIX and Linux are quite good when it comes to distributed environments (can anyone say Render Farm?) and handle large file sizes well (Think a 2k by 2k image file, large RIB files).
And last but not least, renderman is available with a source code license.
Hardware accelerated film rendering is in essence nothing but processor operations, some memory to hold objects and some I/O stuff to get the source files and output the film images. Please explain to me why a dedicated rendering device from NVidia would be any better than your average UNIX or Linux machine? Correct, there aren't any advantages, only disadvantages. (More expensive, proprietary hardware, unproven etc.)
It's certainly possible that different hardware or even different drivers on the different machines doing the rendering can create subtle (or not-so-subtle) differences in each resulting frame, but standardising the hardware and drivers across machines should solve that completely.
Why would anyone engrave "Elbereth"?
I hope you know that all high-end 3d packages are available on Linux: XSI, Maya, Houdini, Real3d. And then you have some cool open source, like wings3d, that can cover some a lot of ground on the modeling field. Combine that with blender & yafray, and (theoreticly) you have a complete open source animation studio!
I'll do the stupid thing first and then you shy people follow...
I think that indeed there is free software to do movies and rendered animations using raytracing. First, Cinelerra can use a linux cluster for movie rendering. Second, there's a whole bunch of modellers/raytracers out there that perform very well: Povray is the oldest and most advanced, and can run on a pvm cluster, yafray is relatively recent and can use an openmosix cluster for networked rendering, Blender now integrates a raytracer AND exports to yafray. Those are the 4 programs I know of that I use, but there are more, I just haven't looked for more. So, yes, there is free software for movie rendering already!
---- I am certain of only one thing : I know nothing else.
Instead of just using the native 3D engine in the GPU, as done in games, Gelato also uses the hardware as a second floating point processor.
Does this mean that I could eventually use my GeForce to do things like matrix inversion for me?
ART, OGL assisted, now gelato. Sure there is a place but how do I stick a FX card into my several hundred 1U racks either physically or financially. Have you seen the size of these cards anyway ? Sure some vendors (mental images) are leveraging GPU power and have done the same with OGL for some time but unless the GPU calls are handled by calls to the renderer so you hide behind a consistent API it's a waste of your hard earned time getting your pipeline into shape in the first place. Long live GPU but I don't want to be aware of it's presence. PS. I think ATI are actually the smart kids on the block but chose the wrong colours for their marketing hype.Maybe they can get their chips straight onto the motherboard (much smarter).
I was under the impression that it's hard to use a video card for general computing tasks because of the way that AGP is designed. It's really good at shunting massive amounts of data into the card (textures, geometry, lighting, etc) but terrible at getting a good data rate back into the computer. They're designed to take a load of data, process it and push the output back to the screen, not the processor. This is the major reason, IMHO.
Try Blender3D (blender3d.org) Found out about the product just a week ago. I think it rules BIGTIME. Ik uses the accerated OpenGL drivers of my nVIDIA chipset.
I think the point is not that it can render just like other engines, but that it can do so at a far greater speed (with a lot more flexibility and features than the PURE card). That would indeed be worth the money to all but the smallest studios - much faster feedback at full quality is an artist's dream, quite apart from the (more expensive) option of using it to accelerate your render farm.
What they don't really say anywhere is *how much* faster it is. There are many factors involved, but if you basically have 16 * 4 * 2 FP execution units running at 400 MHz in a highly parallel configuration, backed by 32 GB/s of bandwidth, there is quite a bit of potential there (~50 GFLOPS vs P4's ~2 GFLOPS?).
For a farm... If, say, it renders 5x faster than a given render machine, then that's 4 machines (and engine licences) you don't have to buy, which would easily cover the cost.
Why would anyone engrave "Elbereth"?
IF anyone's interested, the dino on the http://film.nvidia.com/page/gelato.html page was one of of Entropy's flagship images. Entropy was a pay-to-play renderer made under the renderman Spec by a they guy who wrote BMRT. Pixar sued the company that made both of the renderman compliant renderers, and basically forced them into business with Nvidia, who quickly snatched up the company and paid off Pixar. Nvidia had been trying to come up with a hardware shader language like that of renderman, and thusly came out with the shoddy and less than capable CG shader language. Unfortunately, no matter how good that card looks on screen, it's still only going to be a preview render. Straight 35mm film is rendered out at 2048x1556, and you wouldn't believe how tedious CG work is with every single person above you telling you to correct every little thing. The one thing this will do is help look-dev folk and shader-writers out. They get paid enough as is though. Oh.... you might be interested to know, that most of the renderfarms are now at least 1/2-2/3 x86 machines running Linux, and they have been for the past 3 years. No large studios are using SGIs anymore, but surprisingly a lot of the boutiques are using OSX. I guess that's what happens when Apple takes a hint from MS, and buys(Shake) what they want instead of making it.
-- -- A truly great man never puts away the simplicity of a child
Isn't Gelato the same name used for the linux/itanium (www.gelato.org) project ... me thinks this could be a problem ...
...called a "Jupiter" or a "Saturn" of raytracers? (-:
Got time? Spend some of it coding or testing
Comment removed based on user account deletion
Perhaps you could even use a render box with a bunch of PCI-X cards in it (not sure if PCI-X allows that, I sure hope it does). Give it a few months and the current top of the line cards will have halved in price and you can actually put together such a render machine for a reasonable amount of money.
;-)
Then you naturally have to build a Beowulf cluster of those.
's'true. count the number of people murdered in the name of atheism. just russian and chinese communism between them account for more dead in the name of religion than even the roman catholic church has been able to chalk up in millennia of sustained effort. now that's what i call impressive. it's a pity old art went a bit senile towards the end there, it ruined his later books.
If you haven't contributed financially to this blog then you're a serious hypocrite - aren't you? (-:<
Free-as-in-beer isn't absolutely necessary, but it does solve an awful lot of "parking meter change" style problems, and it's a highly viable services leader.
Got time? Spend some of it coding or testing
So why should Nvidia benefit from Linux, without some reciprical giving ? Hardware programming specs would be enough of a gift.
The Internet's nature is peer to peer - 20050301_cs_profs.pdf
Post production studios are Linux based. It used to be SGIs, now it's Linux.
Their ability to visualize motion and subtleties in their head is what makes them valuable. They know what will look good a lot sooner than someone unskilled in the art of key-frame animation.
A lot of these "features" were present in the 3dfx Voodoo 5 line... and since Nvidia aquired them, I would have to say this is their implementation.
"When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
See here and here. More and more pieces of the moviemaking toolchain are available Openly, only a matter of time before someone adds a GUI wrapper to integrate it all. Will they dare call it Raxip? (-:
Got time? Spend some of it coding or testing
PRMan is a fine product, but it has its limitations, as well as its price. There are numerous competitors, many of which use the same Renderman interface but offer more speed and/or more features at a lower price (BMRT and Entropy are[were] notable, and relevant, until Pixar squashed them with the threat of an expensive court case). Brazil, AIR, etc - these RIB-based renderers drop into the same place in the workflow.
Please explain to me why a dedicated rendering device from NVidia would be any better than your average UNIX or Linux machine?
Only if you explain why your average UNIX or Linux machine is better than a Commodore 64 or a PDA, which is also "in essence nothing but processor operations" etc :-) If you listed SPEED in there, you're on the right track.
A modern GPU has far more floating-point hardware than any general-purpose CPU, and it's all geared towards the process of rendering pixels. For certain tasks, one of those expensive dedicated rendering devices from nVidia could be better than FIFTY of your "average" UNIX or Linux machines! Is that enough of an advantage to consider?
Dang, I went and fed the troll, didn't I...
Why would anyone engrave "Elbereth"?
Admittedly it's not exactly the same things as NVIDIA's solution, but the main component of breaking big movie quality shaders into multiple passes is in ATI's Ashli (http://www.ati.com/developer/ashli.html). The big plus is instead of costing thousands of dollars it's free. Also I noticed everyone is saying agp read backs make this sort of thing useless. The fact is that most of the scenes rendered will take seconds to hours on the graphics card (vs. minutes to days on a CPU). The slow agp reads aren't going to be much of a performance impact in these situations.
PCI Express is a possibility, if you can find a motherboard with more than one x16 slot (or a GPU that fits an ordinary x1 slot). Doubt you will for some time, though.
And you wouldn't have to use top-of-the-line cards, either. Something mid-range, with more bang for the buck would do fine.
But yeah, one day. Great to see how the demand for better games has resulted in cool hw/sw like this flowing on to my own industry :-) Now we just need to figure out how the pr0n crowd can drive up demand for systems with multiple gigabytes of RAM...
Why would anyone engrave "Elbereth"?
General computing tasks, yes, AGP and GPUs are not so useful. For rendering though, they're near-ideal, even with AGP (though PCI Express would certainly be better).
Why would anyone engrave "Elbereth"?
I'm really excited about the future of Jashaka, but for now I stick to Wax (Win only, but more stable and usable than Jahshaka at this stage).
Seems that if you wanted extra processing power it would in most cases be cheaper in terms of price/performance to just add another box to the job, or a(nother) coprocessor card.
Gelato is a $2,750 software package. It is intended to be used with an Nvidia Quadro FX 4000 workstation video card. The video card has not hit the market yet, but the Quadro FX 3000 goes for $1,300. Which brings the total cost for the package at between $4000 and $5000 per machine.
I see lots of posts implying Gelato is 10x or 100x or "Super-Duper" fast. But how fast is it? It is really even 2x faster than RenderMan? Amazingly since Entropy came along, the folks at Pixar seem to have taken a renewed interest in improving RenderMan in both speed and memory.
It will be interesting to see what this thing can really do and how well it actually uses the hardware co-processor, especially given the "Super-Duper" cost.
and someone has finally invented the Toaster.
Between Gelato and Fluendo I think we've officially run out of good names for products. I suggest we start naming things like astronomers do. Lets call this one NGC 2607 or something like that.
Lump lingered last in line for brains, and the ones she got were sorta rotten and insane.
What gets me excited is this line:
Key to this doctrine of no compromises is the nature of how Gelato uses the NVIDIA Quadro FX GPU. Instead of just using the native 3D engine in the GPU, as done in games, Gelato also uses the hardware as a second floating point processor.
WOW. That would be a fast FPU, I'm supposing. How fast can it sieve?
Pan
I said no... but I missed and it came out yes.
Video coprocessors are really fast at multiply-accumulate DSP functions. Those are linear equations (y=mx+b), which underlie lots of computer modeling techniques that aren't graphical. For example, neural networks. And speech recognition. Where is the open source app that runs the video chip against a memory buffer of nonvideo data for other apps?
--
make install -not war
"is there any Free software capable of exploiting the general computing power of modern video cards?"
No.
The actual problem is in how the hardware today works. Video boards are REALLY, REALLY GOOD at getting an image moving in one direction - from computer, to vid board, to monitor.
They are quite LOUSY, however, in sending that video information back to the computer or the hard drive.
This is why even the gameplay movies you see today have been created with a simple workaround: hook up the board to a capture card of some sort (sometimes as simple as a vga->TV external converter) and capture away.
I'm guessing the big proprietary change in NVidia's model is an allocation of bandwidth back for sending the data the other direction - the rest of the stuff (raytracing etc) is just fluff. And of course it doesn't hurt in the slightest that it doesn't have to run at 60+ FPS all the time, so it can take the extra time to make frame, send frame back other way, make frame...
today, but wait for the China clone flood and you'll have this technology next year in your desktop...
NEOCA - Custom LED Flashlights
"You can do it Otto! You can do it Otto! Make that spare! I'll give you free gelato!"
Actually you are, you little fuckwad.
"Combustion like features for the price of After Effects."
honestly, in my mind, combustion and aftereffects are tied [for my uses]. I end up using AFX more often, but that's simply because of the myriad of plugins available for afx that dont exist (or that i dont own) for comb. comb is a great tool, and in some ways signifigantly more powerful than afx.. but in many ways they are just two different flavors of the same ice cream. i'm not sure what "combustion like" features you're referencing that AFX can't replicate..
in my mind, the high end video market is grossly over-inflated (price-wise) currently.. where top of the line stuff is literally 20x the price of the product beneath it that does half as well. 2k and 4k realtime editing.. very cool, but charging $100k for that software, when one could do 2k and 4k "not quite so realtime" editing in a variety of $500-1000 apps.. annoying. course, i guess they figure that if you have the money to shoot on a 2k format, you have the money to fork out for their products. if this card helps to drag some of these prices back down to earth, it wouldn't make me cry =D
As Maya works on Linux, I beleive that Weta Digital (company responsible for vfx i LOTR etc) uses a massive Linux based render farm. At my school we use 3dsmax 4, but will now be switching to Maya 5 and supposedly running it on Mac hardware. I have put together a proposal for the IT dept for building Linux boxes to run Maya instead for a fraction of the cost of the Mac hardware which they seemed to like, but unfortunately the ignorent upper level execs did not favor a decision to move to Linux regardless of a pretty competent IT staff. They felt that students would not want to adopt a new os and teachers would be unable to solve technical issues on Linux boxes. I think that universities should start making a jump to using Linux based solutions, but realize there is a large gap in the administration because most of the teachers (not all) are not comfortable with a new os. I have used Maya on Linux Mac and PC and found that it performed equally if not better than Mac and far better than PC, mainly because it was originally authored for IRIX. I look forward to the possibility of using hardware in combination with powerful software to doing complex rendering that usually takes several minutes per frame. Hopefully the onset of this technology will bring more users as well as other publishers (please Adobe please!) to Linux.
Those who can make you believe absurdities can make you commit atrocities. - Voltaire
For the kind of work I do, a Nvidia Quadro FX 3000G would be best for driving large displays.
Cool! My distro already has m4. But is has some bugs in it still.=moovlmvhd-3A-3EX@"trak\tkhd -,-3EF@$edtselstF mdia mdhd -3A-3A+w-9hdlrmhlrsounappl?Module de gestion sonoreminfsmhd;hdlrdhlrali sappl@KGestionnaire dOalias Apple$dinfdrefalisHstbl4stsd$raw +wstts -àstsc
Contrary to popular belief, life is not a bitch. It is far far worse.
Gelato is definitely NOT realtime.
"Machinima" is CG puppetry. If it takes a CPU and video card no more than five seconds to render a frame at full resolution, and a production company using digital puppetry techniques has a server farm of 120 CPU + video card systems, doesn't that equal real-time at 24 frames per second? A matching 5-second delay on the audio would give the censors time to bleep whatever swear words the target audience's government bans from the air.
"Napalm is nature's toothpaste" - Chef Brian
What it all comes down to is price/performance. Will you get faster rendering by spending the $4K on Gelato, or buying two or three more dual CPU boxen and ingnoring the GPU advantage?
Also, how does the performance of Gelato scale based on the CPU's in the box? Does it render significantly faster if you've got Opterons instead of Athlon MP's or Xeons? What about number of CPU's?
In any case, Gelato needs to be some truly slick stuff, or it won't be able to justify it's price.
Mediocrity knows nothing higher than itself; but talent instantly recognizes genius. -- Sir Arthur Conan Doyle
Take a look at these:
0 3/ Paulin/DensityEstimation.pdf
http://graphics.stanford.edu/papers/rtongfx/
http://artis.imag.fr/~Nicolas.Holzschuch/061020
People have been (although fairly recently) toying with the idea of using GPU to accelerate global illumination for a while.
Props must go to nVidia tho for combining and putting all these ideas into a nice package.
With physics in games becoming more and more advanced how long till we see an API for hardware accelerated physics. Not saying you'll be shelling out anymore cash for a ElectricForce FX physics card but have dedicated hardware on graphics cards for physics calculations. Not only could this boost performance but it could combined with pixel shaders and geometric transformations to increase what is possible. Who knows, the GeForce 6800 might be programmable enough to do this already, albeit at a performance hit to the graphics pipeline. There are some pretty incredible physics demos that can be found on the internet everyone's favourite monopoly(Crash Video) has one that showcases their new game development suite XNA. I don't see this level of physics being available in any game any time soon but with hardware accelerated physics who knows what's possible. Even without a standard API to build on developers might implement their own physics acceleration shaders(for lack of a better term) in cases where the CPU is the bottleneck. Ever since the first programmable GPU was release I imagined that they could accelerate more then just graphics and be used to increase the responsiveness of computers.
[...] advanced rendering features: displacement, motion blur, raytracing, flexible shading and lighting, [...]
That sounds like an old Siggraph presentation I saw a decade or two ago when I used to go to Siggraph. Lucasfilm, I think. (The fine sample picture in the article showed a motion-blured image of a set of pool balls in motion.)
When rendering an image using raytracing, there are several effects that are achieved by similar over-rendering processes. I.e. you ray-trace several times varying a paramter:
- Depth-of-field (use different points on the iris of the "camera", blurring things at different distances from the "focal plane".)
- Diffuse shadows (use different points on the diffuse light source(s) when computing the illumination of a point.)
- Motion blur (use different positions for the objects and "camera", evenly {or randomly} distributed along their paths during the "exposure" - ideally pick the positions of the whole set of objects by picking several intermediate times, rather than picking the postion of each object separately, to avoid artifacts of improper position combinations.)
- Anti-aliased edges. (Pick different points in the pixel when computing whether you hit or missed the object or which color patch of its texture you hit.)
As I recall there were about five effects that worked similarly, but I don't recall the other(s?) just now.
To do any one of them requires rendering the frame N times {for some N} with the parameter varied, then averaging the frames. (Eight times might be typical.) Naively, to do them all would require N**5 renderings - 32,768 raytracings of the frame to do all five.
The insight was to realize that the effects could be computed SIMULTANEOUSLY. Pseudorandomly pick one of the N from each effect's set for each frame and only render N frames, rather than N**5. Eight is a LOT smaller than 32K. B-)
Sounds like Nvidia ported this hack to the firmware for their accellerator.
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
POV is literally child's play compared to the software used to render movies. It isn't remotely photorealistic -- even the natural falloff of light intensity over distance due to the inverse-square law isn't properly simulated. (Instead we have an approximation using the fade_power and fade_distance keywords.) The shading model (based on pigment, finish, and interior) doesn't account for effects like anisotropic reflection and subsurface scattering that occur in nature, and the idea that RGB (1.0, 1.0, 1.0) is "white" discourages the use of high-dynamic-range lighting.
Don't get me wrong, POV is a great piece of software for learning, and I wrote a few features for it in years past (variable reflection, metallic reflection, part of conserve_energy, and a blurred-reflection feature that doesn't seem to have made it into the current version). But trying to use it for serious production graphics is like using a Talking Whiz Kid as a word processor to write a Ph.D thesis.
How slow is slow?
I was under the impression that AGP is just like PCI, but with faster reads from system RAM and a dedicated bus.
Which is to say that it suffers the same limits that 32bit/33MHz PCI does. So it's good for 132 megabytes per second, less overhead and fudge. And since it's got its own set of wires, it doesn't even have to compete with such things as the NIC. Nice.
If it's actually doing the rendering on the card, all it has to do is push back finished frames. 24fps 640x480x24 video consumes a bit over 20 megabytes per second, which is well within the capabilities of what we've got with AGP.
Besides, with the application in mind here, realtime isn't even a pipedream: it's an impossiblity. Minutes of video take hours or days to render. Bandwidth requirements are really pretty minimal.
I think it'll be justfine, despite your FUD.
Kid-proof tablet..
The push to hardware powered tasks is a good one.
Although strictly speaking I'm not sure whether it was used on any movie... ...there -was- a plugin for 3ds max, by Intergraph, called RenderGL. It used OpenGL hardware to accelerate some aspects of an otherwise software-based renderer.
GeForce 6800 Ultra Review