zoukankan      html  css  js  c++  java
  • OpenGL官方教程——着色器语言概述

    OpenGL官方教程——着色器语言概述

    可编程图形硬件管线(流水线)

    将       Pertransformed Vertices (每一个待转换顶点)
    传人  Programmable Vertex Processor (可编程的顶点处理器)
    得到      Transformed Vertices (转换的顶点)
    将       Transformed Vertices (转换的顶点)
    传入  Programmable Geometry Processor (可编程的几何处理器)
    得到      Assenbled Polygons,Lines,or Points (组装 多边形、线或点)
    进行  Clipping,Rasterization and Interpolation (裁剪,光栅化和插值)
    得到      Rasterized Pertransformed Fragments (光栅化待转换的片元[片段])
    传入  Programmable Fragment Processor (可编程的片元处理器)
    得到      Transformed Ftagment (转换的片元)
    进行  Raster Operations   (光栅运算)
    进行      Pixel Update    (像素更新)
    传入  Frame Buffer    (帧缓冲区)
    

    可编程顶点处理器

    顶点处理器是一个可编程的单元,该单元对传入的顶点属性,如位置、颜色、纹理坐标等进行操作。顶点处理器的目的是执行传统的图形操作,如顶点变换,法线变换/归一化,纹理坐标的生成,和纹理坐标变换。

    顶点处理器只有一个顶点作为输入,只写一个顶点作为输出。顶点的拓扑信息是不可用的。

    可编程几何处理器

    几何处理器允许访问几何形状(线、三角形、四边形等),它甚至可以创建新的几何形状。然而,几何着色器并不是OpenGL着色器语言规范的一部分。这是一个多厂商的扩展(multivendor extension),目前可用的(开发商)显卡是NVIDIA GeForce 8系列显卡。因为这是OpenGL着色器语言中非常重要的一个扩展,所以在这个教程提到它。(如果你不想或不能使用几何着色器,简单的忽略它,使用固定功能管线来做)

    可编程片元处理器

    片元(片段)处理器的目的是用于执行一些传统的图形操作。例如计算插值、纹理访问、纹理应用、雾化、颜色求和等。

    语言

    OpenGL着色器语言有点类似于C语言。顶点着色器、几何着色器和片元(片段)着色器都必须有一个入口函数"void main()"

    我可以在这里写一个完整的语言规范,但我认为,更好的方法是看学习示例。在下一节中介绍了一个简单的着色源代码。每一段都有一个简单的源代码下载。下载那些例子和修改它是学习GLSL的一个很好的方式,你自己进行实践!

    你也应该下载官方GLSL语言规范。你可以点击这里获取(在”Miscellaneous Documents”下面)。

  • 相关阅读:
    关于binary log那些事
    Ubuntu常用软件安装与使用
    Ubuntu 12.04系统优化清理
    Ubuntu 12.04开机自动挂载Windows分区
    wubi安装Ubuntu后扩充Ubuntu系统空间
    sudo找不到命令:修改sudo的PATH路径
    JS 获取触发事件的对象
    NOIP 2002
    NOIP 2011 聪明的质监员
    NOIP 2011 计算系数
  • 原文地址:https://www.cnblogs.com/oloroso/p/5159378.html
Copyright © 2011-2022 走看看