Intel Researchers Consider Ray-Tracing for Mobile Devices
An anonymous reader points out an Intel blog discussing the feasibility of Ray-Tracing on mobile hardware. The required processing power is reduced enough by the lower resolution on these devices that they could realistically run Ray-Traced games. We've discussed the basics of Ray-Tracing in the past. Quoting:
"Moore's Law works in favor of Ray-Tracing, because it assures us that computers will get faster - much faster - while monitor resolutions will grow at a much slower pace. As computational capabilities outgrow computational requirements, the quality of rendering Ray-Tracing in real time will improve, and developers will have an opportunity to do more than ever before. We believe that with Ray-Tracing, developers will have an opportunity to deliver more content in less time, because when you render things in a physically correct environment, you can achieve high levels of quality very quickly, and with an engine that is scalable from the Ultra-Mobile to the Ultra-Powerful, Ray-Tracing may become a very popular technology in the upcoming years."
Moore's Law works in favor of Ray-Tracing, because it assures us that computers will get faster - much faster - while monitor resolutions will grow at a much slower pace.
Inverse Moore's Law states that the more time that developers spend on making games look 'pretty', the less time they spend on playability.
I am a free slashdotter. I will not be modded, blogged, DRM'd, patented, podcasted or RFID'd. My life is my own.
It's about time for S.P.I.S.P.O.P.D. for mobile devices! I've only been waiting about 15 years!!!
I, for one, am looking forward to the inevitable
I can just see two moustached elderly gents discussing research, possibly even drinking Guinness out of a bottle. They go silent for a few minutes and then one of them, whilst stroking his long droop moustache suddenly jumps up and proclaims:
"Holy Crap! Mobile gaming devices have tiny screens, imagine how easy it'd be to use advanced raytracing graphics!"
"Brilliant!"
"As computational capabilities outgrow computational requirements, the quality of rendering Ray-Tracing in real time will improve, and developers will have an opportunity to do more than ever before."
This attitude is why even tho our computers are 1000x faster then we had 20 years ago, they actually perform worse overall.
---- Booth was a patriot ----
Too bad the source code for the highly optimized prog10 raytracer was lost in the great hard drive crash of '98.
As Intel couldn't compete with ATI/nVidia on 3D rendering performance, they simply redefined rules of the game. Now they seem ahead of everyone else in Real Time Raytraycing, at least based on publicly presented papers. Now, they need to integrate this into some bigger picture of "new gaming platform". If they manage to integrate this graphics with Java JVM in coherent way, so that developers can easier utilize multiple cores in games and be able to write games once, run on all platforms/future consoles as a bonus. That would be big step towards letting developers focus towards gameplay and not on DirectX/OpenGL/PS3/... API generations, extension nuances, tricks for simulating shades, optimizing polygon count in big scenes, ... ray-tracing is making all this simple without requiring effort on developer's side. Yes, I know Java is some percents slower then C++, but in Java it is so much easier to utilize multiple-cores (especially when it comes to debugging) that I am sure performance will be gained, not lost on modern CPUs.
839*929
This is kind of stupid actually. Why would I want a game on my mobile to be thrashing the cpu when it could be doing some basic sprites and other not-so-cpu-intensive methods to produce my game?
Ray-tracing may be possible on my 500Mhz smartphone's processor - but damn, I don't want to have to be plugged in to play them.
Rendering my latest blender project....
"The problem with socialism is eventually you run out of other people's money" - Thatcher.
For those interested in real-time raytracing, the latest beta version of POV-Ray has a neat (but experimental) RTR feature. The source is now available for Windows and Unix/Linux. There also demo scenes available (and another demo scene with pre-baked textures can be found here).
If you want to know the future of real-time graphics, look at what Pixar and other animation and special effects houses are doing. None of them are using ray-tracing except to achieve specific effects in specific circumstances. The fact is that global illumination combined with scanline renderers simply produce better pictures with less computational requirements.
The interactive way to Go -- http://www.playgo.to/iwtg/en/
This is a common meme, but it is mistaken. I'm sure you've noticed that Pixar's movies aren't yet photorealistic. Raytracing *is* the holy grail of graphics; in its most sophisticated form it basically amounts to a simulation of the actual physics of light propagation, and with monte carlo methods it can be solved, producing images that can truly be said to be indistinguishable from reality. The reason Pixar doesn't use it is that, believe it or not, Pixar has constraints on their rendering time. They can't spend days to render a single frame; they need to get movies out the door. But given a couple dozen more years of Moore's law, raytracing would be everyone's rendering algorithm of choice. It's simply the most general, flexible, and simple rendering algorithm possible, so, absent computational constraints, it's what everyone would use. I'd say that qualifies it as the "holy grail" of graphics, wouldn't you?
What does Pixar have to do with realtime graphics? Pixar's not DOING realtime graphics.
Pixar has the luxury of controlling every take, and going back after the fact to re-render shots with different settings, or even to use different algorithms (including ray-tracing) to fix any rendoring flaws caused by whatever approximations they're using at that point. Realtime graphics do not have that luxury... if there's a problem in a scene, you can't go back and fix it.
So whether raytracing is more or less appropriate for realtime graphics, whether Pixar uses it or not is irrelevant.
That phones may be able to ray trace is news? Sounds more to me like intel was of reading in the news all week how inferior their graphics stuff was because of the Microsoft Vista debacle part eight - and suddenly we have an anonymous tip to a blog at intel saying ray tracing on phones there is "an opportunity to deliver more content in less time" and "Ray-Tracing may become a very popular technology in the upcoming years".
A popular technology? Like a working filesystem? They're real popular I hear. Or an on off button that actually works.
Slow news day + intel graphics dept astroturfing = ray tracing on phones is news.
Need Mercedes parts ?
The normal way things work in computing, things tricke down from high-performance platforms to lower ones. So, where are the desktop games using raytracing?
If they want a phone to do 256 x 192 raytracing in real time, then a desktop with 1000x the compute power should easily be able to do 720x480 (full res television) in real time. But, oddly enough, there are no such titles out there....
It's worth pointing out (and it's mentioned in the paper you cite) that the main reason Pixar hasn't been doing much ray tracing until now is not performance or realism, but memory requirements. They need to render scenes that are too complex to fit in a single computer's memory. Scanline rendering is a memory-parallel algorithm, ray tracing is not. So, they're forced to split the scene up into manageable chunks and render them separately with scanline algorithms.
This isn't an issue for games, which are going to be run on a single machine (perhaps with multiple cores, but they share memory).
Photon mapping is a pretty good way of getting an unbiased approximation to the rendering equation. It's slower than plain ray tracing, but much faster than path tracing. Real-time interactive global illumination isn't as computationally intractable as you are implying; it is likely to follow real-time ray tracing in not too many years.
You are assuming that there is only one variable (resolution) that can be adjusted. Actually the quality of the scene is a function of two variables: resolution and scene complexity. When the complexity of scenes was low, rasterization produced much better results than raytracing for the same effort. Now that scene geometry has increased so much we are reaching the point where raytracing will produce the same (or better quality) for less effort. The main issue is that rasterization is O(n) in scene complexity while raytracing is O(log n). Of course there are lots of other issues and tradeoffs otherwise we would be using raytracing in games already.
If you're interested there is a detailed comparison available here.
Slashdot: where don knuth is an idiot because he cant grasp the awesome power of php
I'd prefer companies focus on decent vector graphics for applications before trying to move directly to ray tracing for games.
Really, nothing pushes hardware, er... harder, than games. Application GUI implementation is still in the stone age, even on mobile devices.
Bunnies, http://www.dawnofthegeeks.com/ (a Wolf3D clone) was originally written in Java. I then started translating it to C# and got about a 50% speed boost. I'm now able to do bump mapping, higher resolutions and still have playable framerates.
And this is just for Ray Casting which is much simpler than Ray Tracing.
During my development with Java I discovered that setting a pixel color to 0xFF000000 caused a slowdown. That's right, a black pixel would slow the framerate down. I had to set all pure black pixels to not quite black pixels.
http://www.dawnofthegeeks.com/index.php?page=blog&offset=58
I also found that Java is much slower at doing a "v++" than C.
Those quirks aren't a big deal when you're not trying to do a lot of math. But they will cripple a Ray Tracer. If Sun could optimize Java better it might be viable but for now Ray Tracing based games would have to be written at a lower level even with a small resolution.
Maybe people don't expect enough out of handhelds to notice that the graphics are "poor" and that they could be better. In that case you could probably get away with Java. People don't expect much out of a console until someone starts really pushing the limit and then everyone has to.
Work Safe Porn