注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Mississippi的博客

学习使人进步

 
 
 

日志

 
 

从零开始构建IOS的OpenGL应用(十)  

2012-09-05 18:02:25|  分类: Objective-C |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

十、增加着色器显示纹理

上述着色器是一个超级简单的着色器(几乎没实现什么功能,仅是简单地着为红色)。

下面逐渐增加它的功能。

 

1、修改着色器

给顶点着色器,增加纹理坐标属性“TexCoord”和该坐标的输出“coord”(此输出将在片段着色器中使用)。


从零开始构建IOS的OpenGL应用(十) - mississi - Mississippi的博客
 

给片段着色器,增加纹理坐标输入“coord”,以及统一的“sampler2D”变量。


从零开始构建IOS的OpenGL应用(十) - mississi - Mississippi的博客
 

片段的颜色改为由“texture2D”函数计算出来,实际上就是按纹理坐标从纹理像素中取样。


2、绑定着色器变量

要使着色器正常工作,必须提供它需要的参数内容。

在“viewDidload”方法后,添加“绑定”代码:


从零开始构建IOS的OpenGL应用(十) - mississi - Mississippi的博客
 

第一部分是绑定“position”属性到通用的的顶点属性索引“0”上,绑定“texCoord”到通用的顶点属性索引“3”上。(索引1是法线,2是顶点颜色)。

绑定后,必须调用“glLinkProgram”方法才能生效。

 

第二部分,绑定“统一的纹理sampler2D”变量,到纹理0号单元——在使用“GLKTextureLoader”加载纹理时,默认是激活了“0”号单元。当然,如果是激活其他单元(例如8),则这里就相应的改为8

绑定之前,必须调用“glUseProgram”才起作用。


3、运行渲染

从零开始构建IOS的OpenGL应用(十) - mississi - Mississippi的博客
 


  评论这张
 
阅读(3937)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017