Corporation: An ingenious device for obtaining individual profit without
individual responsibility.
-- Ambrose Bierce (Also, quoted in a Civ4 soundbite by Leonard Nimoy)
Modern games deal with way more than "tens of thousands" of primitives, and they do it realtime. Games already juggle millions of polygons, and that count is only going to grow.
Pixar deals with low numbers of primitives, they dont do it in realtime, and they only deal with what is absolutely necessary given extensive off-line scene analysis.
They arent even playing on the same field. Pixar == small n.
SMTP is a near ideal, fully standardized, playground for spammers. If spammers had invented SMTP, it woudnt be much different than it is.
Gee, I wonder what the problem is.
How do I suggest we change it? I said exactly what I suggest.
First, you can look up the word standard. Then, if you feal really enthusiastic, you might want to think for yourself.
Notice what happens as size of input increases in magnitude for the O(log n) algorithms.
Compare with what happens when the size of the input increases in magnitude for the O(n) algorithms.
There must exist an N where O(log n) blows O(n) out of the water, no matter what per-iteration constants are in play.
We have a good idea what size N must be for a raytracer to begin to blow a raterizer out of the water, given the observed per-iteration constants of each algorithm. Its somewhere between 1 million (ideal conditions for the raytracer) and 10 million (doesnt matter how poor the conditions are for the raytracer.)
Put another way, if a rasterizer can render a scene with 1,000,000 primitives in DT time, then if we double N to 2,000,000 then it takes 2*DT time.
But if we consider the same problem for a raytracer.. if a raytracer can render 1,000,000 primitives in DT time then doubling N to 2,000,000 only takes 1.05*DT time.
With large N, doubling the input size is practically free for a raytracer but is always a linear double-the-time-for-double-the-input for the rasterizer.
Rasterization cannot compete for large N. Its a certainty.
Aliasing? Its not solved in strict raytracing, thats why variants of raytracing such as beam-tracing were invented decades ago. Wrong. Solved.
Indirect lighting? Radiosity at the worst, just like rasterization. Wrong. Solved.
Not accurate with reality because its done backwards? Math is hard. Lets go shopping! Wrong. What do you think rasterizers are doing?
Dynamic scenes? Existing solutions are ugly, which I call warts. They exist tho. In fact, many solutions exist, so Wrong. Solved.
The Cars movie? Small (n). Pixar doesnt do large (n).
If you want to take Pixars word over mathematical facts, then so be it. You cannot argue that O(n) is better than O(log n) for large N. Here's an idea.. learn what Big-O notation is, and why its important.
(as if Pixar doesnt have a motive for every statement they make..)
You quote "might be but probably not unless problem X is overcome"
Who exactly are you quoting? People in your imagination do not count.
The "problems" that raytracing face HAVE been overcome, decades ago.
If you dont understand the different algorithmic complexities between rasterization and raytracing then you should do your homework before spouting off. Raytracing dominates rasterizers when using enormous primitive counts. It has always done so, and always will.
Raytracer complexity grows at O(log n), Rasterizer complexity grows at O(n).
Any programmer should know exactly what that means.
Rasterizers are the bubble sort of the rendering world, and while it outperforms raytracing with small (n) just like bubble outperforms quicksort on small (n), it cannot ever outperform raytracing with large (n) just like bubble cannot outperform quicksort on large (n).
Perhaps you should learn a little somehting about how raytracing works before you critique it.
The point isnt that its free, the point is that it costs no more than any other reflective or refractive surface under raytracing. Thats the elegance of raytracing. Such surfaces are cheap in a raytracer, expensive in a rasterizer.
Raytracing isnt just elegant. Raytracers scale better than rasterizers in the specific task of rendering, outperforming rasterizers when the primitive count grows enourmous. Raytracing most definately is the future of high detail rendering.
There are still a few hills to climb with raytracers, such as how to go about maintain O(Log n) on intersection tests in highly dynamic environments. The current solutions all have annoying warts, but they are just warts.
Rasterizers have far more warts than raytracers ever will. Rasterizers use many dirty little tricks to fake what raytracers do naturally. Everything from shadows, reflective surfaces, parallax mapping, radiosity, and just about every other "boasted about" lighting technique.
If you want to see high quality realtime global illumination in games, then you want raytracing. Rasterizers can't do it unless they cheat and perform raytracing.
For what its worth, Microsoft Research has played around with leveraging these new technologies.
They are currently calling it Accelerator and in its current form, it interfaces with GPU's to perform what I would call "Super-SIMD." You can perform integer work very very fast using it. Development on Accelerator stopped several years ago, probably because the Microsoft Research guys are waiting for something a little more concrete to start planning for.
ET will likely use EM radiation just like we do for their telecommunications. Its economical.
The chance that some new form of radiation is more economical is very very slim. For a new form of radiation to be used, it will have to have special properties which make it preferable (faster than light?)
If we flip the coin over and consider the chance that an ET would detect us (rather than we detect an ET) then we must consider the fact that we are currently rapidly moving away from all forms of coherent radiation.
We compress the coherency out of our transmitted data, because that too is economical. This is standard information theory here. A well compressed stream of data is virtualy indistinguishable from noise.
Our own SETI project is looking for, you guessed it, coherent radiation. Something we ourselves consider primitive.
So the window for detecting humans via its radiation is about 125 years of our sloppy ignorant monkey transmissions, give or take.
Indeed. Procedural content is the future of gaming. That is so because the primary bottleneck for GPU's has always been memory bandwidth and will always be memory bandwidth unless a fundamentaly different (goodbye Mr Texture Bitmap) methodology is advanced.
Cache misses got you down? No problem. Nextgen games wont be missing the cache on texture reads because nextgen games wont have textures. They will have shaders which sample a procedural function on a per-texel bases.
"Moving to a combined CPU/GPU" leaves NVidia out of the loop because NVidia does not control the API which makes its hardware work. The standard is DirectX, not an NV part. NVidia will never become a "fabless gpu manufacturer" in the PC market because of this.
The technical details of how and why a GPU can accomplish so much work in so lttle time is exactly that, a technical detail. There is no Intellectual Property here that NVidia gets to bargain with. Raster algorithms are more or less simple things.
Additionally, most of the agree-with-nvidia camp that have posted here seem to misunderstand what is comming, using arguements that are only justified for symetric multicores. The near future is asymetric multicores, with 4 or 8 general purpose processors and 32+ additional programmable stream processors. Why do you think AMD was so keen to buy ATI?
Those stream processors don't just fullfill the GPU requirement. They work for all large scale highy parallel number crunching tasks, such as those being pioneered by the GPGPU guys.
Apple is all about a closed, proprietary, environment. They care about increasing Apple profits, not about decreasing Microsoft profits. They view the industry as a win-win for M.S. and Apple. Yes, they put cute advertisements on television trying to get a bigger share from Windows. The illusion that there are only two choices is what keeps Apple's computer business alive.
Linux is a bigger threat to Apple than to Microsoft.
Corporation: An ingenious device for obtaining individual profit without individual responsibility.
-- Ambrose Bierce (Also, quoted in a Civ4 soundbite by Leonard Nimoy)
I do.
Modern games deal with way more than "tens of thousands" of primitives, and they do it realtime. Games already juggle millions of polygons, and that count is only going to grow.
Pixar deals with low numbers of primitives, they dont do it in realtime, and they only deal with what is absolutely necessary given extensive off-line scene analysis.
They arent even playing on the same field. Pixar == small n.
SMTP is a near ideal, fully standardized, playground for spammers. If spammers had invented SMTP, it woudnt be much different than it is. Gee, I wonder what the problem is.
How do I suggest we change it? I said exactly what I suggest. First, you can look up the word standard. Then, if you feal really enthusiastic, you might want to think for yourself.
I don't know how much more elaborate it could be stated.. Why are (most) forums spammed less than inboxes?
The solution is to de-standardize email.
Doing you a favor.
\
A Power Point Presentation
Digest until slide 13.
Notice what happens as size of input increases in magnitude for the O(log n) algorithms.
Compare with what happens when the size of the input increases in magnitude for the O(n) algorithms.
There must exist an N where O(log n) blows O(n) out of the water, no matter what per-iteration constants are in play.
We have a good idea what size N must be for a raytracer to begin to blow a raterizer out of the water, given the observed per-iteration constants of each algorithm. Its somewhere between 1 million (ideal conditions for the raytracer) and 10 million (doesnt matter how poor the conditions are for the raytracer.)
Put another way, if a rasterizer can render a scene with 1,000,000 primitives in DT time, then if we double N to 2,000,000 then it takes 2*DT time.
But if we consider the same problem for a raytracer.. if a raytracer can render 1,000,000 primitives in DT time then doubling N to 2,000,000 only takes 1.05*DT time.
With large N, doubling the input size is practically free for a raytracer but is always a linear double-the-time-for-double-the-input for the rasterizer.
Rasterization cannot compete for large N. Its a certainty.
Aliasing? Its not solved in strict raytracing, thats why variants of raytracing such as beam-tracing were invented decades ago. Wrong. Solved.
Indirect lighting? Radiosity at the worst, just like rasterization. Wrong. Solved.
Not accurate with reality because its done backwards? Math is hard. Lets go shopping! Wrong. What do you think rasterizers are doing?
Dynamic scenes? Existing solutions are ugly, which I call warts. They exist tho. In fact, many solutions exist, so Wrong. Solved.
The Cars movie? Small (n). Pixar doesnt do large (n).
If you want to take Pixars word over mathematical facts, then so be it. You cannot argue that O(n) is better than O(log n) for large N. Here's an idea.. learn what Big-O notation is, and why its important.
(as if Pixar doesnt have a motive for every statement they make..)
Thats where you are wrong.
You quote "might be but probably not unless problem X is overcome"
Who exactly are you quoting? People in your imagination do not count.
The "problems" that raytracing face HAVE been overcome, decades ago.
If you dont understand the different algorithmic complexities between rasterization and raytracing then you should do your homework before spouting off. Raytracing dominates rasterizers when using enormous primitive counts. It has always done so, and always will.
Raytracer complexity grows at O(log n), Rasterizer complexity grows at O(n).
Any programmer should know exactly what that means.
Rasterizers are the bubble sort of the rendering world, and while it outperforms raytracing with small (n) just like bubble outperforms quicksort on small (n), it cannot ever outperform raytracing with large (n) just like bubble cannot outperform quicksort on large (n).
Class dismissed.
Perhaps you should learn a little somehting about how raytracing works before you critique it.
The point isnt that its free, the point is that it costs no more than any other reflective or refractive surface under raytracing. Thats the elegance of raytracing. Such surfaces are cheap in a raytracer, expensive in a rasterizer.
Raytracing isnt just elegant. Raytracers scale better than rasterizers in the specific task of rendering, outperforming rasterizers when the primitive count grows enourmous. Raytracing most definately is the future of high detail rendering.
There are still a few hills to climb with raytracers, such as how to go about maintain O(Log n) on intersection tests in highly dynamic environments. The current solutions all have annoying warts, but they are just warts.
Rasterizers have far more warts than raytracers ever will. Rasterizers use many dirty little tricks to fake what raytracers do naturally. Everything from shadows, reflective surfaces, parallax mapping, radiosity, and just about every other "boasted about" lighting technique.
If you want to see high quality realtime global illumination in games, then you want raytracing. Rasterizers can't do it unless they cheat and perform raytracing.
Get it now?
For what its worth, Microsoft Research has played around with leveraging these new technologies.
They are currently calling it Accelerator and in its current form, it interfaces with GPU's to perform what I would call "Super-SIMD." You can perform integer work very very fast using it. Development on Accelerator stopped several years ago, probably because the Microsoft Research guys are waiting for something a little more concrete to start planning for.
ET will likely use EM radiation just like we do for their telecommunications. Its economical.
The chance that some new form of radiation is more economical is very very slim. For a new form of radiation to be used, it will have to have special properties which make it preferable (faster than light?)
If we flip the coin over and consider the chance that an ET would detect us (rather than we detect an ET) then we must consider the fact that we are currently rapidly moving away from all forms of coherent radiation.
We compress the coherency out of our transmitted data, because that too is economical. This is standard information theory here. A well compressed stream of data is virtualy indistinguishable from noise.
Our own SETI project is looking for, you guessed it, coherent radiation. Something we ourselves consider primitive.
So the window for detecting humans via its radiation is about 125 years of our sloppy ignorant monkey transmissions, give or take.
Indeed. Procedural content is the future of gaming. That is so because the primary bottleneck for GPU's has always been memory bandwidth and will always be memory bandwidth unless a fundamentaly different (goodbye Mr Texture Bitmap) methodology is advanced. Cache misses got you down? No problem. Nextgen games wont be missing the cache on texture reads because nextgen games wont have textures. They will have shaders which sample a procedural function on a per-texel bases.
"Moving to a combined CPU/GPU" leaves NVidia out of the loop because NVidia does not control the API which makes its hardware work. The standard is DirectX, not an NV part. NVidia will never become a "fabless gpu manufacturer" in the PC market because of this. The technical details of how and why a GPU can accomplish so much work in so lttle time is exactly that, a technical detail. There is no Intellectual Property here that NVidia gets to bargain with. Raster algorithms are more or less simple things. Additionally, most of the agree-with-nvidia camp that have posted here seem to misunderstand what is comming, using arguements that are only justified for symetric multicores. The near future is asymetric multicores, with 4 or 8 general purpose processors and 32+ additional programmable stream processors. Why do you think AMD was so keen to buy ATI? Those stream processors don't just fullfill the GPU requirement. They work for all large scale highy parallel number crunching tasks, such as those being pioneered by the GPGPU guys.
Why would Apple want to help Linux? Seriously.
Apple is all about a closed, proprietary, environment. They care about increasing Apple profits, not about decreasing Microsoft profits. They view the industry as a win-win for M.S. and Apple. Yes, they put cute advertisements on television trying to get a bigger share from Windows. The illusion that there are only two choices is what keeps Apple's computer business alive.
Linux is a bigger threat to Apple than to Microsoft.