姬長信(Redy) 大佬早!

日记

首页 » 归档 » 日记 » Swift下OpenGL应用-ios学习从入门到精通尽在姬长信

Swift下OpenGL应用-ios学习从入门到精通尽在姬长信

分享最热门的资讯

本文由CocoaChina网友babywolf投稿    

iOS开发中关于手写签批的实现已经有很多了,Swift语言也有了几个。大部分基于CAShapeLayer,或者CGContext开发。我今天介绍的这种是基于OpenGL,在GLKView中绘制的效果,感觉效果还可以。喜欢的朋友可以给个star。

项目地址:WFSignatureView

效果图:

简单介绍一下实现过程,在tap和pan相应的操作中,把点加入到相应的变量中,然后在更新视图,调用OpenGL的相应接口绑定变量中点的数据,进行绘制。

核心代码展示:

func addVertex( length : inout uint, v : UnsafeRawPointer) {

    if Int(length) >= maxLength {

        return;

    }

    var data : UnsafeMutableRawPointer

    data = glMapBufferOES(UInt32(GL_ARRAY_BUFFER), UInt32(GL_WRITE_ONLY_OES))

    data = data + MemoryLayout.size * Int(length)

    memcpy(data, v, MemoryLayout.size)

    glUnmapBufferOES(GLenum(GL_ARRAY_BUFFER));

    length += 1

}

项目的难点还在于对OpenGL的API的运用:

public func glBindVertexArrayOES(_ array: GLuint)

public func glDrawArrays(_ mode: GLenum, _ first: GLint, _ count: GLsizei)

第一次写文字,希望大家喜欢。

ios学习从入门到精通尽在姬长信

(0)

本文由 姬長信 创作,文章地址:https://blog.isoyu.com/archives/20425.html
采用知识共享署名4.0 国际许可协议进行许可。除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为:8 月 31, 2017 at 04:00 下午

热评文章

发表回复

[必填]

我是人?

提交后请等待三秒以免造成未提交成功和重复