非固定渲染管道

解决方案 »

  1.   

    这个东西确实很难,国内做这方面的也少,所以大部分资料都只能通过网络了。
    我学了这么久,只会用shader做几种简单的光照处理。
      

  2.   

    看书呀《OpenGL着色语言》或《Programming Vertex and Pixel Shader》,还有《ShaderX》系列。
      

  3.   

    我blog上的例子都是用非固定管线的,不过是用Delphi+OpenGL做的,有兴趣可看看。http://www.cnblogs.com/youweibin
      

  4.   

    用OpenGL的GLSL话就看《OpenGL着色语言》,传说中的橙宝书。用CG的话,就去nVidia的开发者网站找,很详细的。
      

  5.   

    shader本身很简单, 一般都是些常用的公式, 主要应该通过例子看每种效果的具体实现, 大部分效果都是通过c++和 shader一起实现的。
    你可以看看先熟悉shader的函数, 然后看看shader x系列的书知道特效的理论。
      

  6.   

    貌似公司在招人的时候都不要求会shader阿
    shader包括HLSL还有什么?
    和GPU有什么联系?
      

  7.   

    shader包括HLSL和GLSL。
    shader program是运行在GPU上的程序,你可以具体到某个像素来渲染,弥补了固定管道的缺陷
      

  8.   

    比如在DirectX里,我要绘制一个有纹理的三角形,我就要设置三角形的顶点结构以及结构中顶点的格式。struct Vertex
    {
    float _x, _y, _z;
    float _nx, _ny, _nz;
    float _u, _v; // texture coordinates
    static const DWORD FVF;
    };
    const DWORD Vertex::FVF = D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_TEX1; //灵活顶点格式在设置好这些后,三角形的绘制就交给D3D了,固定管道下,你是无法再改变三角形的颜色的,而在shader中,你又可以再重新修改三角形的颜色。
      

  9.   

    常用的shader:HLSL(DX),GLSL(OpenGL),Cg(DX or OpenGL)GPU,graphic processor unit 图形处理器,简单的说,就是通过编写shader,直接在硬件上做图像处理~ 亦或是其他通用处理。