This page is an archive of past discussions. Do not edit the contents of this page. If you wish to start a new discussion or revive an old one, please do so on the current talk page. |
Today's addition is: " It is also used to refer to video graphics hardware units that run these programs." While I understand its meaning ("this GPU has 8 fragment shaders" to mean "this GPU has 8 fragment shader processing units"), I believe it should be clarified. I tried rewriting this but I've realized I'm not confident enough with my English to get a decent result.
Is it the case to say this is actually a misuse of the word? I know this is actually very acknowledged (especially by DirectX folks and hardware sites) but I still believe it should be pointed out. MaxDZ8 18:32, 29 December 2005 (UTC)
Would it be possible to add some pictures to this thing? That would help a ton. -FWIW.
From Bemmu: How about before & after images where first no shaders are used and then with shaders? I still have no idea what they do.
From Bemmu: But certainly there are things shaders are generally used for? Can you do per-pixel phong shading with pixel shaders? Examples please.
I found this article very hard going. It seems to have been written by someone who has a very good understanding of the area, but could really do with a broad edit, to simplify concepts and make the key points more visible. Rufous 17:10, 21 January 2006 (UTC)
Well, your point is taken. Maybe we should split this in two (or even more) articles? I understand your reasoning and I am ready in cooperating our efforts. Actually, I have some complaints:
MaxDZ8 17:51, 22 January 2006 (UTC)
Err, I prefer using Pixel rather than Fragment although it is not totally correct because it is more popular term. However, it is better if you put both in the article like: Fragment Shader (Eg.Pixel Shader). CMIIW, ok? Also, a number of picture/diagram may help explaining differences between Fragment and Vertex.
Draconins 09:41, 2 February 2006 (UTC)
Ok, I'll use both fragment and pixel interchangeably, pointing out the differences in a paragraph.
Diagrams will take some time but I could do it (is there any tool to make nice diagrams easily?). MaxDZ8
talk 14:11, 2 February 2006 (UTC)
TODO for this page:
I guess I'll be able to do that by the end of the month. I'm a little busy now. MaxDZ8 talk 18:29, 3 February 2006 (UTC)
Hi, when I look for shader model I get redirected to this shader page. I think it's would be better to create a new page shader model and explain and compare the different shader model versions against each other. At least I was expecting to find this information when I was looking for shader model. -- Cyc 11:19, 3 February 2006 (UTC)
I agree with you, this information is definetly necessary and deserves its own page. Unluckly I never put so much attention on the various DirectX shader models until lately so I'm a bit off there. In case no one other will propose a writing, I'll do it. MaxDZ8
talk 18:20, 3 February 2006 (UTC)
I've finally found some time to work on those pages and applied some changes.
The
shader model page is still a stub but I'm working on it. Don't hold your breath, it's going to take more than just a while. MaxDZ8
talk 18:15, 6 March 2006 (UTC)
The shader described in the first paragraph (Shaders...programs executed by multiple graphic processors running in parallel on a video card) is not the same thing as a shader described two paragraphs below (Initially introduced in Pixar's RenderMan, shaders...). I'm not sure how the rest of the industry uses the word, but as I understand it, a shader is simply a description (in a special shading language) of the material properties of a surface (e.g. is it red or green, is it shiny or dull, is it smooth or bumpy?). The whole vertex shader/pixel shader/GPU/video card stuff seems like pretty esoteric implementation details to me. Those details are definitely worthy of a page, but perhaps this particular page ( Shader) should be about the basic definition of the shader. After all, outside of video games, almost everybody else (Renderman, etc.) is running their shaders in software. Kjl 03:05, 22 April 2006 (UTC)
Absolutly not. The word shader does have several meanings. It is used to identify the program describing surface properties but also the program implementation using a specific language. A shader is also the "compiled" object which is ran on hw (this also applies to sw shaders since they end up being processed anyway). Although incorrectly used, the word shader is being widespreadly used to identify the processing units used to process shading informations. The removal of the shader languages has been proposed on the talk page and I've realized shader languages are a different topic. There's no real difference between hw and sw shaders by themselves: the difference between "old" shaders and new ones is that they use different pipeline paradigms. I believe reverting would not help improving this more than it hurts. HW shaders must be covered in detail because they initiated a small revolution in the computing market by imposing a new programming paradigm with great results. I am confident discriminating old-type shaders from new ones will likely make things worse. As another plus, the average Joe is more likely to come here checking for the various HW shaders... this stuff is technical and esoteric. MaxDZ8 talk 13:06, 22 April 2006 (UTC)
Just to let you know, I've updated a prototype of shader models, to let you know some work is in progress behind the scenes, although slowly... MaxDZ8 talk
MaxDZ8 - I'm back from the dead - sorry I never responded to you back in April. I added a very sloppy intro paragraph; sloppy because I don't know enough about HW/game shaders to add generalized shader information that I only know for sure is true about SW shaders. The intro hopefully provides a framework to which we can all add or fix information. The intro paragraph is an attempt to be a basic summary of what the purpose of a shader is and how it fits into the graphics pipeline. Kjl 00:46, 17 October 2006 (UTC)
I see. I'm a thinking at the little issue, which is the removal of the previous information (instead of the "addition" of new one). Ayway, the new text just reads better and I am confident this is a real improvement so thank you for your contribution!
MaxDZ8
talk 08:12, 17 October 2006 (UTC)
Since I noticed the intro gone too crazy to read, I've took some time to update it. I basically started from my last edit and walked up the history tree, taking whatever I found useful or interesting and melting togheter the whole thing. I hope I've succeeded in this.
An exception must be made for last edit, by 71.127.155.96, which has been virtually reverted. Reasons for this include:
MaxDZ8 talk 08:59, 9 May 2006 (UTC)
Hi , I believe the below statement , with the line "blinn lighting model, often referred as bump mapping" to be incorrect. The blinn lighting model is never referred to as bump mapping. You may be able to apply a bump map to a blinn shader, but that's true of Lambert, Phong or many other. Bump mapping is not intrinsically linked to Blinn.
"Lighting & Shadowing Considering the lighting equation, we have seen the trend to move evaluations to fragment granularity. Initially, the lighting computations were performed at vertex level (phong lighting model) but improvements in fragment processor designs allowed to evaluate much more complex lighting equations such as the blinn lighting model, often referred as bump mapping." Hixster 16:52, 7 July 2006 (UTC)
Yes, you're right. This was written because to the mass market "Blinn shading", "bump mapping" and "per-pixel lighting" are synonymous. As you say however, the approximation isn't technically correct (nor many other things market guys do). I thought this would not be a problem but reading your comment I realize this shall be fixed and I'm going to do this now.
MaxDZ8
talk 08:22, 8 July 2006 (UTC)
Bad Article. Too Specific. Should be targeting newbie audience. —The preceding unsigned comment was added by 137.226.101.48 ( talk • contribs) 10:35, 28 July 2006 (UTC)
There are some papers on NV developer identifying bumpy as "blinn" (I'm not even sure they're still online) - no doubt, as said above, this is NOT technically correct. Since you have found no other sources for it, feel free to modify the thing: it's your right on the wiki and you also managed to point out the sources.
Technically, "Blinn lighting" is subsititing the reflection vector with an half-angle vector. "Blinn bump mapping" means fetching a normal perturbation and it has been introduced in the much-speaked-about paper "Simulation of wrinkled surfaces" (1978) - which de facto invented bump mapping. This has been used on the past to indicate bump mapping even when done on normalmapping instead of Blinn's method.
Anyway, it's a thing which is 30 years old. I personally would not care about those small issues, considering the state of the thing but you can obviously not agree and I would not stop you.
MaxDZ8
talk 09:57, 29 July 2006 (UTC)
MaxDZ8: You shouldn't have reverted my changes but I'm going to just let it be. I think the way you are approaching this topic in completely the wrong way and that is why it is confusing for people. You are jumping straight into real time shaders and getting very specific. Most of what you have written doesn't really belong in this article at all. The topic is shaders, this article should be more generalized. A better example would be the definitions expressed in the Renderman Companion or Programming Mental Ray, not what is here. Read the comments of these people. They are not looking for a detailed description of the mechanics of real time rendering. The paragraph and definitions I wrote were an attempt to sort out what you had said so beginners could understand. Right now it doesn't work. My two cents. —The preceding unsigned comment was added by 68.4.22.65 ( talk • contribs) 00:04, 2 August 2006 (UTC)
Not saying your words aren't valueable, but they seem like a sub topic or different topic; Something that belongs on it's own article and linked from the Shader page. So in that sense they don't belong. But they would make a great addition under a different heading, In my humble opinion. Shader is such a loose term and it's causing a lot of confusion, obviously. -68.4.22.65
Hello I don't wish to be offensive, this is purely a technical observation. Your understanding of the subject matter appears to be excellent. However, your writing/explanatory abilities, if I may be so arrogant as to say so, seem to need quite a bit of work.
I would _strongly_ recommend that you sit down with somebody who is good at writing technical documents, especially in English (I suspect English is not your first language or am I wrong?), and clean up the phraseology. All the information is in there, its just that this is a dense field and requires particularly clear language to explain.
Best Regards
Since today I needed to retrieve a bunch of files from a filtered server which allowed only 1 at once I had put some time on a companion shader article about parallax occlusion mapping which is here. The basic idea is to use it as some sort of "external example". It's work in progress, this has been posted to let you know you're being listened. MaxDZ8 talk 09:36, 1 September 2006 (UTC)
This page is an archive of past discussions. Do not edit the contents of this page. If you wish to start a new discussion or revive an old one, please do so on the current talk page. |
Today's addition is: " It is also used to refer to video graphics hardware units that run these programs." While I understand its meaning ("this GPU has 8 fragment shaders" to mean "this GPU has 8 fragment shader processing units"), I believe it should be clarified. I tried rewriting this but I've realized I'm not confident enough with my English to get a decent result.
Is it the case to say this is actually a misuse of the word? I know this is actually very acknowledged (especially by DirectX folks and hardware sites) but I still believe it should be pointed out. MaxDZ8 18:32, 29 December 2005 (UTC)
Would it be possible to add some pictures to this thing? That would help a ton. -FWIW.
From Bemmu: How about before & after images where first no shaders are used and then with shaders? I still have no idea what they do.
From Bemmu: But certainly there are things shaders are generally used for? Can you do per-pixel phong shading with pixel shaders? Examples please.
I found this article very hard going. It seems to have been written by someone who has a very good understanding of the area, but could really do with a broad edit, to simplify concepts and make the key points more visible. Rufous 17:10, 21 January 2006 (UTC)
Well, your point is taken. Maybe we should split this in two (or even more) articles? I understand your reasoning and I am ready in cooperating our efforts. Actually, I have some complaints:
MaxDZ8 17:51, 22 January 2006 (UTC)
Err, I prefer using Pixel rather than Fragment although it is not totally correct because it is more popular term. However, it is better if you put both in the article like: Fragment Shader (Eg.Pixel Shader). CMIIW, ok? Also, a number of picture/diagram may help explaining differences between Fragment and Vertex.
Draconins 09:41, 2 February 2006 (UTC)
Ok, I'll use both fragment and pixel interchangeably, pointing out the differences in a paragraph.
Diagrams will take some time but I could do it (is there any tool to make nice diagrams easily?). MaxDZ8
talk 14:11, 2 February 2006 (UTC)
TODO for this page:
I guess I'll be able to do that by the end of the month. I'm a little busy now. MaxDZ8 talk 18:29, 3 February 2006 (UTC)
Hi, when I look for shader model I get redirected to this shader page. I think it's would be better to create a new page shader model and explain and compare the different shader model versions against each other. At least I was expecting to find this information when I was looking for shader model. -- Cyc 11:19, 3 February 2006 (UTC)
I agree with you, this information is definetly necessary and deserves its own page. Unluckly I never put so much attention on the various DirectX shader models until lately so I'm a bit off there. In case no one other will propose a writing, I'll do it. MaxDZ8
talk 18:20, 3 February 2006 (UTC)
I've finally found some time to work on those pages and applied some changes.
The
shader model page is still a stub but I'm working on it. Don't hold your breath, it's going to take more than just a while. MaxDZ8
talk 18:15, 6 March 2006 (UTC)
The shader described in the first paragraph (Shaders...programs executed by multiple graphic processors running in parallel on a video card) is not the same thing as a shader described two paragraphs below (Initially introduced in Pixar's RenderMan, shaders...). I'm not sure how the rest of the industry uses the word, but as I understand it, a shader is simply a description (in a special shading language) of the material properties of a surface (e.g. is it red or green, is it shiny or dull, is it smooth or bumpy?). The whole vertex shader/pixel shader/GPU/video card stuff seems like pretty esoteric implementation details to me. Those details are definitely worthy of a page, but perhaps this particular page ( Shader) should be about the basic definition of the shader. After all, outside of video games, almost everybody else (Renderman, etc.) is running their shaders in software. Kjl 03:05, 22 April 2006 (UTC)
Absolutly not. The word shader does have several meanings. It is used to identify the program describing surface properties but also the program implementation using a specific language. A shader is also the "compiled" object which is ran on hw (this also applies to sw shaders since they end up being processed anyway). Although incorrectly used, the word shader is being widespreadly used to identify the processing units used to process shading informations. The removal of the shader languages has been proposed on the talk page and I've realized shader languages are a different topic. There's no real difference between hw and sw shaders by themselves: the difference between "old" shaders and new ones is that they use different pipeline paradigms. I believe reverting would not help improving this more than it hurts. HW shaders must be covered in detail because they initiated a small revolution in the computing market by imposing a new programming paradigm with great results. I am confident discriminating old-type shaders from new ones will likely make things worse. As another plus, the average Joe is more likely to come here checking for the various HW shaders... this stuff is technical and esoteric. MaxDZ8 talk 13:06, 22 April 2006 (UTC)
Just to let you know, I've updated a prototype of shader models, to let you know some work is in progress behind the scenes, although slowly... MaxDZ8 talk
MaxDZ8 - I'm back from the dead - sorry I never responded to you back in April. I added a very sloppy intro paragraph; sloppy because I don't know enough about HW/game shaders to add generalized shader information that I only know for sure is true about SW shaders. The intro hopefully provides a framework to which we can all add or fix information. The intro paragraph is an attempt to be a basic summary of what the purpose of a shader is and how it fits into the graphics pipeline. Kjl 00:46, 17 October 2006 (UTC)
I see. I'm a thinking at the little issue, which is the removal of the previous information (instead of the "addition" of new one). Ayway, the new text just reads better and I am confident this is a real improvement so thank you for your contribution!
MaxDZ8
talk 08:12, 17 October 2006 (UTC)
Since I noticed the intro gone too crazy to read, I've took some time to update it. I basically started from my last edit and walked up the history tree, taking whatever I found useful or interesting and melting togheter the whole thing. I hope I've succeeded in this.
An exception must be made for last edit, by 71.127.155.96, which has been virtually reverted. Reasons for this include:
MaxDZ8 talk 08:59, 9 May 2006 (UTC)
Hi , I believe the below statement , with the line "blinn lighting model, often referred as bump mapping" to be incorrect. The blinn lighting model is never referred to as bump mapping. You may be able to apply a bump map to a blinn shader, but that's true of Lambert, Phong or many other. Bump mapping is not intrinsically linked to Blinn.
"Lighting & Shadowing Considering the lighting equation, we have seen the trend to move evaluations to fragment granularity. Initially, the lighting computations were performed at vertex level (phong lighting model) but improvements in fragment processor designs allowed to evaluate much more complex lighting equations such as the blinn lighting model, often referred as bump mapping." Hixster 16:52, 7 July 2006 (UTC)
Yes, you're right. This was written because to the mass market "Blinn shading", "bump mapping" and "per-pixel lighting" are synonymous. As you say however, the approximation isn't technically correct (nor many other things market guys do). I thought this would not be a problem but reading your comment I realize this shall be fixed and I'm going to do this now.
MaxDZ8
talk 08:22, 8 July 2006 (UTC)
Bad Article. Too Specific. Should be targeting newbie audience. —The preceding unsigned comment was added by 137.226.101.48 ( talk • contribs) 10:35, 28 July 2006 (UTC)
There are some papers on NV developer identifying bumpy as "blinn" (I'm not even sure they're still online) - no doubt, as said above, this is NOT technically correct. Since you have found no other sources for it, feel free to modify the thing: it's your right on the wiki and you also managed to point out the sources.
Technically, "Blinn lighting" is subsititing the reflection vector with an half-angle vector. "Blinn bump mapping" means fetching a normal perturbation and it has been introduced in the much-speaked-about paper "Simulation of wrinkled surfaces" (1978) - which de facto invented bump mapping. This has been used on the past to indicate bump mapping even when done on normalmapping instead of Blinn's method.
Anyway, it's a thing which is 30 years old. I personally would not care about those small issues, considering the state of the thing but you can obviously not agree and I would not stop you.
MaxDZ8
talk 09:57, 29 July 2006 (UTC)
MaxDZ8: You shouldn't have reverted my changes but I'm going to just let it be. I think the way you are approaching this topic in completely the wrong way and that is why it is confusing for people. You are jumping straight into real time shaders and getting very specific. Most of what you have written doesn't really belong in this article at all. The topic is shaders, this article should be more generalized. A better example would be the definitions expressed in the Renderman Companion or Programming Mental Ray, not what is here. Read the comments of these people. They are not looking for a detailed description of the mechanics of real time rendering. The paragraph and definitions I wrote were an attempt to sort out what you had said so beginners could understand. Right now it doesn't work. My two cents. —The preceding unsigned comment was added by 68.4.22.65 ( talk • contribs) 00:04, 2 August 2006 (UTC)
Not saying your words aren't valueable, but they seem like a sub topic or different topic; Something that belongs on it's own article and linked from the Shader page. So in that sense they don't belong. But they would make a great addition under a different heading, In my humble opinion. Shader is such a loose term and it's causing a lot of confusion, obviously. -68.4.22.65
Hello I don't wish to be offensive, this is purely a technical observation. Your understanding of the subject matter appears to be excellent. However, your writing/explanatory abilities, if I may be so arrogant as to say so, seem to need quite a bit of work.
I would _strongly_ recommend that you sit down with somebody who is good at writing technical documents, especially in English (I suspect English is not your first language or am I wrong?), and clean up the phraseology. All the information is in there, its just that this is a dense field and requires particularly clear language to explain.
Best Regards
Since today I needed to retrieve a bunch of files from a filtered server which allowed only 1 at once I had put some time on a companion shader article about parallax occlusion mapping which is here. The basic idea is to use it as some sort of "external example". It's work in progress, this has been posted to let you know you're being listened. MaxDZ8 talk 09:36, 1 September 2006 (UTC)