pouët.net

Do you like Gouarud or Phong?

category: general [glöplog]
I prefer Gouraud over Phong.
==================

* Phong is slower
* Gouraud is enough cool visually for me
* In gouraud you feel the algorithm because you see the color interpolation clearly. Like squary/liny color changes and beautifully mathematically shifting while it moves (Eh?).
* In phong it is like a specular I think, a circular light reflection closely, but you don't feel the algorithm because it's like someone just painted instead of someone just coded it.
* I like nice little linear interpolation. I have found fast and easy ways to do that in Amstrad CPC with 16bit fixed point, which I used in my morphing routine and now I can do everything with that, rotozoom, line, gouraud and texture and my favorite is the gouraud cube!
* Shades are beautifull..
* Gouraud is the heaviest 3d algorithm that can still run descent on C64 demos (Oneder, +H2K) while the more heavy texture and phong (but the real ones) are the next step on 3d which prooves to be slow like hell.

And now for some questions concerning gouraud:

1) In some demos they claim to have done a phong shaded torus but it still seems gouraud to me. Is there a possibility that phong might look like gouraud while it isn't? Does gouraud look good in non circular objects like a pyramid or a cube? Perhaps gouraud is good for these objects and phong for circular ones. But I still prefer Gouraud for everything..

2) Which gouraud do you prefer? Which is harder or slower? Interpolation from the edges or to the center of the triangle? Which looks better and in which cases? I don't remember the two of them in demos, can't easilly diferrentiate that yet..

3) Was Henry Gouraud a French? This is how his name seems like..

4) The most crucial question. How the hell is Gouraud pronounced? (I had a debate about that, with a Bulgarian Erasmus student who suddenly showed interest in demos after I had showed him FR08) - WAV file anyone???

Thank you for your participation.
added on the 2004-02-18 21:58:35 by Optimus Optimus
Damn! I wanted to write "Does Phong look good in non circular objects like a pyramid or a cube?" and not "Does gouraud look good in non circular objects like a pyramid or a cube?". Because it's definitelly looking great for such flat objects!!!
added on the 2004-02-18 22:04:11 by Optimus Optimus
I like to scream Gouraud when watching old DOS demos. And then it sounds something like "Guro".
added on the 2004-02-18 22:05:26 by Optimus Optimus
just envmap everything and all will be fine :)
added on the 2004-02-18 22:05:59 by Gargaj Gargaj
Oh yeah, envmap is one of my favorites concerning visuality but you don't feel the algorithm as gouraud. But it was one of my favorites yeah! Gouraud is as oldschool as flat and as newschool as phong, this means in the middle.
added on the 2004-02-18 22:07:20 by Optimus Optimus
My biggest dream is to make my first gouraud cube on PC! It will look cute :)

I left the Quickbasic 3d object engine in the beginning, then found a line and polygon algorithm, now it works well, I have some basic objects but I haven't implement some algorithm for which polys to draw. It's easy but I am lazy to find, so my flat cube doesn't look well because I am just outputting every polygon :P

Then I thought how to do Gouraud but even the latest tries were wrong :(

Now I forgot everything and my time is lost, perhaps much months later I will try again and my dreams will come true..
added on the 2004-02-18 22:10:16 by Optimus Optimus
The only way to Phong in oldskool demos has been envmap, however there are 2 ways to do normal interpolation, the one of them looks somewhat like gouraud. I have to look up to say more. I think it explains all of it.

And hey, don't we live in a newskool, high-res world nowadays where it is of value to impress? So let it better look as if it was real!I'm sick of those who do that "flat, gouraud, chome mapping, phong" sequence on some silly object which lasts for 2 minutes and constitutes the bulk of a demo. Design is of value. And that bright shiny speculair lighting which shows up what gouraud gets wrong! it's just against any good taste.
added on the 2004-02-18 22:16:49 by eye eye
Does seriously anyone use Phong nowadays?
added on the 2004-02-19 00:05:29 by Hatikvah Hatikvah
arneweisse: does normal perpixel lighting count?
added on the 2004-02-19 01:25:05 by kb_ kb_
Hehe, i meant to write Gouraud :-)

kb: that was kindof the point.. but well.. instead this got fucked ;-)
added on the 2004-02-19 02:59:09 by Hatikvah Hatikvah
Don't confuse phong shading with phong illumination. Phong illumination is a shading model that can be applied per vertex or per pixel. If it is applied per vertex, you can use gouraud shading to interpolate the colors across the surface of the triangle. If you evaluate per pixel (using phong illumination) it is called phong shading. The torii with blocky specular highlights seen in old dos demos typically use per-vertex phong illumination.
http://www.gamedev.net/reference/articles/article667.asp

Anyway, flat Lambert shading owns ;)
added on the 2004-02-19 02:59:46 by gammawave gammawave
Here's how I pronounce gouraud and some other stuff...

gouraud: "goo-rowed"
phong: "pong"
baud: "bout"
pouet.net: "pow-eight dot net"
added on the 2004-02-19 05:26:18 by cruzer cruzer
gammawave: ...or envmapping. :)
added on the 2004-02-19 07:41:33 by gloom gloom
gloom, I was talking about the blocky-looking ones... envmapped toruses have nice-looking speular highlights.
(unless you really suck at making envmaps ;)
added on the 2004-02-19 09:29:28 by gammawave gammawave
Phong is so pretty! Even fake!
added on the 2004-02-19 10:25:50 by sprocket sprocket
Gouraud always looked sweet to me too, especially when in low colour and dithered for proper oldschool feeling.

Phong is nice, but too slow if you use true phong i think, and a decent env map or per-pixel shader does the job well enough most of the time.

But where the hell are the spherical harmonic lit scenes? They look way better than phong, and i've yet to see it in a demo. And i'll buy a beer for the first person to do it in an intro without an insanely long loading bar.
added on the 2004-02-19 11:00:02 by psonice psonice
psionice:

Phong is nice, but too slow if you use true phong i think, and a decent env map or per-pixel shader does the job well enough most of the time.

You know that "a decent per-pixel shader" IS phong illumination, do you? ;)

But where the hell are the spherical harmonic lit scenes? They look way better than phong, and i've yet to see it in a demo. And i'll buy a beer for the first person to do it in an intro without an insanely long loading bar.

Spherical harmonics lighting has a few serious drawbacks: The geometry has to be static, and you can rotate the light source around the object, but not even really move it freely. Cool for games with static outdoor scenes, but almost completely unusable for demos which are past the "pure-flyby" style.

And then calculating them takes a shitload of time. SH are just a 2D frequency-domain representation of global illumination, so at least a "normal" radiosity or photon mapping step is necessary for precalculation... so better get used to insanely long loading bars as long as you want it to look good :)
added on the 2004-02-19 11:18:26 by kb_ kb_
kb: actually i thought per pixel shaders didn't use true phong cause it was slow, and used something faster but with similar results. maybe i was thinking of raytracing though. Thanks for the enlightenment tho :)

And i do know the drawbacks of sh lighting, and was thinking of the long scene tradition of doing what's possible in realtime and faking the rest :) After all, how many demos have some scenes with static backgrounds? And precalc is no problem if you save the sh data with the model... not so easy in an intro :)
added on the 2004-02-19 11:43:15 by psonice psonice
I prefer red pixels over green pixels.

Seriouly, anyone can do phong !

Code: shared float4x4 World : WORLD; shared float4x4 View : VIEW; shared float4x4 IView : IVIEW; shared float4x4 Projection : PROJECTION; shared float4x4 WorldView : WORLDVIEW; shared float4x4 WorldViewProjection : WORLDVIEWPROJECTION; shared float3 EyePos : EYEPOS; float4 mat_ambient; float3 light <string type="entity3d";>; struct bs_out { float4 position : POSITION; float3 norm : TEXCOORD0; float3 light : TEXCOORD1; }; bs_out bs_transform(float3 pos : POSITION, float3 norm : NORMAL) { bs_out o; o.position = mul(float4(pos, 1), WorldViewProjection); #if 0 float3 n = normalize(norm); float3 l = normalize(mul(World, light - World[3]) - pos); #else float3 n = normalize(mul(norm, World)); float3 l = normalize(light - mul(float4(pos, 1).xyz, World)); #endif o.norm = n; o.light = l; return o; } float4 bs_color(bs_out p) : COLOR0 { return mat_ambient + dot(normalize(p.norm), normalize(p.light)); } technique tech { pass p { VertexShader = compile vs_2_0 bs_transform(); PixelShader = compile ps_2_0 bs_color(); } }


Should even work with 1_1 shaders.
added on the 2004-02-19 11:59:31 by Sanx Sanx
This is not the complete phong model implemented.
added on the 2004-02-19 12:01:34 by Sanx Sanx
Gouraud was French. Still,. someone told me that it's pronounced like 'Gkuro' or,. I don't know the symbols to write pronounciations anyways :P

http://www.univ-reims.fr/Labos/LERI/Afig99/biographie.html
added on the 2004-02-19 14:31:15 by Optimus Optimus
Poor girl, that page shows that being the girlfriend of a 3d graphics programmer takes its tolls
added on the 2004-02-19 17:03:13 by sigge sigge
^__^

And it's funny to read that they asked the authorization to include the pictures to Mr Gouraud but didn't mind to ask to Mrs Gouraud.
added on the 2004-02-19 17:13:06 by p01 p01
first of all: this thread is almost the stupiest thing i ever saw on pouet! ;)
and to kb: what about having a fast raytracer to update the "GI" (spherical harmonics!=GI, btw.) every frame? >)
added on the 2004-02-20 11:59:01 by toxie toxie
Gouraud - all the way in your face:

http://www.pouet.net/prod.php?which=3419

And the PC (suxx!) copy:

http://www.pouet.net/prod.php?which=65
added on the 2004-02-20 22:22:11 by Stelthzje Stelthzje

login