how much should I know about Vertex/Pixel Shaders?
Hi,
I like to know how much should I know about vertex and pixel shaders before I can work on 3D games? When is vertex and pixel shading used the most?
Thanks!
Quote:
I like to know how much should I know about vertex and pixel shaders before I can work on 3D games?
Nothing. You should know a thing or two about linear algebra though.
Quote:
When is vertex and pixel shading used the most?
When you want to achieve advanced effects that are practically very difficult to achieve through the fixed functionality the API(D3D or OpenGL mainly) is exposing to you. Since you're just beginning, that's not going to happen anytime soon, maybe in 3-4 months. For now, make sure you learn the basics well. Through the fixed functionality you can achieve lighting, (multi)texturing and other interesting effects before you need to advance to shaders.
Actually, the fixed function is falling by the wayside. No new games are written with fixed function as the main target.
In fact, in DX10, the fixed function pipeline is entirely gone, and the programmable pipeline is all there is. I also know that no new development is going on at Microsoft, NVIDIA or ATI WRT the fixed-function pipeline.
In general, you use vertex and pixel shaders to express, in an easily readable way, what shading (light, color, etc) you want to have on your geometry. One common thing, for example, is to scale the N dot L so that it goes from [n,1] instead of [-1,1] (for some -1 < n < 0), to make your objects less drastically dark (which they typically are with fixed-function lighting).
If you don't know a lot about shading and lighting in general, then you probably need to read up on that particular topic (say, play with Renderman for a bit, or one of the HLSL or GLSL shader tools and examples).
In fact, in DX10, the fixed function pipeline is entirely gone, and the programmable pipeline is all there is. I also know that no new development is going on at Microsoft, NVIDIA or ATI WRT the fixed-function pipeline.
In general, you use vertex and pixel shaders to express, in an easily readable way, what shading (light, color, etc) you want to have on your geometry. One common thing, for example, is to scale the N dot L so that it goes from [n,1] instead of [-1,1] (for some -1 < n < 0), to make your objects less drastically dark (which they typically are with fixed-function lighting).
If you don't know a lot about shading and lighting in general, then you probably need to read up on that particular topic (say, play with Renderman for a bit, or one of the HLSL or GLSL shader tools and examples).
I agree you should learn how to do vertex and pixel shaders, and I also agree that you should learn how to use linear algebra before that.
You should know everything about vertex/pixel shaders.
You need no knowledge at all about them.
It's possible to make a game without touching shaders (but as said, it'll prevent you from ever working with DX10).
But the more you know, the better. :)
You need no knowledge at all about them.
It's possible to make a game without touching shaders (but as said, it'll prevent you from ever working with DX10).
But the more you know, the better. :)
Thanks for the advice! I was thinking of purchasing a book about vertex and pixel shading
Is this one good?
Programming Vertex & Pixel Shaders (Programming Series)
by Wolfgang Engel
http://www.amazon.com/gp/product/1584503491/sr=8-1/qid=1155414106/ref=sr_1_1/002-1354865-8988812?ie=UTF8
or is there a good website that I can refer to?
Is this one good?
Programming Vertex & Pixel Shaders (Programming Series)
by Wolfgang Engel
http://www.amazon.com/gp/product/1584503491/sr=8-1/qid=1155414106/ref=sr_1_1/002-1354865-8988812?ie=UTF8
or is there a good website that I can refer to?
It looks like you're leaning towards the DX side of things, which is fine. But if you're main concern is the shaders and not the API or shading language used, check out the GLSL tutorials at Lighthouse3D. Even if you aren't familiar with OpenGL, the theory behind the shaders themselves should be enough to teach you quite a bit.
My other suggestion is to download a free shader creating application, like shader designer so you can experiment and play with the shaders as you're reading about them.
Good luck!
[Edited by - CyberSlag5k on August 12, 2006 4:29:39 PM]
My other suggestion is to download a free shader creating application, like shader designer so you can experiment and play with the shaders as you're reading about them.
Good luck!
[Edited by - CyberSlag5k on August 12, 2006 4:29:39 PM]
If you're looking to learn DirectX shaders you could try Introduction to 3D Game Programming with DirectX 9.0c: A Shader Approach by Frank Luna. It just came out recently. It's like Introduction to 3D Game Programming with DirectX 9.0c (first edition that used the fixed function pipeline most) except that it introduces you to shaders early on.
Quote:Original post by hplus0603No new PC games. Remember the console market is much larger then the PC market.
Actually, the fixed function is falling by the wayside. No new games are written with fixed function as the main target.
-= Dave
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement