As I’m sure you know, we’re pretty excited to have 3D capabilities inside Photoshop CS3 Extended. That said, we know that what’s there today is really a first step into a pretty big realm.
Giving a glimpse into what the future might hold, the MIT Technology Review talks about Adobe’s research into real-time raytracing. In a nutshell, says principal scientist Gavin Miller, "Adobe’s research goal is to discover the algorithms that enhance ray-tracing performance and make it accessible to consumers in near real-time form."
These techniques scale particularly well on multi-core systems, which is why you tend to see rendering tests show up in high-end machines’ benchmarks. A brief slideshow accompanying the article demonstrates the differences between ray-traced images & those produced by the kind of interactive renderer used in Photoshop CS3. [Via Aravind Krishnaswamy, who works in Gavin’s group]
This is great, and I’m really glad research is moving forward. However, I was hoping Adobe could skip ahead of the rendering curve since it doesn’t have any legacy baggage. Ray tracing is used for the quick preview window in modern 3D apps, but not for photorealistic final rendering. Take a tip from Modo and jump in front of the line by not reinventing the wheel.
[Ray tracing is usually only used for advanced visual effects in modern 3D apps (and it’s OpenGL that is used for quick previews). Modo performs final rendering using ray tracing. They also have physically based materials for accurate and
realistic lighting (something that’s of interest to Gavin’s group).
The legacy baggage that most 3D rendering applications have are using other rasterization methods like scanline rasterization, micro-polygon tessellation or triangle rasterization (like OpenGL). Ray tracing was avoided in the past due to performance problems. The cleanest, most modern solution is to use a ray tracer for all rendering.
In any case, no one final rendering technology is likely to work for every user, so Photoshop CS3 lets users add their own renderers today. See NewTek’s LightWave Rendition for more info. –J.]
Interesting: I see a Pixar Film made with Photoshop comingโฆ
[Oh, they’re all made with Photoshop already. ๐ –J.]
haha wtf… since when does Pixar use photoshop to create entire films…
[Is your question, “Who said that Photoshop (and only Photoshop) was used to create entire Pixar films?,” the answer would obviously be “No one.” But if the question is, “When did Pixar start using Photoshop as a mainstay for painting the textures, mattes, etc. that go into the films?,” then the answer would be “Many, many years ago”–way before I started talking to them when I joined the team in 2002. As other tools (e.g. Matador) have dried up, Photoshop has grown in its importance there. –J.]
Thanks for the NewTek tip. I applied for their beta.
Is GL a form of raytracing? In concept is sounds like the opposite, but I’m no physicist.
[Nor am I, but here’s some info on OpenGL. The kind of shading used in Photoshop’s interactive renderer (and all the others I can remember seeing) doesn’t use raytracing. –J.]
I’m trying to drum up some interest in PS 3D work in my forums, but so far the turnout has been disappointing.
I must have mistyped, sorry. I meant to ask about GI (Global Illumination, the rendering method I’d heard that was supplanting raytracing), not GL.
[Ah, that makes more sense. I’ll consult bigger brains for more insight. –J.]
GI (Global Illumination) is the common term used to describe a variety of light effects such as diffuse inter-reflection (how a red wall can cast a slight red color onto an adjacent white wall) or caustics (the effect when light gets reflected or refracted and then deposited onto another surface, like what a wine glass casts on a table).
Ray tracing is just a technique/tool and is orthogonal to the idea of GI. In past, GI has been computed using other techniques which in some cases were approximations. However, as the speed of ray tracing improves we can use it to compute Global Illumination effects. This is preferable since ray tracing is more general and can be used to simulate a variety of effects (including doing physically-based simulations).
[Thanks for the additional info, Aravind. –J.]
Yes, thank you. That is a very useful explanation. Coming from the 2D world, it’s easy to get lost in the sea of new terminologies. For example, would subsurface scattering have a similar relationship with raytracing?
In the 3D realm there are so many different technologies approached from so many different directions (animation, texture and UV mapping, modeling, rendering) that I’d about given up on my simple dream of just adding 3D models to photographs and have it come out looking photorealistic. Then Photoshop announced 3D support. But it’s still probably a decade away from what I’d imagined. I’m still hoping to be proved wrong.
Subsurface scattering is also a light/material effect like GI and ray tracing is a tool that can be used to simulate it. There are a variety of techniques to simulate subsurface scattering and many of them require the use a ray tracing core.
That is amazing, this is a major feature ive been wishing for – i need more time in my life!! ๐
//P
Thanks for the usefully explanation. And one thing: The Header of the Blog are loking very nice ๐ nice color mix ๐ thanks from Germany
[Danke. ๐ –J.]