Author Topic: Learning Shaders  (Read 6224 times)

0 Members and 1 Guest are viewing this topic.

FuzzYspo0N

  • Associate
  • Posts: 3
Learning Shaders
« on: February 09, 2008, 10:26:11 PM »
Hi all,

English only for me, apologies.
Iv been using shaders and working on my own for quite some time but it seems resources are quite scarce.
GPU gems are great, glsl books are great, examples with rendermonkey and FX composer are all quite good resources...
But outside of that where do you learn? Are there communities of shader developers? are there guys giving information and examples of simple things as well as the excessively complex?

Maybe im missing the boat here :D

JeGX

  • Global Moderator
  • Capo Crimine
  • *****
  • Posts: 2343
    • oZone3D.Net
Re: Learning Shaders
« Reply #1 on: February 10, 2008, 11:17:07 AM »
Hi,

you're right mate, good resources on real time shaders are quite rare on the Net. I publish time to time GLSL tutorials to cover gpu programming basis so if you code in glsl, try to post your questions here. I think the best way to learn gpu programming is to code, code and code again. Read as many books as you can (GPU Gems #1, #2 #3, Orange book, ShaderX series, Game Programming Gems) since these books offers very detailled articles and source codes and nice shaders written by masters.  Then try to compile them, modify them, in a word hack them! Demoniak3D is a nice plateform to play with glsl shaders, so use it too!

Here are some links:

GLSL tutorials:
- oZone3D.Net GLSL articles: http://www.ozone3d.net/tutorials/
- Lighthouse3D GLSL articles: http://lighthouse3d.com/opengl/
- Humus - GLSL / HLSL:  http://www.humus.ca

Programmable Shaders Forums:
- GLSL : http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=postlist&Board=11&page=1
- Cg: http://developer.nvidia.com/forums/index.php?showforum=14
- GPU programming: http://forum.beyond3d.com/forumdisplay.php?f=22

FuzzYspo0N

  • Associate
  • Posts: 3
Re: Learning Shaders
« Reply #2 on: February 10, 2008, 10:15:49 PM »
Thank you for your response,

I read all the above mentioned books, i understand and grasp a whole bunch of the shading techniques. But lets say i want a new shading techniqur from scratch, say a trailing edge on things. I know how to concetualise the idea into a workable solution, and then the hard part comes in coding it. The maths, the concepts of share details, stuff like that. i suppose its a matter of asking on forums such as these :)

No shader

With shader


For example, this kind of shader i have thought about making.In my mind i understand a few methods and ideas... such as :
Mapping an aplha texture over perlin noise with a gradient, blurring it andshowing it according to the alpha... or perhaps,
edge finding and trailing blurred pieces. My next step would be to experiment as you say, but the actual creation and implementation side of the concept are killer. Im not looking specifically for free code, i want to learn the process of creating new shaders...

Thanks again, for the responses.

JeGX

  • Global Moderator
  • Capo Crimine
  • *****
  • Posts: 2343
    • oZone3D.Net
Re: Learning Shaders
« Reply #3 on: February 11, 2008, 09:09:03 AM »
Ok I get it, and forums such as beyond3d will be fine for you. There are many good coders that frequent beyond3d's forums so it's the right place to post about your gpu programming ideas. In your case, there is no particular way to create new shaders. A shader is just the expression of your thought so with clear ideas, you should normally manage to code your shaders or at least get some replies (from forums) on the direction to explore. For instance, one direction to examine for this smoke shader if a multipass rendering (like I did for the fur rendering) mixed with blurring and some clever maths...

FuzzYspo0N

  • Associate
  • Posts: 3
Re: Learning Shaders
« Reply #4 on: February 11, 2008, 09:55:15 AM »
ALright, i see!

Thanks for the replies. In terms of 2d effects and such? like i see in the demos sometimes that have volumetric rays from a simple image or something along those lines... is that also GPU programming or is there 2d effects guys around as well :P

I ask a lot of quesitons XD

I hope to learn more about effects, not just sticking with generic shading stuff only..

Thanks for the response