码迷,mamicode.com
首页 > 其他好文 > 详细

顶点着色器 学习笔记

时间:2017-05-30 00:38:02      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:scale   code   技术分享   ati   form   bsp   光照   编程   glscalef   

顶点着色器

技术分享

shader的三种变量类型

  • uniform变量一般用来表示:变换矩阵,材质,光照参数和颜色等信息;如果在vertex和fragment两者之间声明方式完全一样,则它可以在vertex和fragment共享使用;只读常量数据;
  • attribute变量是只能在vertex shader中使用的变量;一般用attribute变量来表示一些顶点的数据,如:顶点坐标,法线,纹理坐标,顶点颜色等;
  • varying变量是vertex和fragment shader之间做数据传递用。一般vertex shader修改varying变量的值,然后fragment shader使用该varying变量的值。因此varying变量在vertex和fragment shader二者之间的声明必须是一致的。application不能使用此变量。

矩阵变换

模型-视图-投影(MVP)矩阵的概念:

  • 模型矩阵--将物体坐标变化成世界坐标
  • 视图矩阵--将世界坐标变换成眼睛坐标
  • 投影矩阵--将眼睛坐标变换成裁剪坐标

在固定管线OpenGL中,模型-视图矩阵可以用glRotatef,glTranslatef,glScalef等函数创建;可编程管线已不可用这些函数,可在应用程序中处理;模板代码esTransfrom.c

投影矩阵取眼睛坐标“裁剪”后,生成裁剪坐标。

 

记录问题:如何判断图元坐标在视景体中,来完成裁剪操作?

参考链接

shader三种变量类型(uniform,attribute和varying)

esTransform.c

 

顶点着色器 学习笔记

标签:scale   code   技术分享   ati   form   bsp   光照   编程   glscalef   

原文地址:http://www.cnblogs.com/edisongz/p/6919380.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!