Nvidia's RealityServer 3.0 Demonstrated
robotsrule writes "As we discussed last month, RealityServer 3.0 is Nvidia's attempt to bring photo-realistic 3D images to any Internet-connected device, including the likes of Android and iPhone. RealityServer 3.0 pushes the CPU-killing 3D rendering process to a high-power, GPU based, back-end server farm based on Nvidia's Tesla or Quadro architectures. The resulting images are then streamed back to the client device in seconds; such images would normally take hours to compute even on a high-end unassisted workstation. Extreme Tech has up an article containing an interview with product managers from Nvidia and Mental Images, whose iray application is employed in a two-minute video demonstration of near-real-time ray-traced rendering." Once you get to the Extreme Tech site, going to the printable version will help to preserve sanity.
I call it.
such images would normally take hours to compute even on a high-end unassisted workstation
Now, they take hours to download over your GSM network.
Alright, now I can play Doom 3 on my Razr cell phone! 0.2 FPS here I come!
Better known as 318230.
... like two days ago ...
You don't - the person who got first post is here - the article is a dupe from 2 days ago.
I know ... even the editors don't read the fine articles ...
I'd rather manage my scenes on my own computer where I have a complete interface with the work I've done. If they have a service where I could upload my scenes and have them render them for me quickly I'd be happy... but they have to do this real time stuff with minimal ability to edit and experiment with your scene. The only use would probably be for sales men and designers who want to show their work in different lighting to a potential customer... but even then they could render that ahead of time. I just don't get it, could someone enlighten me?
Eat sleep die
they should have called it CLOUD REALITY!
God's gift to chicks
I got some reality served to my phone last week in the form of a break up text from my girlfriend. It took four months to render.
Summit, in TFA, goes on at different points about a car application -- ie, a system that one might use to preview and/or order new cars. Pick your wheels, your paint, your trim, your seats, and get a few views of the thing in short order*.
All I can think is that if it were really so important for Ford to give you a raytraced view of the car you're ordering, that the options are so limited that all of them could easily be pre-rendered and send all together. How big are a few dozen JPEGs, anyway?
Even if a few dozen JPEGs isn't enough: Don't we do this already with car manufacturer websites, using little more than bog-standard HTML and a whole bunch of prerendered images? In what way would having this stuff be rendered in real-time be any more advantageous than doing it in advance?
Do we really need some manner of fancy client-server process, with some badass cloud architecture behind it, when at the end of the day, we're only going to be shown artificat-filled progressive-JPEG still frames with a finite number of possibilities?
Everyone, please, go look at the demo video. Neat stuff, I guess, but it's boring. Office with blinds open; same office, blinds partly open. Then, closed. Office at night. Different angle. Woo. It's simple math to figure out how many options there are, and it's just as simple to see that it's easier, cheaper, and better to just go ahead and render ALL of them in advance and be done with it and just serve out static images from then on out.
If I'm really missing the point here (and I hope I am), would someone please enlighten me as to how this might actually, you know, solve a problem?
*: Just like a lot of auto manufacturer's websites already do TODAY, using only HTML, static images, and a sprinkling of javascript or (less often) flash.
Kid-proof tablet..
The concept is kinda cool but their demo could have been easily faked. It isn't convincing until I can wander around the room on demand while tweaking the environment.
As well, it's next to useless if it takes a $15K machine to generate the required images in pseudo-realtime for a single session.
(useless in the remote access sense, not necessarily useless in a studio environment for architecture or vehicle modelling; although those needs can be met with a rendered video sequence anyway.
With nVidia involved you can be assured that sanity will play no part.
1.7% VHS wood screws, the way it's meant to be renamed.
The idea may be to farm out computing power, allowing for customers to avoid the upgrade-climb and for graphics companies to build so many high-end graphics processing units, cutting down on electronic waste, cost of manufacturing, etc. An interesting, though not yet realized, example of this could be the onLive console. Customers purchase what amounts to a modem and play their games via a server farm which computers physics and graphics. By doing this, customers can avoid downloading large batches of graphics assets (saving on HD space too) and play their game instantly like a streaming video. At the same time, if the company upgrades their video cards, the customer sees the upgrade without ever having to purchase another console. The company in turn, doesn't have to spend as much designing and manufacturing a new console to leverage new technologies every couple of years. The video and the state of the technology now is boring. But all of this could lead to some interesting paradigm shifts in technology services.
dude, think of the porno
If they start increasing the number of options, a la the Scion brand, then that quickly becomes impractical or impossible. Far easier to render and cache temporarily than to store all possible renders.
One answer: Gaming. :)
OK, one more reason: 3D Work at home. I do that (as an amateur) and sometimes even my pretty fast machine takes hours at a time to render some scenes. I could as well send the file to RealityServer 3.0 and then render my scenes faster via a web browser, without having to wait hours and hours. That would be great for several reasons:
1. While I wait for my machine to render a scene, I do other things and more than often I ask myself what the hell was that thing that I awas trying to accomplish? With RealityServer, no more (long) interruptions.
2. Power consumption: a CPU at max thrust will eat more power and generate more heat. I'd rather not have it do that.
3. Higher efficiency. Hours of waiting equals lost productivity.
Useless technology? Maybe. But thjat's what they said about the train and the plane, back in the days. Time will tell. For now, new tech? Bring it on! The more, the merrier. Hey, at least we get to choose
...gis sdrawkcab (usually not responding to ACs; don't bother posting as AC)
This is a great advancement for high end virtual reality systems, but the current state of "rendering in the cloud" sounds like either a solution looking for a problem or the wrong application of the technology.
On a future Internet with sub 30 ms latency, this would ROCK. [You could have low-powered wearable augmented reality devices, "Rainbows End" style gaming, and maybe even the engine behind a Snow Crash style metaverse that remote users can log in to].
NVidia is NOT doing itself a favor with the lame empty office with boring blinds demo. They'd better come up with something sexier quick if they want to sell this (and I don't mean the remote avatar someone posted a link to).
This reminds me of the "thin client" hype circa 1999. "Thin clients" exist now in the form of AJAX enabled web browsers, Netbooks, phones etc, but that technology took about a decade to come to fruition and found a different (and more limited) niche than all the hype a decade ago [they were supposed to replace worker's PCs for word processing, spreadsheets, etc].
Resident Evil and a number of other action/adventure and RPG games from the mid to late 90's innovated this, albeit in a much more limited way. Character enters a room, switch to another image. Character progresses further into the room, switch to a more appropriate angle. All the environments are pre-rendered, and 3D characters play around in them as though they are real-time. It always looked good on the PS1, and I admired the simplicity of the method and its impressive results. It looks like they are just making natural extensions to it, by streaming the images over the Internet in real-time, so the various elements can all be updated on a rendering farm. I wonder how efficient it will be, though, and what sort of compromises will be made? Obviously, streaming high-res images in real-time is an excellent way to devour massive amounts of bandwidth....
I never understood why people were so keen to move away from isometric perspectives and pre-rendered backgrounds? As long as the angles are good, they can really help to present the game in a well-crafted and artful way.
Systemd: the PulseAudio of init systems
It's not strictly binary.
For instance: In what ways does the color of the paint influence the design of the wheels? Oh, right: It doesn't. How about the interior? Right, sure. A wing? Woo. A trim package? Oh, my. The wheels are still the same.
It's not a pizza. It's a car.
There's just not that many variations on a vehicle which have any impact on more than a couple of parts. But, if you think that it is unachievable to prerender these, please go look at Scion's current website, build a car, and write back. (Note: I haven't been there in years, myself, but I'm confident enough in my theory that I'm willing to let you to prove yourself wrong.)
I, myself, want to be wrong -- I just don't feel that I am.
Kid-proof tablet..
For instance: In what ways does the color of the paint influence the design of the wheels? Oh, right: It doesn't.
Reflections. You change the paint, he paint change is reflected in the chrome of the wheels.
Um.
The wheels don't reflect the paint directly. And cars, as a rule, are displayed on a neutral background.
Next?
Kid-proof tablet..
Speaking from experience... it's currently a HUGE PITA.
Sure if you have just a side view and a front view it's easy. Render out each wheel seperately. But then what if you want a 360 view of the car now? Ooops. No dice. And what if you want the car color to be reflected in the side view mirrors? All the possible combinations? Well if you give the user complete freedom that means there is an infinite number of renderings you have to do. What if you want to see the car at night? Now you have to double all of your renderings and Flash code. What if you want to see the car on a street corner... another complete set of renderings. Street corner at night? Another set of renderings. What if you want to see the car from the drivers's seat. Another set of renderings. What if you want to see it from the passenger seat? another complete set of renderings. What if you want to see it with a door open.... you guessed it, another set of renderings, what if you want to see two doors open well now you have a whole rats nest of dependencies you have to render.
Sure. If you're perfectly happy with slightly editable product brochures then the current system is fine. But if you want to add more interactivity to the user then you'll blow through the cost of 8 Tegras in a matter of days paying someone like me to make a bazillion renderings and then someone else to write the flash code to make it all interactive.
By comparison setting of a few animation and visibility switches is trivial.
NVidia make shit, their drivers are horrible.
Since I don't live in an area where lots of NVidia employees are driving around, I don't care too much about their driving skills :-)
The Tao of math: The numbers you can count are not the real numbers.
Even if one has close to a million dependent options one could still save money by rendering it's not like you have to manually enter the different configurations. Of course it would it might pay use the NVidia Render Farm to do the first renderings for one, Of course any really good 3D graphics shop has there own Render Farm. But Why bother waiting a few seconds when harddrive space is so damn cheap. But what this does do is allow people to make 3D movies on the cheap.
Typically Italians are as catholic as they can get (remember, Italy is the land where the Vatican is located!). The last thing they would seduce young American boys into is anything Islamic.
Also your post is in contradiction with both your user name and your signature.
The Tao of math: The numbers you can count are not the real numbers.
Imagine Street View rendered in the direction you are holding your phone, from your position. With all the goodies that that 3D map that someone was building a while back (and sure could be ongoing) plus a live application of the algorithm from Canoma and similar applications, you could have a pretty interesting "virtual" world. Another benefit would be that while using the application, you could be aiding the mapping backend with live GPS to refine the map and the 3D model on top of it.
-- Nate
There's just not that many variations on a vehicle which have any impact on more than a couple of parts. But, if you think that it is unachievable to prerender these, please go look at Scion's current website, build a car, and write back. (Note: I haven't been there in years, myself, but I'm confident enough in my theory that I'm willing to let you to prove yourself wrong.)
... Let's see Oh I need to install a plugin to build my car... fine.. I wonder what it's for--Oh hey look at that! It's a little crappy real-time 3D renderer! Hahaha. There you go. Your very first example... uses a client side renderer.
It works but the reflections and lighting is all baked onto the car. Which is to say it looks worse than pretty much any video game made in the last 10 years... but it does employ multi-sample AA.
This site does remind me of a few things though: if you want a 360 of the car then you have to render out all of the options from at least 36 viewpoints. Now what if you want to see the car from above/below. Now you have to render out hundreds more viewpoints.
They don't reflect paint but they do reflect the environment. If you only want to show off your car in a white world... but what if you want to give your customers options for the background?
Even if one has close to a million dependent options one could still save money by rendering it's not like you have to manually enter the different configurations.
No but you do have to render off every variation. And take something like a body kit. What if they want a spoiler. Those are generally painted the same as the car color. Now you have to render off the spoiler 10 times from 60 different angles. What if they want different side view mirrors, again another 60+ angles. Now what if they want the side mirrors but a different interior. The side mirrors will now have a different sillouete and will have to be composited seperately over the interior, but when the car turns around you'll have to switch alpha channels... ugh... And then what if you choose different seats? Well you might as well slice the car in half now for each frame since the interior png is going to have to be a mid ground element between the front of the car and the back of the car. And it'll have to be rendered seperately as a result. So now you have to render out 10 color variations on a side view mirror for both front and back seperately and keep its alpha channel correctly infront/behind of the car door. And so help me god if they want that car door to open that's going to just multiply the pain and suffering. And then later someone else is going to have to code up a flash page to handle all the switches between front/back animations dependent on view.... and on and on and on...
You then are faced with one of two options: Limit the views, visually changeable options or you spend an extra $40k rendering a million combinations in order to demonstrate a trillion possible total combinations when you could have just purchased a $20k computer and been done and offered your customer: more views, more options than would have been conceivable through pre-rendering. I suppose there's another option and that's to go client-side crappy 3D.
Reflections.
Change form automatic to stick shift. The front window will reflect this.
Change form leather seats to fabric. The windows will reflect this.
Change from Radio option 1 to radio option 2. The windows will reflect this.
Should I go on...
The uses are probably not yet understood. This is cool technology and some of the tens of millions of developers will find good use for it. The interesting bit is that you gain access to a huge render farm without buying a lot of servers. If your load is uneven, this service will save you a lot of money (and power too).
Anyhow, from the top of my head: Cars, architecture, city planning, visualizing climate change, next-generation GPS navigation devices.
Stop the brainwash
Where would they get all the hi-resolution, fully textured, up to date city-wide 3D models from?
Because unless they have those models this is moot ... you can do a far better job using static images like Google streetview does (and which an iPhone is perfectly capable of rendering in real time).
No sig today...
Yes, you could upload a 3D model of your house's garage and see what your car looks like in there !
Or a 3D model of your SO and see what she/he looks like inside the car !
Or 3D models of your children and see how tall or fat they can become before you have to switch to a roomier model !
Just think of the possibilities !
May contain traces of nut.
Made from the freshest electrons.
Still no cure for cancer :(
So, you're going to prepare high-quality images in response to requests from mobile devices. Your "cloud", a vast farm of massively powerful rendering engines, will prepare these images thousands of times more quickly than your iPhone's pathetic processor, and stream them back to your display. Neato.
Now, since this works so well, millions of mobile users will flock to the service. Thousands at a time will be requesting images. Fortunately, that render farm is still thousands of times faster than a mobile device, so each of those requests will be rendered as quickly as -- well, about as quickly as a single mobile device could do it.
Getting increased speed out of a cloud only works when you've got a relatively large number of cloud machines and a relatively small number of clients. If you've got more clients than hosts, all you've done is added a lot of communication overhead and some slick load-balancing.
This is what will finally drive people back out of the suburbs and into the cities -- the quest for ever-shorter ping times. "Dood, by the time your packets climb into their minivan and make their way through a hundred microseconds of suburban traffic, my packets have walked 8800ns to the hub and pwned you ten times over!"
Or you could just look at the 4D world around you that you're walking through instead of being yet another douchebag with headphones and no clue what's going on around him, eh?
"Imagine Street View rendered in the direction you are holding your phone, from your position."
Congratulations, you've invented AR, which has been an app on my phone for about a year now. It's called using the input from the goddamn camera stuck on the front.
I, like many of you here was wondering what the hell this could possibly be useful for, up until I viewed the video.
The answer, clearly, is porn.
It all makes sense now!
Photos.
Calling this a "real-time" raytracing server seems a bit disingenuous. Is it blazing fast? Yes. Is it real-time (as the demo claims)? I suppose it's symantics, but I think it would have to be x-frames-per-second to be real-time. TFA calling it near-real-time seems a little more reasonable, but still hype. Can "within seconds" still be considered even near-real-time?
The video narration is inaccurate. What you see there is not a progressive JPEG loading (they might be using progressive compression for the JPEG, but it doesn't matter).
What you're seeing is progressive refinement, which is a raytracing rendering technique that starts to show an image immediately and continuously adds detail (rather than rendering the image in full detail immediately). The light and dark splotches you initially see are a typical artifact of low-detail radiosity rendering.
More information here.
NVidia make shit, their drivers are horrible.
That wouldn't be our problem, since they are going to do the rendering on their own hardware somewhere in Bespin, ainnit?
I think a smashing app for this would be some sort of World of Warcrack or similar game where they could have a combo of locally rendered/remotely served graphics. Some of the newer high-end mobiles have pretty strong GPUs considering, perhaps use them to render characters and the fast/dynamically changing content and serve backgrounds and foes from this reality server. There may be hundreds of special-purpose apps that could take advantage of this, but I struggle to come up with a mass-scenario other than gaming and augmented-reality tho.
+Raider of the lost BBS
FWIW I suggested rendering and compositing multiple video streams into a single one then download to a local mobile terminal a number of years ago. I guess you just wait until you get good enough hardware and then when you hit the sweet spot everything just materializes.