Answers:
着色器语言的差别并不大,因此可以学习一种语言并将此知识转换为其他语言。我个人是从Cg开始的。Nvidia确实有很好的免费资源。
看看吧:http : //developer.nvidia.com/page/cg_main.html
摆脱了基础知识之后,您可以对特定的着色器进行一些研究。碰巧没有“ bloom shader”或“ water effect shader”,但是可以使用着色器实现几种不同的技术和模型。
在我看来,如果您只是对某些炫酷效果感兴趣,就不需要一本书,但是如果您想获得计算机图形学方面的知识,我建议您使用ShaderX oder GPU Gems系列。
由于您将OpenGL列为标签,并且尚未有人链接到该标签,因此OpenGL阴影语言(又名橙皮书)是很好的资源。它涵盖了着色语言以及大量用例。
我本人对着色器还很陌生,但我一直在阅读Wolfgang Engel撰写的GPU Pro书。他们一直以令人难以置信的简便和强大的技术使我震惊。同样,内容也没有像大多数学术文章一样被讨论,它更多地关注实现细节和不同技术之间的权衡。
我刚刚发现Patricio Gonzalez Vivo的这本书可在线购买:The Shader Book
我只是其中的几章,所以无法提供深入的评论,但到目前为止,我发现它非常清晰,有趣且实用。它从一开始就开始涉及所有我可以命名的主题(作为图形世界的初学者)。但是,显然这是一个正在进行的工作,以后的章节将不可用-我将急切地等待更新。
PS:您可能已经知道了,但是为了以防万一,我强烈建议您将shadertoy.com作为您的第一本“实践速写本”。我最初在Processing中学习,但是出于学习目的,我发现此Web应用程序甚至更好。
我一直在寻找相同的东西,并发现了这一点:http : //wiki.gamedev.net/index.php/D3DBook : Book_Cover
只提供它,这是一个遗憾,但是就我所知,这是一本好书。