Advertisement

OpenGL 着色器

阅读量:

OpenGL着色器技术应用

着色器是一种在GPU上执行的小型程序,它们在图形处理流程中的各个特定阶段运行。从本质上来说,这类程序的功能仅仅是将输入数据转化为输出结果。由于着色器之间无法进行相互交流,因此它们被设计为相对独立的单元。

一、OpenGL着色语言–GLSL

GLSL 是一种类 C 语言,专门用于编写着色器程序。这种语言为图形处理量身打造,内含大量针对矢量与矩阵运算的实用功能。

每个着色器程序通常从版本声明开始,随后依次列出输入变量、输出变量以及 uniform 变量,并定义其核心执行逻辑。在处理所有输入数据后,通过特定函数将结果输出至对应的输出变量中。

着色器的典型结构如下:

复制代码
    #version version_number
    in type in_variable_name;  // 上一阶段输入的数据
    in type in_variable_name;  
    out type out_variable_name;   // 这个阶段需要输出的数据
    uniform type uniform_name;    // 全局数据, 应用程序中也能读取和写入的变量,用于着色器和应用程序之间互通数据
      
    void main()
    {
      out_variable_name =

全部评论 (0)

还没有任何评论哟~