摘要: CoreAnimation的好处:1.高性能,简单的编程模块2.像View一样,使用层级结构来构建负责的界面3.轻量级数据结构,能使上百个动画同时执行4.抽象的动画接口,允许动画在一个独立的线程中运行,独立于应用程序的run loop5.提高应用程序的性能6.可扩展的布局管理模型CoreAnimation Class:1.Layer Class:提供显示内容2.Animation and timing ClassLayer的许多属性都有隐式的动画效果,改变属性值将会自动产生一个从当前值到新值的动画显示的动画不会改变Layer的属性,它只负责显示动画CAAnimation是所有动画类的抽象类,具 阅读全文
posted @ 2013-08-16 19:12 Kalou 阅读(1876) 评论(1) 推荐(0) 编辑
摘要: Block的好处,我总结了下主要有2点:1.用于回调特别方便,2.可以延长对象的作用区域。但是,Block的内存管理这个模块一直不是很清楚,这个周末好好的看了下Block的原理,有些许心得。为了性能,默认Block都是分配在stack上面的,所以它的作用区域就是当前函数。#include int main(){ int i = 1024; void (^blk)(void) = ^ { printf("%d\n", i); }; blk(); return 0;}在blk这个block里面是不能修改i的。Why?我们可以通过clang看看编译器处理后... 阅读全文
posted @ 2013-08-12 00:32 Kalou 阅读(10557) 评论(1) 推荐(1) 编辑
摘要: 1.和陌生人通宵聊天2.去玩一次滑翔伞3.在旅行中邂逅一次短暂的爱情4.打壁球5.住水屋6.请做一杯拿铁7.坐着帆船出海8.热气球旅行9.攀登雪山10.去潜水11.跟驴友一起穿越原始森林 阅读全文
posted @ 2013-07-22 18:21 Kalou 阅读(613) 评论(0) 推荐(0) 编辑
摘要: 待完成! 阅读全文
posted @ 2013-07-12 01:35 Kalou 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 待补充 阅读全文
posted @ 2013-06-17 00:07 Kalou 阅读(204) 评论(0) 推荐(0) 编辑
摘要: Vertex Shader 是渲染管道中一个可编程的模块,用于处理独立的顶点。Vertex Shader接收Vertex Attribute Data,由定点数组对象通过渲染指令来生成。Vertex Shader 从顶点流中接收一个顶点,处理后输出到output顶点流。它们必须是1对1的关系。htt... 阅读全文
posted @ 2013-06-17 00:06 Kalou 阅读(490) 评论(0) 推荐(0) 编辑
摘要: VBO(顶点缓冲区对象),允许应用程序迅速方便地将数据从一个渲染管线移动到另一个渲染管线,以及从一个对象绑定到另一个对象,数据也摆脱了强类型对象的束缚。所有对glBufferData的调用都和其他的绘制调用一起通过管线进行处理,so OpenGL实现不需要等待所有活动停止,就可以将数据发送到GPU。... 阅读全文
posted @ 2013-06-17 00:05 Kalou 阅读(733) 评论(0) 推荐(0) 编辑
摘要: 纹理坐标作为属性传递到顶点着色器texture是OPENGL对象,包含一张或多张相同格式的图片。它有2中用途:the source of a texture access from aShaderbe used as a render target. 阅读全文
posted @ 2013-06-16 23:32 Kalou 阅读(1519) 评论(0) 推荐(0) 编辑
摘要: 用户定义的属性变量都是全局变量,与OpenGL应用程序传递给在OpenGL实现内部执行的顶点着色器的值相关联1.获取位置索引GLintglGetAttribLocation (GLuint program, const GLchar* name)2.显式设置属性voidglBindAttribLocation (GLuint program, GLuint index, const GLchar* name)必须在着色器程序被链接之前执行3.设置属性voidglVertexAttrib{1234}f (GLuint indx, TYPE value)voidglVertexAttrib{123 阅读全文
posted @ 2013-06-16 01:30 Kalou 阅读(948) 评论(0) 推荐(0) 编辑
摘要: 着色器统一值属性是每个顶点位置,表面法线和纹理坐标等都需要的,而统一值则用于为整个图元批次向保持不变的着色器传递数据。对于顶点着色器来说,可能最普遍的统一值就是变换矩阵。一个统一值在一个图元的绘制过程中是不变的,所以其值不能在glBegin和glEnd之间设置的uniform限定了表示一个变量的值将由应用程序在着色器执行之前指定,并且在图元的处理过程中不会发生变化。uniform变量是由顶点着色器和片段着色器共享的,他们必须声明为全局变量。1.寻找统一值当GLSL编译器链接到着色器程序后,它会创建一个表格,其中包含了所有的uniform变量,通过此函数能获取到该变量在表中的索引值GLintgl 阅读全文
posted @ 2013-06-15 23:50 Kalou 阅读(7044) 评论(0) 推荐(0) 编辑