一、前言 KVO(Key-value observing)键值编码,是Objective-C对观察者设计模式的又一实现,系统利用了指针混写技术(isa-swizzing)来实...
一、前言 KVC(Key-value coding)键值编码,是对NSObjcet的扩展,分类名为 : NSKeyValueCoding 二、常用的方法说明 标量 : 属性中...
前言 按照时间顺序,事件的生命周期是这样的:事件的产生和传递(事件如何从父控件传递到子控件并寻找到最合适的view、寻找最合适的view的底层实现、拦截时间的处理)->找到最...
RunLoop 的概念 一般来讲,一个线程一次只能执行一个任务,执行完成后线程就会退出。如果我们需要一个机制,让线程能随时处理事件但并不退出,通常的代码逻辑是这样的: 这种模...
Runtime的特性主要是消息(方法)传递,如果消息(方法)在对象中找不到,就进行转发,具体怎么实现的呢。我们从下面几个方面探寻Runtime的实现机制。 Runtime介绍...
OpenGL ES 3.0实现了具有可编程着色功能的图形管线,如下图所示顶点着色器和片元着色器是OpenGL ES 3.0中管线的可编程阶段。 顶点着色器 顶点着色器输入:着...
前言 GLKit框架的设计目标是为了简化基于OpenGL/OpenGL ES的应用开发,它的出现加快了OpenGL ES或OpenGL应用程序开发。 使用数学库,背景纹理加载...
纹理只是一种能够应用到场景中的三角形上的图像数据。它经过过滤的纹理单元(texel,相当于基于纹理的像素)填充到实心区域。 简单的说就是加载图片,底层是使用纹理实现的 一、纹...
一、正背面踢除(Face Culling) 在渲染3D场景过程中可能会产生以下问题 我们需要决定哪些部分是对观察者可⻅的,或者哪些部分是对观察者不可见的? 对于不可见的我们应...