View Full Version : The Dawn Effects demo
ok here i found a very interesting information about REnderers
for you all ,3d fans of tech .... because i know many more
questions will show up in the future ,it is a little old the report
but very informative about 3dgraphics and diferents ways
of rendering.. very informative by the way..
here...
Rendering packages
http://www.3dgate.com/techniques/000424/0424rendering2.html
------------------------------------------------------------------------------------
Pixar RenderMan
RenderMan is the rendering engine choice of the film and video industry. Its main claim to fame is speed and the ability to render very, very complex scenes (read thousands and thousands of polys). Its developers are also particularly proud of its antialiasing and motion blur. Since RenderMan was built specifically for the film industry, they also tout the accuracy of its camera settings.
RenderMan is a scanline renderer, so it requires the creation of specific shaders to generate specific lighting effects. Since its developers have built an entire shading language, it's not surprising that they are considered the kings of shaders. On the down side, programming those shaders can be tricky; many companies hire programmers to create special shaders. Moreover, Pixar also has a library of prebuilt shaders you can use. Third-party shaders are available as well.
---------------------------------------------------------------------------------
***
rendering techniques
http://www.3dgate.com/techniques/000424/0424rendering1.html#scanrender
--------------------------------------------------------------------------------
realtime renderers
Real-time rendering engines (usually scanline-based) are built for speed rather than accuracy. You usually find them in games, in real-time simulators, or in the modeler part of your 3D package. The primary advantage of a scanline-based engine is speed, but in order to generate realistic effects, a scanline engine uses tricks (rather than calculating exactly how light would behave in a scene). These tricks are usually accomplished with shaders and in many cases involve performing multiple passes on a scene
---------------------------------------------------------------------------------
for more info ,jump to the Page 1 in the link ...
The point is the Film industry holywood ,doesnt really
care about wich technique the artist use ,a "real" one
or a "fake" ,what they most care is that to get Best possible
quality in the less time possible.. sometimes every new day cost
a new million! in payroll and equipment . so this is where
REaltime rendering and Nvidia Cg can steal the show. :)
even if it is used for just a couple of basic shots,if the quality
is good enough for a movie (look at dawn demo) ,
they will no think twice to use a GeforceFx with their
production if they find a way to add it. not for everything but for some things.
just imagine the benefits,with a realtime good quality demo you can re-use every shot in every angle on the fly and no waiting for Renderfarms to render again the same scene from the start
in days or weeks .. ;)
i was skeptic when i saw the word Raytracing in pixar site .
that contradict everything i have ever read in about
renderman ,i asked a fella who have more experience in this ... about this dilema ,and happens that latest version
of REnderman v11.0 (realeased last week )
add new rendering techniques to its engine..
one is Raytracing! and another is Global Illuminations!.
Radiosity and GLobal illuminations are the best techniques todays
in rendering for realistic lights . they are very accurate
but VERY! slow , in rendering agaisnt Pixar clasics shading techniques.
now REnderman 11 is what some call an Hybrid renderer ,
and all around renderer.. the best of all worlds,
all renderers in one package ,just use the one you need .
impressive! to say the least.
http://www.3dfestival.com/story.php?story_id=96
StealthHawk
11-26-02, 01:04 AM
Originally posted by Bigus Dickus
No, I thought the cg effects in movies such as Episode II and The Lord of the Rings: TFOTR were much more realistic looking. In fact, there were a few things in the movie LOTR that, even after listening to the director's commentary and watching the documentaries, I still couldn't believe were cg... even repeatedly looking at the scenes in slow motion.
Granted, there were also scenes where it was easy to spot the cg, but not all of them.
Fintal Fantasy is cartoonish looking in comparison.
yeah, i agree. Final Fantasy may be the best total CGI movie as yet, but it still is not at the "reality" level.
a lot of LOTR and Episode II was done really well, and at first i didn't even know some scenes were CGI. however, a lot of the CGI scenes still have that artificial look to them, that just scream out "i'm fake! this is computer rendered!"
i dunno about you guys, but many CGI scenes have a certain look to them, that we still haven't managed to escape. we're still getting there.
thcdru2k
11-26-02, 01:07 AM
what do you think about all those discovery channel specials in cgi on dinosaurs and such?
The Baron
11-26-02, 07:01 AM
Originally posted by Remi
In case you haven't noticed it, I'm speaking of perfs, not capabilities. Of course cpus are all-purpose devices! Geez.
And btw if I were you I wouldn't be too sure what gpus can do and can't do. Who would have believed a stupid gf3 could handle the several gigs of data that light field mapping requires? Well, that doesn't mean it can't be done, and the best proof is that it was done.
And that's - again - a fact.
Not some belief put in bold in the hope it would give it more strength. See the difference?
You realize that you mention with GPUs would basically be going straight from 3dfx Voodoo1 boards to past NV30s in terms of what the hardware would have to do (best analogy I can think of) in about 2 or 3 generations?
Oh wait, I'm just reiterating something Bigus said, aren't I? ;)
Originally posted by Bigus Dickus
And that explains how a GPU will be 100,000% to 10,000,000% faster than a CPU because...? No, ratios that high aren't needed.
I think most of the discussions here about the Final Fantasy movie and Nvidia's demo is flawed because a lot of people are not talking of the same thing. Let's summarize a bit...
NVidia shows a demo of a short indoor sequence from the movie. Not extremely fast, and with at most two characters on the screen at the same time.
What's the message? It's possible to do characters looking much, much better than the average character we're seeing in 3D games.
I'm sorry if someone believes that a geForce card have been suddenly transformed into some kind of magic lantern that can render the whole movie in real-time. If NVidia have said that, then they would be wrong, but I'm not aware they said such a thing.
The Dawn demo just did its job to prove they're right about characters.
Now, you can discuss about details and differences between Dawn and Aki, but that doesn't change the fact that they proved their point.
----
On the side, it seems there's a few false ideas about rendering here and how rendering for movies is all mighty. It's not. It uses as many tricks as possible to produce images looking good enough.
On the original Star Wars (ep.4), Lucas was often exasperated by the modelers' care for details, because often the details were too small to end up on screen, and there was no way to justify the cost of that level of details.
One needs to do what's needed. Doing more is often simply a waste of time and resources.
That hasn’t changed. For instance, take the dream sequence in final fantasy. There's a shot of the ghosts standing still in front of Aki. What do we see? A vast landscape with a gorgeous sky and numerous ghosts, rendered in high details. Rendered in high details? Ooops. No. The only thing cg in there is the first three ghosts. The other ones, the landscape, the sky, are a mate painting. Is a mate painting impossible to render in real time? Of course not!
The question that seems in the minds in this thread seems to be "When will we see games looking like Final Fantasy?" The most important part of the answer isn't in the techniques but in how they're used. No, I don't believe we'll very soon see a believable gigantic battle scene with hundreds of extras in one shot. But that doesn't mean that all shots a la Final Fantasy are impossible to do. Because for some parts, the technical capabilities are here to do very good-looking things.
And for the other ones... that's the arena of 3D techniques and game design. How to use the available capabilities to make great faked stuff.
Because that's all the game in cg, off-line or real-time, ray-tracing or not, photon mapping or not, it's all about discovering how far you can push the techniques available to you, it's about how far you can cheat and still deliver great looking stuff. As it always have been in special effects.
And off-line rendering is no exception.
Arrghman
11-26-02, 10:53 AM
Originally posted by Remi
No, ratios that high aren't needed.
I think most of the discussions here about the Final Fantasy movie and Nvidia's demo is flawed because a lot of people are not talking of the same thing. Let's summarize a bit...
NVidia shows a demo of a short indoor sequence from the movie. Not extremely fast, and with at most two characters on the screen at the same time.
What's the message? It's possible to do characters looking much, much better than the average character we're seeing in 3D games.
I'm sorry if someone believes that a geForce card have been suddenly transformed into some kind of magic lantern that can render the whole movie in real-time. If NVidia have said that, then they would be wrong, but I'm not aware they said such a thing.
The Dawn demo just did its job to prove they're right about characters.
Now, you can discuss about details and differences between Dawn and Aki, but that doesn't change the fact that they proved their point.
Sure, they proved their point, but its a meaningless point. We already knew that it was possible to do characters... or just about anything... much better then the average in a 3D game. Anyone who's seen shots from Doom III knows this.
We're not talking about false advertising here, but a marketing gimick... the throw these tidbits out that look really good, wouldn't work incorporated into a game, and let people draw their own conclusions which typically are "OMFG FF IN REAL TIME!"
In any case... as I've already said... you can use all the shaders and tricks in your game engine that you want. Nothing is going to be able to hold a candle to raytracing and radiosity shadows in terms of realism, accuracy, believability and interaction. Why do you think that raytracing was incorporated into PRenderman to make it a hybrid renderer? Shaders and OGL lights simply can't get this done.
Games will get very good over the next few years in terms of visual presentation. Will you ever have trouble distinguishing a game from a movie? Most likely not for a long time.
>Sure, they proved their point, but its a meaningless point. We already knew that it was possible to do characters...
Ah. Sorry, it wasn't very obvious when reading the posts.
>We're not talking about false advertising here, but a marketing gimick... the throw these tidbits out that look really good, wouldn't work incorporated into a game, and let people draw their own conclusions which typically are "OMFG FF IN REAL TIME!"
Well, it that would be the case I would say that's marketing. It happens all the time, and there's no need to blame one specific company about it. But I don't even think that's the case: that demo was presented to professionals; it wasn't really used as a marketing material for the general public (were are the videos?). I don't think it should be assumed that professionals draw false conclusions when they see a tech demo.
>In any case... as I've already said... you can use all the shaders and tricks in your game engine that you want. Nothing is going to be able to hold a candle to raytracing and radiosity shadows in terms of realism, accuracy, believability and interaction. Why do you think that raytracing was incorporated into PRenderman to make it a hybrid renderer? Shaders and OGL lights simply can't get this done.
Maybe, but excellent things have been done without them. They're great tools to have, but they're not absolutely needed to do great things - far from it. How much realism you want in your pictures is an artistic choice, a part of the style. Not a mandatory goal.
>Games will get very good over the next few years in terms of visual presentation. Will you ever have trouble distinguishing a game from a movie? Most likely not for a long time.
Again, this applies when photorealism is a goal. It looks like you're focusing on traditional movies, forgetting animation movies - what cg movies are today. :)
Arrghman
11-29-02, 12:31 AM
What exactly is the difference between so called 'traditional' movies and fully CG movies? When they say movies, I'm assuming this isn't just full CG... but also the CG elements in other movies. Say Spiderman or about 90% of AOTC. But have no fear, I am not refering to the live action footage of movies... CG can't even reproduce that realistically yet. Getting better recently, but not there yet.
As to how much realism... well when we're talking about FF its kinda assumed that you're attempting a realistic-ish final product. And even semi-realistic stuff... say Shrek. Can you imagine what Shrek would look like if all the characters had those icky shadows like in JK2? Or worse... no shadows at all? There are certain things that your brain needs to see to to get the impression that what you're looking at is believable... most times you don't even consciously register them. Focus on the exact look of the shadows, soft yet defined and fully interactive with all the visable objects with no clipping. Look closely at any curved surfaces, do you see any type of segmentation? What about sharp reflections... not the blurry environment maps you get in games now, but real and fully interactive reflections? Refractions? Caustics?
I've got nothing against nVidia here... the GF4 Ti4400 I've got shows that well enough ;) I just don't think that everyone has a full appreciation for the immensly complexity that goes into production level CG compared to games.
As an example... take the game Bridge Commander. You know, the Star Trek simulator. The ship models there have about... 4000 or 5000 polygons if they're full detail models, IIRC, and about 15 textures. The full detail model of Enterprise in the show of the same name contains over 500,000 polygons, has over 100 hi-res texture maps and alone takes 200mb of RAM to load.... and this is just for television. How much memory was needed to hold everything in the climax of AOTC?
I'd absolutely love to have a $300-$400 card that can do what a $400-$500 CPU can't. I just have an extrodinarilly hard time believing it can happen.
> What exactly is the difference between so called 'traditional' movies and fully CG movies? When they say movies, I'm assuming this isn't just full CG...
Looks like a mistake to me. Where are those gorgeous shots a la AOTC that they showed and which could have mislead you?
>As to how much realism... well when we're talking about FF its kinda assumed that you're attempting a realistic-ish final product. And even semi-realistic stuff... say Shrek. Can you imagine what Shrek would look like if all the characters had those icky shadows like in JK2? Or worse... no shadows at all? There are certain things that your brain needs to see to to get the impression that what you're looking at is believable... most times you don't even consciously register them. Focus on the exact look of the shadows, soft yet defined and fully interactive with all the visable objects with no clipping. Look closely at any curved surfaces, do you see any type of segmentation?
I wasn’t taking my references in games, but in animation cg movies. I think there’s no doubt that games are very late to exploit the hardware's capabilities (only now are we seeing games really exploiting the GeForce 1’s capacities), and that therefore they should not be taken as reference, as examples. Talking of characters from a recent cg movie rendered in a game engine designed to run on TNTs ("16 MB OpenGL compatible PCI") isn’t going to give anything else than the conclusion that it won't work, which we all already know. We’re talking of the Nv30, not of TNTs.
> What about sharp reflections... not the blurry environment maps you get in games now, but real and fully interactive reflections? Refractions? Caustics?
You’re again speaking more of photo-realism than animation movies. Real reflections are quite rare in cg movies. And to my knowledge there’s only one caustic in the whole final fantasy movie. Sure that caustic looks nice, but I don’t think the whole movie would have been very different without it.
> I'd absolutely love to have a $300-$400 card that can do what a $400-$500 CPU can't. I just have an extrodinarilly hard time believing it can happen.
Well, let’s have a look at them: Pentium 4 3 GHz: about 10 Gflops (from Intel’s figure of 5.6 Gflops for the P4 1.4 GHz). GFx: about 200 Gflops (from Nvidia’s docs). Roughly, 1 GPU = 20 CPUs. Of course these figures can be discussed, but it won't change the fact that GPUs are faster than CPUs.
Arrghman
11-30-02, 02:47 PM
Originally posted by Remi
You’re again speaking more of photo-realism than animation movies. Real reflections are quite rare in cg movies. And to my knowledge there’s only one caustic in the whole final fantasy movie. Sure that caustic looks nice, but I don’t think the whole movie would have been very different without it.
Actually, I wasn't. Right before I made that post I had flipped on Shrek and every example of a CG 'effect' that I gave was something that I observed while watching the movie. There's one shot where the Donkey looks into the lake, all sad-like and there's his reflection staring back at him, sharp as he is. If that was a blurry environment map like the kind you see in games, that shot would have looked, well, stupid. There were quite a few other reflective effects in that movie as well as lots of volumetric effects... the light streaming through the windows of the chapel near the end and the fire effect from the dragon's breath to name a few.
If the fire was sprite based like in games, it would have looked like a joke.. instead, being truely volumetric, it looked believeable to the human eye as well as consistant with the fantasy world of the movie around it.
There was another shot in Shrek that involved someone holding a glass, and the glass refracts accurately. If it doesn't refract, then your brain doesn't think of it like a glass. If water doesn't reflect and ripple then your brain doesn't think of it like water. Photorealism is one thing and enough physical realism so you can suspend your disbelief is another.
Futhermore, your 1 GPU = 10 CPU statement is... well... interesting at best. I mean, wow, according to you nVidia should be able to produce a CPU that's 10 times faster then a P4... why don't they then? Why don't they go into the CPU market and blow Intel and AMD out of the water? Why don't they remove all those shaders and slap an x86 interpreter on the NV30? Because it would have awful performance. GPUs are designed to be able to perform a very specific instruction set so they can be optimized to do them very efficently and quickly.
A CPU on the other hand must be able to handle a much larger and less specialized instruction set. Naturally, since there's more things it has to be able to do in hardware, the less each instruction can be optimized and thus it can do less per cycle.
Whats to say that the algorithms that CG typically uses can be done efficently with the limited ISA supported by a GPU? It's almost certain that they're not or programs like Maya, Renderman, LightWave etc would have been made to run of GPUs already. They don't. It doesn't take much to figure out why.
>Actually, I wasn't. … … enough physical realism so you can suspend your disbelief is another.
But there are solutions.
The first one, I already explained it, is that because you say an effect is mandatory doesn’t make it mandatory – it depends on the style, and with constraints such as “it must run on an nv30”, you just avoid doing things that you can’t do on an nv30.
The second one is that you’re assuming those things are impossible to do on a nv30. I’m not saying rendering Shreck in real-time exactly as it is on the big screen is possible, but are you aware that there are people working to improve graphics, and that it’s not because you haven’t seen those effects that they can’t be done? Look at the research, read. Keep your knowledge up-to-date. For instance you’re talking of real-time volumetric fire and smoke and assuming that’s impossible, when that have already been done. Not in JK2, I agree!
>Futhermore, your 1 GPU = 10 CPU statement is... well... interesting at best. I mean, wow, according to you nVidia should be able to produce a CPU that's 10 times faster then a P4...
I’ve said that? Wow! Where?
Today’s advice: Don’t jump on conclusions too fast in topics you don’t fully understand. ;)
>why don't they then? Why don't they go into the CPU market and blow Intel and AMD out of the water? Why don't they remove all those shaders and slap an x86 interpreter on the NV30? Because it would have awful performance. GPUs are designed to be able to perform a very specific instruction set so they can be optimized to do them very efficently and quickly.
>A CPU on the other hand must be able to handle a much larger and less specialized instruction set. Naturally, since there's more things it has to be able to do in hardware, the less each instruction can be optimized and thus it can do less per cycle.
Ahhh… Good! You see that finally you’re starting to understand why GPUs are faster! You’re starting to explain it yourself.
>Whats to say that the algorithms that CG typically uses can be done efficently with the limited ISA supported by a GPU?
But it seems you still have a few things to learn in the area of low-level programming and microinstructions. Allow me to try to quickly cast some light on the subject.
You can easily achieve what complex instructions do with simpler instructions; it just takes a bit more instructions and sometimes a bit of craftiness. Because these instructions are simpler, each one of them runs faster, and the total execution time for a given task is often faster with simple instructions than with complex ones because the performance gain due to simpler circuits enabled by simpler instructions is greater than the performance gain enabled by using complex instructions. That’s the principle of RISC processors.
By the way, did you know that shipments of PS2 to Iraq were suspected to be a way to circumvent the technological embargo and to be used to construct a military supercomputer? The PS2's processor is more a big GPU than a CPU. If they had awful performance, why would they have been chosen and why would the authorities have reacted?
But I’m adding points; there is really no need to.
Because no matter how you look at it, 200 Gflops / 10 Gflops = 20.
Or do you think the engineers at Intel and Nvidia aren’t capable of knowing the performance of their own circuits? Unless 200 divided by 10 does not equal 20? (Btw, the last time I checked, it was 20, not 10).
>It's almost certain that they're not or programs like Maya, Renderman, LightWave etc would have been made to run of GPUs already. They don't.
Maybe you’ll be pleased to know that all significant DCC softwares are now supporting the CgFx format? Which means code running on the GPU.
Maybe you’ll be pleased to also learn that compilers are developed which translates REnderman code into Cg program to run REnderman code on GPUs?
>It doesn't take much to figure out why.
Well, I surely agree that the conclusion isn’t very difficult to make… ;)
In case you still don’t believe me, at least look at what others are saying.
John Peddie, a recognized professional, at this year‘s siggraph:
“Graphics (processor) is running way way far ahead of (classic) processor, leading me to the point where I’m suggesting, intel does not like to hear this; but I’m suggesting that the CPU is a co-processor to the GPU. It used to be the other way around, but I believe the CPU is there now to support the GPU. The GPU’s doing all the exciting stuff, all the innovative stuff, and a lot of the hard stuff I might add.”
To quote someone better known to the gamers, John Carmack:
“Multi chip and multi card solutions are also coming, meaning that you will be able to fit more frame rendering power in a single tower case than Pixar's entire rendering farm. Next year.”
Does that leave much doubt? :)
Arrghman
11-30-02, 09:47 PM
*sigh*
The first one, I already explained it, is that because you say an effect is mandatory doesn’t make it mandatory – it depends on the style, and with constraints such as “it must run on an nv30”, you just avoid doing things that you can’t do on an nv30.
But... we're talking about replicating Final Fantasy and other CG movies in real time, right? Thus... you need to be able to do those effects in real time.
Keep your knowledge up-to-date. For instance you’re talking of real-time volumetric fire and smoke and assuming that’s impossible, when that have already been done.
A full volumetric engine with an on-the-fly particle physics engine that can look like real fire? That... hasn't been done yet. Sorry.
I’ve said that? Wow! Where?
Right here:
Roughly, 1 GPU = 20 CPUs. Of course these figures can be discussed, but it won't change the fact that GPUs are faster than CPUs.
See? According to you, the NV30 can do 20x more flops then the P4. That means its 20x faster.
Today's advice: Don't contradict yourself or try to belittle other people's arguments ;)
You can easily achieve what complex instructions do with simpler instructions; it just takes a bit more instructions and sometimes a bit of craftiness. Because these instructions are simpler, each one of them runs faster, and the total execution time for a given task is often faster with simple instructions than with complex ones because the performance gain due to simpler circuits enabled by simpler instructions is greater than the performance gain enabled by using complex instructions. That’s the whole principle of RISC processors.
Good, nice to see you have an understanding of how processors work; that'll make this simpler.
Now as you kindly pointed out, doing more simpler instructions (and multiple ones at once to boot in a RISC processor) is an alternative to doing fewer complicated instructions (like a good ol' CISC). Which is why PPCs are much faster then x86's. Right? Oh, um, they're not. And before you try and pull the clockspeed argument on me, yes the important thing is their actual performace... and that's roughly the same. Not only that.. but its not relavent to this argument! So we move back to GPU vs. CPU.
Now, I've never heard a GPU called a RISC processor before. Doesn't mean it ain't one... but that isn't the point. As I tried to explain earlier, a GPU is intended to do a very limited number of things. It has to quickly process textures, it has to quickly perform vertex and pixel shaders, it has to do some basic lighting calculations, etc. It is built, into hardware, specific pathways to get these things done.
Now say I want to use a GPU to do some raytracing though, I dunno, LightWave. Lets pretend the good folk at Newtek compiled a version that could talk directly to a GPU. So it goes to the GPU with these raytracing calculations and it goes to the AA portion of the chip... no, that's not right. Okay, maybe the texture filtering... nope. What about that highly trumped shader section... nada. Oh well, it looks like raytracing doesn't have an optimized data path. Looks like we'll have to go about it the old fashioned way! And since this GPU wasn't designed with that in mind it will be less efficent than doing it on a general purpose CPU.
Not to mention that as I have already mentioned in a previous post, the shear size of the datasets used in professional CG are wayyy above what a GPU is used to handeling or can even fit in its onboard memory... we'll have to go to system memory which is further going to slow things down.
Unless 200 divided by 10 does not equal 20? (Btw, the last time I checked, it was 20, not 10).
Oh no! I typed 1 instead of 2! Ahhh the horror! ;)
Maybe you’ll be pleased to know that all significant DCC softwares are now supporting the CgFx format? Which means code running on the GPU.
Maybe you’ll be pleased to also learn that compilers are developed which translates REnderman code into Cg program to run REnderman code on GPUs?
Now we're getting somewhere. Look at that, Renderman shaders can be translated over to Cg shaders to run on a GPU! What's the key word here?
Shaders.
As has previously been discussed, the latest version of Renderman has a newly implemented raytracing engine making it a hybrid renderer. With this new addition, according to all the testimonials from effects houses on Pixar's site, it can be used as an exclusive renderer for movie scenes in places it could not be used before. Astounding!
This means that... raytracing is used, commonly, in movies!
Raytracing in Renderman is most certanly not implemented with a shader. Therefore, you can convert all you want from .rib to .cg, but it ain't gonna help you raytrace. See previous bits of this and other posts for explanations of why raytracing is necessary.
Going back a tad...
By the way, did you know that shipments of PS2 to Iraq were suspected to be a way to circumvent the technological embargo and to be used to construct a military supercomputer? If they would have awful performance, why would they were chosen and why would the authorities have reacted?
Yeah, I remember hearing about that. Anyway, I don't remember off the top of my head the details of this technological embargo... I can assume that basic computers would fall under this? Hell, if you have enough Pentium-90's you can make a 'supercomputer' although you'd probably need several rooms full... that's what parallel computing is all about. So get a few hundred PS2's, stick Linux on them, network them together and make a beowulf cluster. It doesn't matter how efficent your nodes are, if you have a lot of them! ;)
So getting back to the topic at hand... in short, try to read and understand everything I'm saying instead of just taking bits and pieces out of context.. we'll both be a lot happier that way :)
Ahhhh… So you’re not as ignorant as you looked? Well, that’s good news… That is, if you are sincere, of course… :)
>But... we're talking about replicating Final Fantasy and other CG movies in real time, right? Thus... you need to be able to do those effects in real time.
No. You are. I’m not. I’ve repeatedly said that there are sequences that I don’t believe can be done, I had the impression I was clear – have you read my posts? I’m just trying to show that we’re now much more on the cg movie side that on the JK2 side. While I’m pulling it a bit back and saying “look, we don’t need everything and with a bit less we can have a great result”, you’re pushing it and saying “hey, I’m not happy if it lacks this or that, so I consider it mandatory”. I’m trying to show you what’s possible, you’re only interested in showing me what’s impossible. We’re not going to go anywhere like that.
>A full volumetric engine with an on-the-fly particle physics engine that can look like real fire? That... hasn't been done yet. Sorry.
Actually, I just checked, and for once you might be right… ;) There’s volumetric smoke only, get the “visual simulation of smoke video” at http://graphics.ucsd.edu/~henrik/animations/ and fast forward at 2:25 for the real-time. It’s from siggraph 2001. I believe the principles behind the fire animation and smoke simulation are quite similar (haven’t read the papers in details), but unless I’m wrong here I don’t expect that fire should be completely impossible.
>quote: I’ve said that? Wow! Where?
Right here:
quote: Roughly, 1 GPU = 20 CPUs. Of course these figures can be discussed, but it won't change the fact that GPUs are faster than CPUs.
See? According to you, the NV30 can do 20x more flops then the P4. That means its 20x faster.
Today's advice: Don't contradict yourself or try to belittle other people's arguments
Who’s taking bits and pieces out of context? You said “according to you nVidia should be able to produce a CPU that's 10 times faster then a P4”. You’re not showing where I told that, because I never did; and to be perfectly frank I still don’t understand how someone understanding something about processor architecture can start to think something like that.
I’ve always said, from the beginning, that GPUs and CPUS are two totally different things.
The only reason why I used Gflops to compare them was because you didn’t seem to understand that they are different, so I went on your terrain (if they are so similar, they should be comparable) to show you that they’re not (if we try, we have a 20 to 1 performance ratio – doesn’t look like we’re in the same category).
If you do wish a better mutual comprehension, maybe you could start by not making me oversimplifying things to make sure you would understand what I’m talking about, and then push what I’ve said further in that direction (oversimplification) by making me say things I didn’t.
>Good, nice to see you have an understanding of how processors work; that'll make this simpler.
>Now as you kindly pointed out, doing more simpler instructions (and multiple ones at once to boot in a RISC processor) is an alternative to doing fewer complicated instructions (like a good ol' CISC). Which is why PPCs are much faster then x86's. Right? Oh, um, they're not. And before you try and pull the clockspeed argument on me, yes the important thing is their actual performace... and that's roughly the same. Not only that.. but its not relavent to this argument! So we move back to GPU vs. CPU.
See? You’re doing it again.
And btw, unless I’m mistaken, the reason why processors such as the P4 today aren’t slower than RISC ones is because they integrated as much as the principles of RISC as they could (given the legacy constraints). They’re not anymore pure CISC, so comparing their speed with RISCs shouldn’t lead to a conclusion about the validity of the idea originally behind RISC processors.
I agree to the fact that this metaphor isn’t the best, all I was doing was to try to show you they’re different beasts and to give an example of why they don’t have to end with the same results.
>Now, I've never heard a GPU called a RISC processor before. Doesn't mean it ain't one... but that isn't the point.
In fact I think of it as a DSP (but haven’t said that before because I didn’t knew I could assume you know what a DSP is).
>As I tried to explain earlier, a GPU is intended to do a very limited number of things.
Right, but adding programmability precisely changes things there. It’s becoming a lot less about what it’s intended to do and a lot more about what the programmers are making it do. It’s a change of nature, of essence if I might speak so.
>It has to quickly process textures, it has to quickly perform vertex and pixel shaders, it has to do some basic lighting calculations, etc. It is built, into hardware, specific pathways to get these things done.
>Now say I want to use a GPU to do some raytracing though, I dunno, LightWave. Lets pretend the good folk at Newtek compiled a version that could talk directly to a GPU. So it goes to the GPU with these raytracing calculations and it goes to the AA portion of the chip... no, that's not right. Okay, maybe the texture filtering... nope. What about that highly trumped shader section... nada. Oh well, it looks like raytracing doesn't have an optimized data path. Looks like we'll have to go about it the old fashioned way! And since this GPU wasn't designed with that in mind it will be less efficent than doing it on a general purpose CPU.
I wouldn’t be so sure… You’re assuming that a CPU will always be faster, but it all depends of the parallelism of the task and of the execution context of the code. If it’s suited to parallelisation and its execution context can be crafted in a way that flows correctly in the gpu, then you can use your GPU as a very powerful and efficient DSP.
Remember that context crafting is a human task, and humans can do surprisingly well. They went to the moon using navigation computers with fewer transistors than my watch. They compressed several dozens gigabytes of surface light fields data into textures maps of just a few megs. They have done real-time depth-of-field demos when a few months ago I heard in this forum that it was absolutely impossible to achieve.
Have you already explored all the possibilities of the nv30 to know what can and what can’t be done? Of course not. Don’t judge now what we don’t know yet.
>Not to mention that as I have already mentioned in a previous post, the shear size of the datasets used in professional CG are wayyy above what a GPU is used to handeling or can even fit in its onboard memory... we'll have to go to system memory which is further going to slow things down.
To that I agree, I would love to see the amount of RAM increasing faster that it does. It would definitely ease a lot of things.
>quote: Maybe you’ll be pleased to know that all significant DCC softwares are now supporting the CgFx format? Which means code running on the GPU.
>Maybe you’ll be pleased to also learn that compilers are developed which translates REnderman code into Cg program to run REnderman code on GPUs?
>Now we're getting somewhere. Look at that, Renderman shaders can be translated over to Cg shaders to run on a GPU! What's the key word here?
>Shaders.
>As has previously been discussed, the latest version of Renderman has a newly implemented raytracing engine making it a hybrid renderer. With this new addition, according to all the testimonials from effects houses on Pixar's site, it can be used as an exclusive renderer for movie scenes in places it could not be used before. Astounding!
>This means that... raytracing is used, commonly, in movies!
Pardon me, but… (and the key word here is latest ;) ) ... aren’t you speaking of a version that hasn’t been used in most cg movies? Doesn’t that means that the shots rendered with the previous versions of REnderman were done without raytracing? And we’re talking of a lot of shots…
But anyway, it's not even important and you already know why I'm saying that. Otherwise, go on reading.
>Raytracing in Renderman is most certanly not implemented with a shader.
No, but that doesn't mean we can’t implement some ray-tracing in a shader. And even if we couldn’t, with an hybrid raytracer, would there be no way to use GPU shaders with CPU raytracing? The performance shouldn’t be too bad, and it’ll certainly be better than having the CPU alone doing everything.
And by the way, why soft shadow wouldn't do it? Why always raytracing? There's a recent technique to do real-time soft shadows... I know I read about it somewhere...
>Therefore, you can convert all you want from .rib to .cg, but it ain't gonna help you raytrace. See previous bits of this and other posts for explanations of why raytracing is necessary.
Well, you can see my paragraph above and my other posts to see why 1. I still think it’s not, and 2. should it be needed, there might well be solutions to do it.
Again, because the solution isn’t in front of your eyes doesn’t mean it doesn’t exists.
>So getting back to the topic at hand... in short, try to read and understand everything I'm saying instead of just taking bits and pieces out of context.. we'll both be a lot happier that way
Well, I was under the impression that I’m not the one having the most difficulty to understand the other one… I’ll keep your advice in mind, but you know, you have to try it too! ;)
Raytracing in Renderman is most certanly not implemented with a shader. Therefore, you can convert all you want from .rib to .cg, but it ain't gonna help you raytrace. See previous bits of this and other posts for explanations of why raytracing is necessary.
Raytracing is necessary when you want to RAY - TRACE .. .
if you dont one to use ->that technique! you can use
Shaders programing.
people seems unable to understand that you can do almost everything (if not everything) wihout using raytracing in the CPu. there are many ways to do Computer graphics . MANY! not just One way! some rendering techniques are more dificult than others ,and some techiques takes lots of more time than other.
Pixars the Fathers of COmputer Graphics ,have been
doing for many many many many many and many years
movies and short films ,and have won many Oscars and Awards
without using Raytracing!
demonstrating the power of its powerfull programable
Shaderers renderer .
like one of my FAvorites CG movies ever made..
TOys Story (no raytracing there !) nice eh ?
and that movie has very nice reflections /refractions
specially Buz light year.
FInal FAntasy is another example of a movie done
with none/or near none Raytracing.
you will be surprised by the STUNNING images you can get
with SHaders programing .Thats the main reason Pixar have been
the number one renderer for many years in the FIlm industry ,
not for raytracing ,but for its powerfull programable shading language ,that gets HIGH quality shots in less time ,that traditional raytracers renders .
you can get fake reflections and refractions that would make anyone believe they were RAytracing .most of the movies that use
computer graphics do not use raytracing ,because of its slow rendering ,other use raytracing in special shots .
i can imagine people asking ,if SHaders programing are so important ,why the new version of REnderman have support for raytracing? simple ,to give more choices and freedom to artist. not everyone knows shading language programing .. and not all CG are hollywood movies,there are many short TV
advertisements using computer graphics too. that are so small
that doesnt require fast rendering techniques.
this TOpic is going nowhere ,trying to explain something
to someone who doesnt understand ,that there are many
ways to get Good quality in Rendering ,and that raytracing
is Just One.
BTW. you can do very realisitc Fire without raytracing too ..
if you though the Fire in QUake3 was nice , wait for the Unreal2 game .. its only the tip of the iceberg of what you can do with
other techniques .. very VEry IMpressive flamethrower weapons .
http://www.unreal2.com/gallery.html
much better than anything ever made in games ,closest thing
to realistic fire ,and that was made with old tech , much more
quality is possible with Directx9 pixel/vertex shaders .
Arrghman
12-02-02, 01:16 PM
Originally posted by Nv40
Raytracing is necessary when you want to RAY - TRACE .. .
if you dont one to use ->that technique! you can use
Shaders programing.
people seems unable to understand that you can do almost everything (if not everything) wihout using raytracing in the CPu. there are many ways to do Computer graphics . MANY! not just One way! some rendering techniques are more dificult than others ,and some techiques takes lots of more time than other.
Okay, the point I was trying to make has been lost in all this which is probably somewhat my fault... lemmie try again.
When an effects house goes to create some CG for a movie, they have a toolbox of many different... well... tools to use. Raytracing is one of these tools. Yes, you don't need to use it for everything. No, that's not the point. The point is that it gets used period. If you want to do production level CG in real time you need to implement the entire toolset in real time. Otherwise, some shots will not look... right.
It follows logically that since raytracing is part of that toolset that if you can't do raytracing in real time then the claim of doing FF in real time... which by your own admission NV40 did indeed use some raytracing... is null and void because parts of it will not be.
Futhermore, I find it highly doubtful that the GFFX could even handle straight rendering of all the polygons in that movie... especially at the same resolution (FF was done at 2xHDTV... thats either 2560x1440 or 3840x2160. At 24fps no less).
And the fire in the U2 shot? Looks great for a game. However... its still sprite based, you can even see it clipping a little through the floor. To make that better, you simply need more particles... and correct me if I'm wrong, but isn't that something that's typically done on the CPU side of things anyway? In any case... its still not a true volumetric, and can't hold a candle (get it?) to the fire effects in Shrek...
Going back to the GPU vs. CPU thing... again, my basic point is simply that a GPU is a specialized type of CPU with optimized data paths for specific operations... which is why it can do specific things faster. Ray tracing is simply a matter of raw number crunching, which GPUs tend to not have to deal with... not in that matter anyway... and thus would not have an optimized data path. Thus there's no reason to believe that a GPU would be better at raytracing then a general purpose CPU.
Although at this point, Remi, I think we'd both be better off if we just agreed to disagree for the time being ;)
nIghtorius
12-03-02, 07:43 AM
Well. I read NVNEWS.NET mentioning a movie.. Watched it. and wanted to see the next part (since I am able to understand german).. well. heck let me try to increase the number 2 to 3..
http://www.giga.de/help/helpnite/grafik3.wmv
well.. you know.. I saw the rest of that TV show.
nIghtorius out..
Nv40: Thanks for your contribution and for the links! It seems the goal (to do good looking stuff) is a bit too easily forgot in here IMHO… People are technical, which is good, but they often lack the big picture. You’ve brought the fresh air needed!
>Okay, the point I was trying to make has been lost in all this which is probably somewhat my fault... lemmie try again…
Your point wasn’t lost and I agree with most of it.
>…the claim of doing FF in real time... ... is null and void because parts of it will not be.
That’s where we disagree. It’s always surprising to see people who aren’t experienced in low-level programming or logic circuits thinking so binary! At least, low-level programmers and logical circuits designers have the excuse of being immersed into binary logic all the day long. You know that the real world isn’t binary, right? That because something isn’t absolutely true doesn’t means it’s absolutely false?
>Going back to the GPU vs. CPU thing...
Well, it’s a lost case, because you’re (again) forgetting programmability. You’re saying that because a function wasn’t intended from the beginning in a device’s design means it’s not realistically possible to do it with that device. Programmability precisely defeat that! Do you realize that if what you’re saying were true, everything should be built from the start in the PCs? There could be no software invention, no software industry and Microsoft would not exist? It might be a pleasant fiction, but it doesn’t look like the world in which we’re living.
Also, that belief that the Nv30 isn’t good at number crunching is quite amusing I must say! :)
>Although at this point, Remi, I think we'd both be better off if we just agreed to disagree for the time being
Well, if that’s your wish… So be it.
But my general impression is that the critical eye that you rightly practice toward Nvidia’s marketing statements, you should practice it toward the other ones too.
The good people at NVidia and ATI are doing great stuff, they surely like to speak of it in a positive way, and there are fans who surely are speaking of all that greatly - but not without a few false ideas about how it’s done.
And the good people at Dreamworks, Square, ILM, Pixar,… are doing great stuff, they surely like to speak of it in a positive way, and there are fans who surely are speaking of all that greatly - but not without a few false ideas about how it’s done.
Realtime or off-line, the world is the world, humans are humans, and that leads to the same behaviors!
If I may give an advice: You’re speaking of doing images as best as possible - the will to have things done in the best way possible surely honors you, but don’t let that ideal cut you from the realities of the world.
Have a nice week-end! :)
vBulletin® v3.7.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.