Photorealistic Math
by Wayne Radinsky, Nov. 14, 2006
This doc gives some data points. Original XBox was 150 million
polygons/second.
Game Consoles: A Specs Comparison of GameCube, PlayStation 2,
XBox and others
This article gives 500 million polygons for XBox 360 and 125 million
for the original XBox.
Q&A: The Xbox 360
The Xbox 360 can draw up to 500 million polygons per second to
depict game scenes. By contrast the original Xbox's upper limit
was 125 million.
Some more stats: PlayStation 2: Around 20 million polygons per
second, Dreamcast: Around 3 million polygons per second, Nintendo 64:
Around 150,000 polygons per second, PlayStation: Around 360,000
polygons per second (lacks comparable effects)
Polygon Power
This page says visual reality is 80 million polygons per picture
(Catmull et al., 1984). If we wish photorealistic VEs at 10 frames/s,
this translates into 800 million polygons/s. There is no current
graphics hardware that provides this.
Computer Hardware and Software for the Generation of Virtual
Environments
So reality == 80 million polygons/frame x frame rate. 10 frames/s is
slow. Movies go at 24 frames per second (== 1.92 billion
polygons/second), and television goes at 60 frames per second (== 4.8
billion polygons/second).
This page describes human vision system but does not describe how
many photoreceptors are in the eye. Section on modelling is
interesting too, shows different shading algorithms.
Basic Understanding of Virtual Reality Fundamentals
This page says there's approximately 120 million photoreceptors, 5-8
million are cones; the rest (vast majority) are rods.
Psych 129 - Sensory processes - Light and the eye
This page says there's about 130 million photoreceptors absorb light,
yet roughly 1.2 million axons of ganglion cells transmit information
from the retina to the brain. So there is immediately a dramatic
compression of information going from the eye to the brain.
Visual system - Wikipedia
What's missing in all this is where does the "80 million
polygons/frame" come from. It turns out that that is not, and cannot
be, an exact figure. The reason is because the number of polygons
needed varies depending on the distance to the object being viewed,
its motion, and where it is in the field of view. This powerpoint
presentation (55 slides) describes some of these issues:
Dynamic Level of Detail Tutorial
I'm going to proceed from here using the 80 million polygons ==
reality assumption.
Some "back-of-the-envelope" math:
Let's look at the XBox and XBox 360 as two data points.
XBox - launched November 15, 2001, 150 million polygons/second. (I'm
going to use the figures given at launch for both boxes, assuming
these represent the hardware specs and the number of polygons you get
"in practice" is a little lower -- hopefully lower in the same
proportions for both boxes.)
XBox 360 - November 22, 2005, 500 million polygons per second.
So, using only these 2 data points to keep the math simple:
- 4 years, 3.33 factor of increase,
- Annual increase == 35.1%
- Doubling time == 2.30 years
Time it will take to reach 4.8 billion polygons/second at 60 frames
per second:
- Factor of 9.6 increase
- Should take 7.514 years (From XBox 360 launch date)
- That's May 29th, 2013 (the math here is probably a little more
precise than is justified).
- A more accurate statement would be, photorealistic VR should arrive
"sometime in 2013".
So now let's look at the "Worst Case Scenario" ...
If you assume 1 polygon for each photoreceptor in the eye, that gives
you 130 million polygons/frame x 60 frames/second = 7.8 billion
polygons/second as an absolute upper limit.
Doing the exact same calculations with 7.8 billion instead of 4.8
billion we get:
- Factor of 15.6 increase
- Should take 9.127 years (from XBox 360 launch date)
- That's January 8th, 2015 (the math here is probably a little more
precise than is justified).
- So, photorealistic VR must arrive by at least "sometime in early
2015"
That's based on the XBox specs -- so we are talking about XBox 2015
here. XBox 2015 will be fully-photorealistic VR.
Taking both dates into account, I'm saying "Fully photorealistic VR
will arrive between 2013 and 2015" should be a correct and accurate
prediction.
Of course, there is a deep assumption here which is that the software
people will figure out how to use all these polygons to make images
that look like photographs and not like cartoons.
One time I saw a football game on TV in a store. But when I walked up
to the TV and saw the football game up close, I realized it was
actually a video game. From a great enough distance, it could fool
me. And if you look at the computer animated movies, they are getting
more realistic-looking all the time.
The fact that computers are aproaching photorealism, yet failing to
achieve it, has led to the concept of "Uncanny Valley". This was
talked about a lot after the release of the movie "The Polar
Express", because the makers of the film tried very hard to make
photorealistic characters, but because they didn't quite get there, a
lot of people thought the caracters were "creepy" and thought the
filmmakers should have made the film more cartoony. In order to get
the right emotional response from the movie characters, they need to
be either totally photorealistic or cartoony. The valley in between
-- that's Uncanny Valley.
Actually the term "Uncanny Valley" predates modern video games and
computer-animated movies. Wikipedia has a good article on the
history
Uncanny Valley
As a postcript... I should mention I posted this analysis some months
ago on the Bay Area Futurists list, and it was harshly criticized by
some people on the grounds that:
I failed to take into account a double-exponential. (Ray Kurzweil
believes Moore's Law is a double exponential rather than a single
exponential. He also believes the doubling time is 12 months, which
would cause photorealistic video games to arrive much sooner than
2015.) The
figure I used for Moore's Law, a 2.3 year doubling time, was
too precise -- using 2 significant digits of precision was
unjustified.
Now, I don't think the actual doubling time is too far from 2.3
years, because in 2000 I calculated the doubling time using Pentium
performance numbers from an Intel press release where they talked
about the last 10 years of the Pentium. But I will agree that more
data points would be useful. I have a hard time believing Kurzweil's
12-month doubling time estimate (Kurzweil claims to have used a
massive amount of data to calculate it) not just because my
calculations are different, but just because at a subjective level it
seems wrong -- computers *seem* to double in processing power every 2
years or so, not ever 1 year or so. Just my $0.02 though.
|