- 博客(14)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注

原创 对Observable.of方法的探究
public static func of(_ elements: E ..., scheduler: ImmediateSchedulerType = CurrentThreadScheduler.instance) -> Observable<E> { return ObservableSequence(elements: elements, schedul...
2020-01-22 11:28:05
1001
原创 Sed学习笔记
1.注释一行sed -e '/.*/#&/' file其中&是替换元字符,代表正则表达式所匹配到的内容2.替换sed -e 's/reg/newstr/g' filesed -e 's/\(reg\)/\1newstr/g' file其中\(reg\)可以在替换字符串中通过\1 \2这种方式引用/reg/\/g将某符合正则的串替换为换行符,这种写法一般用在sed脚本文件中。3.删除sed -e '1d' filesed -e '/^$/d'
2020-05-14 18:34:15
280
原创 使用Metal绘制一个三角形
import UIKitimport Metalimport GLKitstruct Vertex { let position: simd_float4 let color: simd_float4}class MetalView: UIView { let device = MTLCreateSystemDefaultDevice()...
2020-04-01 17:43:03
351
原创 浅析GPUImage
最近研究了一段时间的GPUImage,虽然不甚了了,但是总觉得把一些心得体会记下来会让我对GPUImage的理念了解的更清楚,所以在此记录一下,希望有懂的人来交流.GPUImage是一款实时的图片处理框架,该框架有几个核心的类1.GPUImageContext,他是对EAGLContext的一个包装,并且附加了若干功能,那就是缓存纹理与缓存帧缓存,GPUImageContext利用CV
2017-05-24 15:17:49
631
原创 iOS之渲染到纹理
在这里记录一个在iOS上面渲染到纹理的一般步骤.文章最后附源码地址首先,我们的视图的layer应该是CAEAGLLayer:+(Class)layerClass{ return [CAEAGLLayer class];}其次,我们配置一下这个layer的绘图属性:CAEAGLLayer *layer = (CAEAGLLayer*)self.layer;
2017-05-04 09:55:33
2408
2
原创 纪录一个非常烂的模拟镜面反射的Shader
先上代码attribute vec4 position;attribute vec4 normal;attribute vec4 color;uniform vec4 eyeNormal;//眼睛的位置待设置uniform mat4 modelViewMatrix;//灯光相关uniform vec4 lightPosition;//灯光位置待设置uniform vec4 light
2017-03-28 18:12:12
1594
原创 iOS原生OPENGL之贴图
iOS平台上学习OpenGL的资料比较少,加上深度也不够,比如贴图,只能用系统提供的effect类去绘制,在这里我将我整理得到的一些关于贴图的知识分享出来,希望能帮到不了解又想学gl知识的人.完整代码请参照:https://github.com/xuyaxiang/TriangleMipByShader//// ViewController.m// GoldTower//// Cre
2017-03-27 00:02:15
1827
原创 IOS之自动释放池浅析
最近在网上看了一些IOS关于AutoReleasePool的文章,有些心得,在这里记录一下,如果有不对的地方或者是疏漏的地方,敬请路过的大神予以指正.首先一个结构体与AutoReleasePool相关,该结构体有一个构造函数,一个析构函数,以及一个void指针,用于接收构造函数的返回指针以及析构函数相应的操作.查看构造函数,会发现里面的代码涉及到一个AutoReleasePoolPage对象,
2017-01-06 22:41:11
909
原创 ios-OPENGL之绘制天空盒
在绘制天空盒时,我们需要先构造一个立方体。这个立方体的每个顶点构成的三角形一定要符合右手定律,也就是说每个三角形的法向量要一致,否则的话如果开启cull_face话有的面能看到有的面则看不到。然后我们先构造6个纹理对象,依次为纹理对象设置图像数据,在绘制时分步绘制并分别绑定不同的纹理完成贴图,下面上一些关键代码,完整代码请参考点击打开链接 glEnableVertexAttribArra
2016-10-30 11:12:23
1084
原创 OPENGL之GLBindBuffer
在模仿OPENGLES教程中的代码时,首先看了一遍代码,能粗通代码的意思,但是开始自己写时碰到了不少问题,经常性的得不到正确的图形,而是一堆不知道为什么会是这样的图形,在自习研究如下代码后我知道了原因#import "AGLKVertexAttribArrayBuffer.h"@interface AGLKVertexAttribArrayBuffer ()@property (nonat
2016-10-12 21:43:33
6396
原创 OPENGL-ES之绘制金字塔
今天比照着教材画了一个金字塔,这个案例主要涉及到了图形变换矩阵的使用。但是其中遇到了一些问题不甚明了,在我自己的代码中,我设置了view.drawableDepth=GLKViewDrawabledepth16,结果绘制出来的图案给人的感觉是从三角形底部看去的,把设置绘制深度的代码注释掉,则我的代码的表现与教材上面一致,下面贴下工程的全部代码,如果有人知道为什么,恳请赐教。#import "V
2016-09-29 14:53:18
1471
原创 OPENGL-ES之顶点索引绘图
在学习OpenGLES时遇到一个概念,索引缓存。网上查资料大部分代码均是针对安卓或者桌面平台的,而且大部分的代码拷贝下来不能达到效果。经过几天的努力,终于了解了索引绘图的概念,所谓索引绘图是一种在绘制大网格(mesh)时的一种可以高效绘图的一种方式,普通的绘制三角形需要为每个三角形在array_buffer里面分配三个顶点的位置,每个顶点至少需要sizeof(glfloat)*3的内存,其实在网格
2016-09-18 14:03:35
1950
为什么我开了gl_depth_test先绘制的图形还是会被后绘制的图形覆盖?
2017-04-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人