Opengl ES简单范例(iOS)

看到很多范例,都不是自己想要的。我需要的就是绘制图形(点、线、面),要求代码最简单,便于学习了解,不要有多余的东东。

工程目录如下,圈起来的是新增的内容。



整体过程如下:

[self setupLayer];         //设置绘制图层

[self setupContext];       //设置GL设备上下文

[selfsetupRenderBuffer];  //设置渲染缓存

[selfsetupFrameBuffer];   //设置帧缓存

[selfcompileShaders];     //设置着色器

[selfrender]; 


实际的绘制过程如下:

- (void)render {

    

    // 改变背景

    glClearColor(0,104.0/255.0,55.0/255.0,1.0);

    glClear(GL_COLOR_BUFFER_BIT);

    

    // 指定渲染的范围

    glViewport(0,0,self.frame.size.width,self.frame.size.height);

    

    // 关联顶点数据

    glVertexAttribPointer(0,3,GL_FLOAT,GL_FALSE,0,Vertices);

    

    // 启用属性

    glEnableVertexAttribArray(0);

    

    // 绘制图形

//  glDrawArrays(GL_POINTS, 0, 3); // 绘制点

//  glDrawArrays(GL_LINE_LOOP, 0, 3); // 绘制线

    glDrawArrays(GL_TRIANGLES,0,3);//绘制面

    

    //缓存中的内容输出至屏幕

    [_contextpresentRenderbuffer:GL_RENDERBUFFER];

}


详细操作:

1.)创建工程

”File“->"New"->"Project"

”IOS“->"Applications"->”Empty Application“


2.)引入库

“Targets"->”Build Phases“->"Link Binary With Libraries"

引入 OpenGLES.framework、QuartzCore.framework


3.)创建Opengl ES 绘制图层

在”LxOpenglES“文件夹上右键单击->"New Files"->"Cocoa Touch"->”Objective-C class“

创建OpenglView类,继承自UIView


4.)将View与Delegate关联

在AppDelegate.m文件的didFinishLaunchingWithOptions接口中添加

    self.glView = [[OpenglViewalloc]initWithFrame:[[UIScreenmainScreen]bounds]];

    [self.windowaddSubview:_glView];


5.)创建着色器文件

在Supporting Files文件夹上右键”New File"->"IOS"->"other"->"Empty"

依次创建SimpleVertex.glsl、SimpleFragment.glsl具体里面的内容看文件。





范例工程:

LxOpenglES.zip


三维旋转长方体

LxOpenglES2.zip

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值