GLSL学习笔记二(顶点处理)
2009-06-26 15:02
260 查看
摘要:本部分主要专注于顶点Shader的输入 输出 所做的计算等方方面面的事情。今天开场白比较短,我们直接进入正题。
1 glBegin();
2
3 glColor3f(0.2,0.4,0.6);
4 glVertex3f(-1.0,1.0,2.0);
5
6 glColor3f(0.2,0.4,0.8);
7 glVertex3f(1.0,-1.0,2.0);
8
9 glEnd();
处理顶点Shader的部分我们称之为顶点处理器(vertex processor),顶点Shader的输入根据Opengl程序的不同可能包括:顶点的位置,法向,颜色等信息的部分或全部。例如,下面的OpenGL代码,只能提供给顶点Shader位置与颜色的信息。
在顶点Shader里,我们需要做的计算主要包括:
1、利用模型视点矩阵及投影矩阵转换顶点的位置信息。
2、法向的转换及计算。
3、纹理坐标的生成与计算。
4、顶点的光照计算。
5、颜色计算。
需要注意的是,虽然程序里面可能不需要用到上面全部的运算,但是作为一个通用Shader还是要对所有的方面都做处理,否则当Shader替换了OpenGL的原来程序后,会有部分功能不会被实现。
到目前为止我们还没有看到任何实际的程序,首先我们要建立一个整体的概念,在接下来的几次学习过程中,会逐步的给出实际的完整的Shader代码程序。
1 glBegin();
2
3 glColor3f(0.2,0.4,0.6);
4 glVertex3f(-1.0,1.0,2.0);
5
6 glColor3f(0.2,0.4,0.8);
7 glVertex3f(1.0,-1.0,2.0);
8
9 glEnd();
处理顶点Shader的部分我们称之为顶点处理器(vertex processor),顶点Shader的输入根据Opengl程序的不同可能包括:顶点的位置,法向,颜色等信息的部分或全部。例如,下面的OpenGL代码,只能提供给顶点Shader位置与颜色的信息。
在顶点Shader里,我们需要做的计算主要包括:
1、利用模型视点矩阵及投影矩阵转换顶点的位置信息。
2、法向的转换及计算。
3、纹理坐标的生成与计算。
4、顶点的光照计算。
5、颜色计算。
需要注意的是,虽然程序里面可能不需要用到上面全部的运算,但是作为一个通用Shader还是要对所有的方面都做处理,否则当Shader替换了OpenGL的原来程序后,会有部分功能不会被实现。
到目前为止我们还没有看到任何实际的程序,首先我们要建立一个整体的概念,在接下来的几次学习过程中,会逐步的给出实际的完整的Shader代码程序。
相关文章推荐
- 基本文本处理---学习笔记
- python学习笔记(十七)——数值,日期,和时间处理
- Java学习笔记---其他类特性与异常处理
- 【学习笔记】【数字图像处理】空间滤波
- 【数字图像处理学习笔记之三】Blob分析
- PHP学习笔记-表单处理
- JavaScript高级程序设计学习笔记--事件(一)(事件流、事件处理程序/事件侦听器)
- arm体系结构学习笔记 part4 -- 异常处理的返回
- 学习笔记之JavaIO中的文件处理——File和RandomAccessFile
- php学习笔记(十三)时间处理与日历的实现
- SpringMVC 学习笔记(四) 处理模型数据
- Andengine 学习笔记 - 图片处理
- jQuery学习笔记之 Ajax操作篇(三) - 过程处理
- python学习笔记-------参数的处理
- 计算机视觉与图像处理学习笔记(三)opencv的基本数据类型与简单图像处理函数
- CVP认证学习笔记--李天宇013在Node的生命周期和图层种处理触摸
- opengl 顶点数组 学习笔记
- 【学习笔记】SpringMvc+WebUploader整合处理
- 数字语音信号处理学习笔记——语音信号的同态处理(2)
- Matlab图像处理学习笔记(一):二值化、开操作、连通区域提取、重心、ROI