b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

读取renderbuffer_ios opengl es编程指南_韩语入门(2)

电脑杂谈  发布时间:2017-01-16 10:07:58  来源:网络整理

这是本章节的核心内容。

glGenBuffers申请一个标识符

glBindBuffer把标识符绑定到GL_ARRAY_BUFFER上

glBufferData把顶点数据从cpu内存复制到gpu内存

glEnableVertexAttribArray 是开启对应的顶点属性

glVertexAttribPointer设置合适的格式从buffer里面读取数据

    //纹理贴图
    NSString* filePath = [[NSBundle mainBundle] pathForResource:@"for_test" ofType:@"png"];
    NSDictionary* options = [NSDictionary dictionaryWithObjectsAndKeys:@(1), GLKTextureLoaderOriginBottomLeft, nil];//GLKTextureLoaderOriginBottomLeft 纹理坐标系是相反的
    GLKTextureInfo* textureInfo = [GLKTextureLoader textureWithContentsOfFile:filePath options:options error:nil];
    //着色器
    self.mEffect = [[GLKBaseEffect alloc] init];
    self.mEffect.texture2d0.enabled = GL_TRUE;
    self.mEffect.texture2d0.name = textureInfo.name;

GLKTextureLoader读取图片,创建纹理GLKTextureInfo

创建着色器GLKBaseEffect,把纹理赋值给着色器

读取renderbuffer_韩语入门_ios opengl es编程指南

代码带了很多注释,百度下相应的概念,会有更多解释;如果懒得查,可以留言疑问。ios opengl es编程指南

代码中只有四个顶点坐标,如何显示出来一个图像?

顶点缓存数组可以不用glBufferData,要如何实现?

如果把这个图变成左右两只对称的熊猫,该如何改?

这里可以下载demo代码。

送上两个有意思的blog

飘飘白云系列讲解

代码中只有四个顶点坐标,如何显示出来一个图像?

四个顶点,可以绘制2个三角形,两个三角形拼接成一个矩形。三角形内的任意一点,根据顶点坐标插值生成对应的顶点和纹理坐标。ios opengl es编程指南

顶点缓存数组可以不用glBufferData,要如何实现?顶点数组可以通过glBufferData放入缓存,也可以直接通过glVertexAttribPointer最后一个参数,直接把顶点数组从CPU传送到GPU。区别:glBufferData里面的顶点缓存可以复用,glVertexAttribPointer是每次都会把顶点数组从CPU发送到GPU,影响性能。

如果把这个图变成左右两只对称的熊猫,该如何改?把屏幕切分成4个三角形,左边两个三角形同上,右边两个三角形的纹理坐标的x值调整即可。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-26660-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...