-
new shading mode
well... goureaud is great and all... but i think current processors are ready for something new...
goureaud is a linear interpolation, therefore artifacts are induced in several zones... but what if we used a non-linear interpolation? we just need a few more normals... and.... um.... help here
-
Advanced Member
Frequent Contributor
Re: new shading mode
you could, or you could just bump up the resolution of your mesh. Think about it. If you're not happy with the error of the surface function by aproximating it with verticies spaced 1 unit apart, aproximate it with verticies space 0.25 units apart. The error is less, and all without making a new shader model.
cheers
John
-
Re: new shading mode
well... that is exactly what we want to avoid
as far as i know, the light fading model uses a curve of 1/r^2 , which isn't THAT complex... if we aproximate, we can use just 1 quad for that big floor scene, and use the extra bandwidth somewhere else
plus, goureaud is a linear interpolation, therefore uses 2 intensities in each calculation. if we use 3 intensities we get a cuadratic interpolation, etc.
i tried to figure it out myself, but got caugt in some redundancy... the fragment's brightest point may be needed... dunno
also, there might be some precision issues with really huge fragments.
-
Advanced Member
Frequent Contributor
Re: new shading mode
Yer... it's all a trade off. Do you want to spend money on silicon for the more complex shader model, or money on improving the bandwidth between the graphics card and processor memory? For my money, I'd vote for the bandwidth: everything gets to use it, regardless if it uses the funky new shade model or not.
-
Senior Member
OpenGL Guru
Re: new shading mode
Approximate the floor with one huge quad, huh?
Well, I can't see how this would work, even with the kind of interpolation you suggested. Say you got a room, and a light in the middle of the floor (well, abit above the floor that is
). If it's placed in the middle, then the intensity in each corner will be the same, and the floor will be flatshaded if you use gouraud. But isn't this going to happen even if you use some kind of quadratic interpolation too? Doesn't it have to know that the intensity in the middle is stronger (whish is easily solved by boosting the resolution of the floor to several quads, and you get more points where you can calculate the intensity)?
-
Re: new shading mode
Quadratic interpolations need 3 values instead of one. that means you would prolly have 1 extra intensity in the middle between each pair of vertexes. That should pick up the light in the middle and generate a nice light curve with the even light in the extremes.
[This message has been edited by MrMADdood (edited 08-16-2000).]
-
Senior Member
OpenGL Guru
Re: new shading mode
Hey guys!
What you all need is perpixel lighting or lightmapping. However, in vertex shading mode I think that we should replace goraud shading with something similar which is perspective correct (I think that's called phong shading ...).
I surely agree with MrMADdood that we shouldn't need to more geometry than needed to get it realistic, a cude should be 12 triangles and not tesselated into 1024 triangles to avoid artefacts. I vote in favor for silicon over more bandwidth.
-
Senior Member
OpenGL Guru
Re: new shading mode
Hey, I vote for more bandwidth, and if I want phong shading, I use WIN_phong_shading ... And if it's not available, I use the higher bandwidth to pass more faces
-
Senior Member
OpenGL Guru
Re: new shading mode
Well ... higher bandwidth is good too. But Goroud sux, it'll always produce artefacts, they just gets smaller with higher tesselation. It's OK to use a lot of triangles to make a sphere, but needing to use a lot of triangles to get a triangle really stungs i my programmer heart ...
-
Advanced Member
Frequent Contributor
Re: new shading mode
why does it sting your programmer's heart? it is no different from approximating the intergal of a function by simpon's rule, for example, and THAT'S a computer/maths science thing.
Dividing something into smaller versions of the same thing to minimise the aproximation error across the bounds of it is not a hack; it is done time, and time again. Terrain height fields work on the same principle, for example.
cheers,
John
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules