关于高性能图形编程,大家都看什么书?用哪些技术

蓝鹰 2013-06-14 07:06:04
虽然在公司是做这行,但最近除了做3D字体,完全是使用固定管线渲染的,没有用到什么最新的技术如:GPU编程语言CG 和 什么Shader。 我想请教一下:
1. 使用CG程序是否可以大大提高渲染性能?在百度文库中看到,对于某些工作如像素数据流处理,如果用c++ 就得对元数据一一遍历,进行计算,而在Cg程序中就能够让所有像素独立地进行并行计算,听起来好神啊,那样不就可以大大提高渲染速度?如果启用了Openmp是否也可以产生类似的效果?
2.关于这方面,我没能找到一些比较专业的书籍,百度上都说的些皮毛,大家都看的哪些书?
...全文
262 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
蓝鹰 2013-10-29
  • 打赏
  • 举报
回复
引用 6 楼 ri_aje 的回复:
[quote=引用 4 楼 blackeagleX 的回复:] [quote=引用 3 楼 ri_aje 的回复:] 现在实时渲染基本是靠 gpu 的,编程接口有很多,跟传统渲染通道相结合的一般叫 shader,比如 glsl。shader 本身有很多局限性,尤其是对通用数据结构和数学计算的支持问题,因此后来又有了 gpgpu,比如 cuda 和 opencl。大数据并行 gpu 比 cpu 快很多很多,openmp 也没用,因为 cpu 计算能力在 gpu 面前实在是不灵。新建的超级计算机都是半 cpu 半 gpu 的配置,就是因为 gpu 快且能耗低,比如我国天河系列。 楼主对 gl shader 有兴趣的话,标准书籍是 OpenGL Shading Language (http://www.amazon.com/OpenGL-Shading-Language-3rd-Edition/dp/0321637631)。不过我个人很受不了 shader 的设计,给我感觉其初衷就是给传统渲染通道打补丁,立意就有问题。所以我比较倾向 gpgpu,书的话有 OpenCL in Action (http://www.manning.com/scarpino2/),nv 的 cuda 也行,但用的很少,也不知道好的书籍。gpgpu 这块儿比较新,书不是太多,基本还是看 paper,多实践,自己学习。
谢谢!只感觉IT业界知识更新好快啊。以前以为图形这一块还算实在,没有像web和ERP那样的那么多的花哨的框架啥的,现在发现也得不断学习新技术。突然觉得有些迷惘[/quote] 我的观点下功夫学好核心的知识,需要应用的时候在突击一下应景的东西。一般核心的难,吸收的也慢,需要长时间有计划的投入,各种花里胡哨的接口什么的基本都万变不利其宗,不会成为真正的瓶颈的。图形分很多块儿,不知道楼主想做那块?[/quote] 更想做的是体渲染和建模这块,对纹理贴图、着色插值这块真没什么兴趣。
蓝鹰 2013-06-18
  • 打赏
  • 举报
回复
引用 6 楼 ri_aje 的回复:
[quote=引用 4 楼 blackeagleX 的回复:] [quote=引用 3 楼 ri_aje 的回复:] 现在实时渲染基本是靠 gpu 的,编程接口有很多,跟传统渲染通道相结合的一般叫 shader,比如 glsl。shader 本身有很多局限性,尤其是对通用数据结构和数学计算的支持问题,因此后来又有了 gpgpu,比如 cuda 和 opencl。大数据并行 gpu 比 cpu 快很多很多,openmp 也没用,因为 cpu 计算能力在 gpu 面前实在是不灵。新建的超级计算机都是半 cpu 半 gpu 的配置,就是因为 gpu 快且能耗低,比如我国天河系列。 楼主对 gl shader 有兴趣的话,标准书籍是 OpenGL Shading Language (http://www.amazon.com/OpenGL-Shading-Language-3rd-Edition/dp/0321637631)。不过我个人很受不了 shader 的设计,给我感觉其初衷就是给传统渲染通道打补丁,立意就有问题。所以我比较倾向 gpgpu,书的话有 OpenCL in Action (http://www.manning.com/scarpino2/),nv 的 cuda 也行,但用的很少,也不知道好的书籍。gpgpu 这块儿比较新,书不是太多,基本还是看 paper,多实践,自己学习。
谢谢!只感觉IT业界知识更新好快啊。以前以为图形这一块还算实在,没有像web和ERP那样的那么多的花哨的框架啥的,现在发现也得不断学习新技术。突然觉得有些迷惘[/quote] 我的观点下功夫学好核心的知识,需要应用的时候在突击一下应景的东西。一般核心的难,吸收的也慢,需要长时间有计划的投入,各种花里胡哨的接口什么的基本都万变不利其宗,不会成为真正的瓶颈的。图形分很多块儿,不知道楼主想做那块?[/quote]对模型这一块比较感兴趣。什么粒子系统,动画特效方面的理论只要自己够用就行
One-_-Piece 2013-06-18
  • 打赏
  • 举报
回复
只感觉IT业界知识更新好快啊。以前以为图形这一块还算实在,没有像web和ERP那样的那么多的花哨的框架啥的,现在发现也得不断学习新技术。突然觉得有些迷惘
buyong 2013-06-18
  • 打赏
  • 举报
回复
ri_aje 2013-06-18
  • 打赏
  • 举报
回复
引用 4 楼 blackeagleX 的回复:
[quote=引用 3 楼 ri_aje 的回复:] 现在实时渲染基本是靠 gpu 的,编程接口有很多,跟传统渲染通道相结合的一般叫 shader,比如 glsl。shader 本身有很多局限性,尤其是对通用数据结构和数学计算的支持问题,因此后来又有了 gpgpu,比如 cuda 和 opencl。大数据并行 gpu 比 cpu 快很多很多,openmp 也没用,因为 cpu 计算能力在 gpu 面前实在是不灵。新建的超级计算机都是半 cpu 半 gpu 的配置,就是因为 gpu 快且能耗低,比如我国天河系列。 楼主对 gl shader 有兴趣的话,标准书籍是 OpenGL Shading Language (http://www.amazon.com/OpenGL-Shading-Language-3rd-Edition/dp/0321637631)。不过我个人很受不了 shader 的设计,给我感觉其初衷就是给传统渲染通道打补丁,立意就有问题。所以我比较倾向 gpgpu,书的话有 OpenCL in Action (http://www.manning.com/scarpino2/),nv 的 cuda 也行,但用的很少,也不知道好的书籍。gpgpu 这块儿比较新,书不是太多,基本还是看 paper,多实践,自己学习。
谢谢!只感觉IT业界知识更新好快啊。以前以为图形这一块还算实在,没有像web和ERP那样的那么多的花哨的框架啥的,现在发现也得不断学习新技术。突然觉得有些迷惘[/quote] 我的观点下功夫学好核心的知识,需要应用的时候在突击一下应景的东西。一般核心的难,吸收的也慢,需要长时间有计划的投入,各种花里胡哨的接口什么的基本都万变不利其宗,不会成为真正的瓶颈的。图形分很多块儿,不知道楼主想做那块?
蓝鹰 2013-06-17
  • 打赏
  • 举报
回复
引用 1 楼 adlay 的回复:
The Cg Tutorial: The Definitive Guide to Programmable Real-Time Graphics GPU Gems: Programming Techniques, Tips and Tricks for Real-Time Graphics ShaderX1: Advanced Rendering Techniques ShaderX2: Advanced Rendering Techniques ShaderX3: Advanced Rendering Techniques ShaderX4: Advanced Rendering Techniques ShaderX5: Advanced Rendering Techniques ShaderX6: Advanced Rendering Techniques ShaderX7: Advanced Rendering Techniques GPU Gems: Programming Techniques, Tips and Tricks for Real-Time Graphics GPU Gems 2: Programming Techniques for High-Performance Graphics and General-Purpose Computation GPU Gems 3
谢谢,刚刚在淘宝找到!
蓝鹰 2013-06-17
  • 打赏
  • 举报
回复
引用 3 楼 ri_aje 的回复:
现在实时渲染基本是靠 gpu 的,编程接口有很多,跟传统渲染通道相结合的一般叫 shader,比如 glsl。shader 本身有很多局限性,尤其是对通用数据结构和数学计算的支持问题,因此后来又有了 gpgpu,比如 cuda 和 opencl。大数据并行 gpu 比 cpu 快很多很多,openmp 也没用,因为 cpu 计算能力在 gpu 面前实在是不灵。新建的超级计算机都是半 cpu 半 gpu 的配置,就是因为 gpu 快且能耗低,比如我国天河系列。 楼主对 gl shader 有兴趣的话,标准书籍是 OpenGL Shading Language (http://www.amazon.com/OpenGL-Shading-Language-3rd-Edition/dp/0321637631)。不过我个人很受不了 shader 的设计,给我感觉其初衷就是给传统渲染通道打补丁,立意就有问题。所以我比较倾向 gpgpu,书的话有 OpenCL in Action (http://www.manning.com/scarpino2/),nv 的 cuda 也行,但用的很少,也不知道好的书籍。gpgpu 这块儿比较新,书不是太多,基本还是看 paper,多实践,自己学习。
谢谢!只感觉IT业界知识更新好快啊。以前以为图形这一块还算实在,没有像web和ERP那样的那么多的花哨的框架啥的,现在发现也得不断学习新技术。突然觉得有些迷惘
ri_aje 2013-06-14
  • 打赏
  • 举报
回复
现在实时渲染基本是靠 gpu 的,编程接口有很多,跟传统渲染通道相结合的一般叫 shader,比如 glsl。shader 本身有很多局限性,尤其是对通用数据结构和数学计算的支持问题,因此后来又有了 gpgpu,比如 cuda 和 opencl。大数据并行 gpu 比 cpu 快很多很多,openmp 也没用,因为 cpu 计算能力在 gpu 面前实在是不灵。新建的超级计算机都是半 cpu 半 gpu 的配置,就是因为 gpu 快且能耗低,比如我国天河系列。 楼主对 gl shader 有兴趣的话,标准书籍是 OpenGL Shading Language (http://www.amazon.com/OpenGL-Shading-Language-3rd-Edition/dp/0321637631)。不过我个人很受不了 shader 的设计,给我感觉其初衷就是给传统渲染通道打补丁,立意就有问题。所以我比较倾向 gpgpu,书的话有 OpenCL in Action (http://www.manning.com/scarpino2/),nv 的 cuda 也行,但用的很少,也不知道好的书籍。gpgpu 这块儿比较新,书不是太多,基本还是看 paper,多实践,自己学习。
flyrack 2013-06-14
  • 打赏
  • 举报
回复
显卡不支持Shader的路过
www_adintr_com 2013-06-14
  • 打赏
  • 举报
回复
The Cg Tutorial: The Definitive Guide to Programmable Real-Time Graphics GPU Gems: Programming Techniques, Tips and Tricks for Real-Time Graphics ShaderX1: Advanced Rendering Techniques ShaderX2: Advanced Rendering Techniques ShaderX3: Advanced Rendering Techniques ShaderX4: Advanced Rendering Techniques ShaderX5: Advanced Rendering Techniques ShaderX6: Advanced Rendering Techniques ShaderX7: Advanced Rendering Techniques GPU Gems: Programming Techniques, Tips and Tricks for Real-Time Graphics GPU Gems 2: Programming Techniques for High-Performance Graphics and General-Purpose Computation GPU Gems 3

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧