Tekkaman

导航

 

2012年4月9日

摘要: 1、顶点光照(Gourand Shading) 顶点级别的光照计算,会导致镜面光以及细节的丢失。2、像素渲染(亦叫“补色渲染” --Phong Shading Technique) 实际开发中多使用此种渲染。3、凹凸贴图。 用一张贴图存储图像高度信息,然后在像素渲染中使用此高度贴图信息来调整每一个像素的法线。4、法线贴图。 用一张贴图来存储法线数据,然后在像素渲染中使用此法线贴图信息来调整每一个像素的法线。 阅读全文
posted @ 2012-04-09 13:50 Tekkaman 阅读(336) 评论(0) 推荐(1)
 

2012年4月5日

摘要: 1、系统要提供 A、rendering contexts (渲染环境) B、system framebuffers(系统帧缓冲区)2、iOS does not provide system framebuffers. Instead, iOS extends the framebuffer object provided by OpenGL ES to allow framebuffers that share data with Core Animation. iOS没有提供system framebuffer,代替的是,iOS扩展了framebuffer,使得framebuffer... 阅读全文
posted @ 2012-04-05 09:40 Tekkaman 阅读(289) 评论(0) 推荐(1)
 

2012年3月20日

摘要: 【C#可访问性级别】有几下几点需要注意:1、不嵌套在其他类型中的顶级类型的可访问性只能是internal或public。这些类型的默认可访问性是internal。如enum、class、struct、interface。2、嵌套类型是其他类型的成员,它们可以具有下表所示的声明的可访问性:3、嵌套类型... 阅读全文
posted @ 2012-03-20 21:36 Tekkaman 阅读(3988) 评论(0) 推荐(2)
 
摘要: 【C# vs C++/CLI 析构】 For example, the following is a declaration of a finalizer 概念:1、Finalize 2、Dispose Difference: 1、C#中析构函数会被编译器替换为Finalize,代码永远不可以直接调 阅读全文
posted @ 2012-03-20 20:10 Tekkaman 阅读(954) 评论(0) 推荐(1)
 
摘要: 【using语句】 1)tusing语句,定义一个范围,在范围结束时处理对象。场景:当在某个代码段中使用了类的实例,而希望无论因为什么原因,只要离开了这个代码段就自动调用这个类实例的Dispose。要达到这样的目的,用try...catch来捕捉异常也是可以的,但用using也很方便。例如: 2)可 阅读全文
posted @ 2012-03-20 17:09 Tekkaman 阅读(232) 评论(0) 推荐(1)
 

2012年3月18日

摘要: When compiling to managed code, the compiler translates your source code into Microsoft intermediate language (MSIL), which is a CPU-independent set of instructions that can be efficiently converted to native code. MSIL includes instructions for loading, storing, initializing, and calling methods on 阅读全文
posted @ 2012-03-18 21:31 Tekkaman 阅读(425) 评论(0) 推荐(1)
 
摘要: Managed Execution ProcessThe managed execution process includes the following steps:Choosing a compiler.To obtain the benefits provided by the common language runtime, you must use one or more language compilers that target the runtime.Compiling your code to Microsoft intermediate language (MSIL).Co 阅读全文
posted @ 2012-03-18 21:22 Tekkaman 阅读(226) 评论(0) 推荐(1)
 

2012年3月5日

摘要: 1、建立CSR会让Keychain Access同时生成private key、public key,用来作为你本人开发者的验证。 private key保存在login->keys里面。2、开发者证书:分为develop和Distribution。开发者证书包含public key。3、Bundle Seed ID 、 Bundle ID4、开启APN后,可以下载Push SLL 证书。APN分为develop和release。5、provision 分为develop 和release。.csr 证书签名请求.cer 开发者证书、APN Provider SSL证书.p12 开发者私 阅读全文
posted @ 2012-03-05 16:29 Tekkaman 阅读(1525) 评论(0) 推荐(2)
 

2012年2月27日

摘要: 1. 延迟vector计算。例:不好的用法。 优化后的用法。2. 去冗余计算, vector整体计算。例:良好的用法。3. 避免分支。(避免if语句) 分支语句性能排序: a) 最佳:编译期确定的常量 b) 可接受:uniform变量 c) 可能很差:在shader内计算的变量解决方案:将各个分支作为单独的shader。(会增加一点工作量及复杂度)实践参考:在性能和工量入复杂度之间作一个权衡。因受寄存器限制,SL的编译代码越短,效率越高。另外,因为是海量计算,所以细徽的优化会带来革命性的性能改善。 阅读全文
posted @ 2012-02-27 16:40 Tekkaman 阅读(1132) 评论(0) 推荐(1)
 

2012年2月23日

摘要: 1、Vertex Shader 1)顶点依次通过模型视图矩阵(ModelView)处理,生成变幻后的顶点。 2)TexGen。 3)Vertext Light Calculation。2、第一次剔除 Culling --> Rasterization --> Stencil Test -->... 阅读全文
posted @ 2012-02-23 23:40 Tekkaman 阅读(2023) 评论(0) 推荐(1)
 

2011年11月16日

摘要: 【颜色缓冲区】 颜色缓冲区(COLOR_BUFFER)就是帧缓冲区(FRAME_BUFFER),你需要渲染的场景最终每一个像素都要写入该缓冲区,然后由它在渲染到屏幕上显示.【深度缓冲区】 深度缓冲区(DEPTH_BUFFER)与帧缓冲区对应,用于记录上面每个像素的深度值,通过深度缓冲区,我们可以进行深度测试,从而确定像素的遮挡关系,保证渲染正确.【模板缓冲区】 模版缓冲(STENCIL_BUFFER)与深度缓冲大小相同,通过设置模版缓冲每个像素的值,我们可以指定在渲染的时候只渲染某些像素,从而可以达到一些特殊的效果. 阅读全文
posted @ 2011-11-16 11:09 Tekkaman 阅读(8966) 评论(0) 推荐(2)
 

2011年10月26日

摘要: 【Objective-C#pragma mark】链接:http://beike.iteye.com/blog/378916上文讲述非常详细,请参阅。 阅读全文
posted @ 2011-10-26 14:44 Tekkaman 阅读(595) 评论(0) 推荐(1)
 

2011年10月19日

摘要: 【Push NOtification 认证】【注解】 Push Notification认证包括两个方面,接入认证和传输认证。认证过程中,涉及到APNS与Provider,APNS与Client的相互认证,涉及三方的三个证书。APNS有一个惟一的公共证书,用来提供对外所有Provider和Client的认证。Provider有一个证书,用来传递给APNS认证,必须之前向Apple请求生成。Client有一个证书,有激活设备时产生,保存在本机,对开发者透明。 阅读全文
posted @ 2011-10-19 11:02 Tekkaman 阅读(1170) 评论(0) 推荐(0)
 

2011年10月14日

摘要: 【JSON简介】 jsoncpp主要包含三种类型的class:Value、Reader、Writer。jsoncpp中所有对象、类名都在namespace Json中,包含json.h即可。【VALUE】 Json::Value是jsoncpp中最基本、最重要的类,用于表示各种类型的对象,jsoncpp支持的对象类型可见Json::ValueType枚举值。 可如下是用Json::Value类: Json::Value json_temp;//临时对象,供如下代码使用 json_temp["name"] = Json::Value("huchao"); 阅读全文
posted @ 2011-10-14 11:15 Tekkaman 阅读(41309) 评论(1) 推荐(2)
 

2011年10月12日

摘要: 【Responder Chain of iOS】 [First Responder] 阅读全文
posted @ 2011-10-12 10:49 Tekkaman 阅读(555) 评论(0) 推荐(0)
 

2011年10月10日

摘要: 【E文原文】 Although bundles and packages are sometimes referred to interchangeably, they actually represent very distinct concepts:Apackageis any directory that the Finder presents to the user as if it were a single file.Abundleis a directory with a standardized hierarchical structure that holds executa 阅读全文
posted @ 2011-10-10 12:30 Tekkaman 阅读(284) 评论(0) 推荐(0)
 

2011年10月9日

摘要: 【Protecting the Cocoa Frameworks】 For multithreaded applications, Cocoa frameworks use locks and other forms of internal synchronization to ensure they behave correctly. To prevent these locks from degrading performance in the single-threaded case, however, Cocoa does not create them until the appl. 阅读全文
posted @ 2011-10-09 13:31 Tekkaman 阅读(382) 评论(0) 推荐(0)
 

2011年10月7日

摘要: <E版原文> Objective-C supports two mechanisms for memory management: automatic garbage collection and reference counting:Garbage Collection Programming Guidedescribes the garbage collection system used in MacOSX. (Not available for iOS—you cannot access this document through the iOS Dev Center.) 阅读全文
posted @ 2011-10-07 23:28 Tekkaman 阅读(305) 评论(0) 推荐(0)
 

2011年9月21日

摘要: 【iOS用户界面元素中英文对照表】状态栏 -- Status Bar导航栏 -- Navigation Bar工具栏 -- Tool Bar标签栏 -- Tab Bar警告 -- Alert动作表单 -- Action Sheet模式视图 -- Modal View表格视图 -- Table View 表格样式 1) 无格式样式UITableViewStylePlain 2)分组样式UITableViewStyleGrouped 单元格样式 1)默认单元格样式UITableViewCellStyleDefault 2)副标题单元格样式UITableVie... 阅读全文
posted @ 2011-09-21 10:54 Tekkaman 阅读(1437) 评论(3) 推荐(1)
 

2011年9月20日

摘要: 【正在研究的书】【后续研究的书】 《Predicate Programming Guide》 《Core Data Programming Guide》 《Core Data Model Versioning and Data Migration Programming Guide》 《Core Data Utility Tutorial》【已经研究完的书】 《iPhone人机界面指南》 《Cocoa 是什么?》 《基于Objective-C的面向对象编程》 《[iOS]_[Objective-C简介]》 《Learning Objective-C》 《iOS技术概述》 ... 阅读全文
posted @ 2011-09-20 17:17 Tekkaman 阅读(2102) 评论(2) 推荐(1)
 
摘要: 【iOS三种应用程序风格】1、效率型应用程序 具有组织和操作具体信息的功能。效率型应用程序通常用于完成比较重要的任务。邮件是效率型应用程序的典型例子。 效率型应用程序中的典型的用户交互模型通常包含:组织列表从列表中添加和删除逐步细化信息直到达到目标的详细级别,而后执行与该详细级别对应的任务 在众多类型的iPhone应用程序中,效率型应用程序最有可能在设置应用程序中提供用户可操作的选项或者设置功能。这是因为效率型应用程序工作中涉及到大量信息以及许多潜在的访问和管理方法。但是,需要强调的是,用户很少需要改变这些设置,所以这里不应包含那些能够在主界面中更改的配置信息。 2、实用型应用程序 ... 阅读全文
posted @ 2011-09-20 15:58 Tekkaman 阅读(683) 评论(0) 推荐(0)
 
摘要: 【Cocoa Touch 开发框架】 UIKit为应用程序界面开发提供所需的类,包括创建、管理等。跟ApplicationKit相比,虽然用途一致,但从外观到实现都有很大不同。UIKit库所有类使用UI前缀,常见的有UIView、UIViewController之类。Foundation从名字也能看出点端倪,为程序开发提供了基础类,包括字符串、数组、文件系统操作等。【主要框架】 【框架列表】【官方中文资源】 《iPhone应用程序编程指南》/《iOS 应用程序开发指南》 http://www.apple.com.cn/developer/iphone/library/documentati.. 阅读全文
posted @ 2011-09-20 11:16 Tekkaman 阅读(1044) 评论(0) 推荐(0)
 

2011年9月9日

摘要: 1 #define MAXIMUM_FRAME_RATE 1202 #define MINIMUM_FRAME_RATE 303 #define UPDATE_INTERVAL (1.0 / MAXIMUM_FRAME_RATE)4 #define MAX_CYCLES_PER_FRAME (MAXIMUM_FRAME_RATE / MINIMUM_FRAME_RATE)5 - (void)gameLoop {6 static double lastFrameTime = 0.0f;7 static double cyclesLeftOver = 0.0f;8 double cur... 阅读全文
posted @ 2011-09-09 15:40 Tekkaman 阅读(532) 评论(0) 推荐(0)
 

2011年9月6日

摘要: 【敏捷开发宣言】1、个体和交互胜过过程和工具2、可工作的软件胜过面面俱到的文档3、客户协助胜过合同谈判4、响应变化胜过遵循计划核心:团队合作、可工作的软件、快速响应变化【敏捷修炼之道】 敏捷开发就是在一个高度协作的环境中,不断地使用反馈进行自我调整和完善【态度决定一切】 敏捷依赖人,而不是依赖于项目中的甘特图和里程表. 图表、集成开发环境或者设计工具,它们本身都无法产生软件,软件是从你的大脑中产生的.而且它不是孤立的大脑活动,还会有许多其他方面的因素:个人情绪、办公室的文化、自我主义、记忆力等.它们混为一体,态度和心情的瞬息变化都可能导致巨大的差别.【指责不能修复BUG】 世上最糟糕的... 阅读全文
posted @ 2011-09-06 19:22 Tekkaman 阅读(2002) 评论(0) 推荐(0)
 
摘要: 【Objective-C注意要点】1、没有C++中的bool值,对应的类型为BOOL,聚会为YES、NO.2、定义@interface Car{int m_nWeight;int m_nSpeed;}@property int m_nWeight;@proprety (readonly) int m_nSpeed;// 名字关联@property int speed;@synthesize speed = m_nSpeed;@end3、实现@implementation Car@synthesize m_nWeight;@synthesize m_nSpeed;@end4、调用[self se 阅读全文
posted @ 2011-09-06 18:20 Tekkaman 阅读(368) 评论(0) 推荐(0)
 

2011年7月15日

摘要: 1、交际圈子 穷人:喜欢走穷亲戚,穷人的圈子大多是穷人,也排斥与富人交往,久而久之,心态成了穷人的心态,思维成了穷人的思维,做出来的事也就是穷人的模式。大家每天谈论着打折商品,交流着节约技巧,虽然有利于训练生存能力,但你的眼界也就渐渐囿于这样的琐事,而将雄心壮志消磨掉了。 富人:最喜欢交那种对自己有 阅读全文
posted @ 2011-07-15 17:07 Tekkaman 阅读(611) 评论(1) 推荐(3)
 

2011年6月28日

摘要: 【People And Roles】1、Contributor(平台开发者) 一个平台开发者是为AOSP源码做贡献的人,包括谷歌员工或其它公司的员工,以及正在为android贡献的杰出开发者。他们使用同样的工具(git、repo和gerrit),遵循同样的code-review流程在代码循环上有同样的要求。2、Developer(应用开发者) 一个应用开发者是一个编写运行在android设备上应用程序的工程师。实际上,平台开发者和应用开发者在技术集合上没有差别,但AOSP使用这两个称呼来区别使用android平台的人和做贡献android平台的人。3、Verifier(检验者) 一个检验者负责 阅读全文
posted @ 2011-06-28 11:38 Tekkaman 阅读(782) 评论(0) 推荐(1)
 

2011年6月22日

摘要: 【Linux Operating System Initial】1、将硬件细节与程序员隔离开来、同时提供一个简洁的命名文件方式的程序,就是操作系统。2、操作系统的作用是为用户提供一台等价的扩展计算机,或称虚拟机,它比低层硬件更容易编程。3、为了使同一个程序在所有不同的UNIX系统上都能运行,IEEE拟定了一个UNIX的标准,称作POSIX,该标准现在被大多数UNIX支持。POSIX定义了相互兼容的UNIX系统必须支持的一个最小的系统调用接口,实际上,一些其他操作系统现在也支持POSIX接口。4、在许多操作系统中,除进程地址空间以外的所有信息均存放在操作系统管理的一张表中,称为进程表。5、一个( 阅读全文
posted @ 2011-06-22 15:32 Tekkaman 阅读(581) 评论(0) 推荐(1)
 

2011年6月18日

摘要: 【细数Android系统9大缺陷】1、Android系统手机泄密 信息时代很严重2、不支持关机闹铃 与用户需求严重背离3、拨号后自动挂断电话 通话BUG频繁出现4、对硬件配置要求高 制造成本增加5、系统偷跑流量 流量流失情况惊人6、系统费电严重 安卓手机续航不足7、死机现象频现 Android系统普遍存在8、系统“智商不高”计算器不会计算9、短信功能也bug 随机乱发惹人烦 阅读全文
posted @ 2011-06-18 11:59 Tekkaman 阅读(949) 评论(0) 推荐(2)
 

2011年6月16日

摘要: 【红黑树】 【性质】 性质1.节点是红色或黑色。 性质2. 根是黑色。 性质3 每个叶节点是黑色的。 性质4 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点) 性质5. 从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。【为什么平衡】 要知道为什么这些特性确保了这个结果,注意到性质4导致了路径不能有两个毗连的红色节点就足够了。最短的可能路径都是黑色节点,最长的可能路径有交替的红色和黑色节点。因为根据性质5所有最长的路径都有相同数目的黑色节点,这就表明了没有路径能多于任何其他路径的两倍长。 阅读全文
posted @ 2011-06-16 12:27 Tekkaman 阅读(538) 评论(0) 推荐(1)
 

2011年6月13日

摘要: 【App的六种UI元素】 1、Notification 2、Layout 3、Widget 4、Dialog 5、Toast 6、Menu【图解】 阅读全文
posted @ 2011-06-13 10:05 Tekkaman 阅读(1725) 评论(2) 推荐(1)
 

2011年6月10日

摘要: 【The AndroidManifest.xml File】 每一个应用程序必须有有一个AndroidManifest.xml文件(精确使用这个名字)在它的根目录。manifest文件展现给Android系统基本的程序信息。manifest文件做以下事情: 1、它命名了此应用程序的Java包。包名用来惟一标识应用程序。 2、描述应用程序组件--activities、services、broadcast receivers和content providers。它给出每个组件的名字和他们的能力(哪个Intent消息它们可以处理)。这些声明让Android知道哪个组件可以被启动以及在何时被启动。 3 阅读全文
posted @ 2011-06-10 19:59 Tekkaman 阅读(952) 评论(0) 推荐(1)
 

2011年6月9日

摘要: 【Processes and Threads】 当一个应用程序组件开始,应用程序没有任何组件在运行,Android系统开启一个新Linux进程为应用程序伴随一个单独的执行线程。默认,所有同一个进程所有组件运行在同一个进程 和线程(称为主线程)。如果一个应用程序组件开启并且已经有一个那个应用中程序的进程(因为另一个这个应用程序的组件存在),那么组件使用同一个线程。可是,你可以安排不同的组件在你的应用程序里运行在不同的进程,并且你可以为任何进程创建线程。【Processes】 默认,同一应用程序的所有组件运行在同一个进程,大多数应用不应当改变这点。可是,如果你发现你需要控制哪一个组件属于哪一个进程 阅读全文
posted @ 2011-06-09 12:04 Tekkaman 阅读(1134) 评论(0) 推荐(1)
 
摘要: 【Creating a Content Provider】 要建立一个content provider,你必须: 1、建立一个系统来存储数据。大多数content providers存在他们的数据使用Android的文件存在方法或SQLite数据库,但你可以存储你的数据你希望的任何方法。Android提供 SQLiteOpenHelper类来帮助你建立一个数据库和SQLiteDatabase来管理它。 2、扩展ContentProvider类来提供数据的访问。 3、声明content provider在manifest文件为你的应用程序(AndroidManifest.xml)。 下面的部分有 阅读全文
posted @ 2011-06-09 10:03 Tekkaman 阅读(1190) 评论(0) 推荐(1)
 
摘要: 【Content Providers】 Content Providers存储和取得数据,以及让它对所有应用程序可见。这是惟一的跨应用程序共享数据的方法;没有一个所有Android包都能访问的公共存储区域。 Android整理了一大堆content provider给公共数据类型(音频、视频、图像、联系人信息等待)。你能看见他们中的一些在android.provider包中。你能查询providers拥有的数据(虽然,有一些,你必须获取合适的权限来读取数据)。 如果你希望做你自己的数公共数据,你有两个选项:你可以创建你自己的content provider(一个ContentProvider子 阅读全文
posted @ 2011-06-09 09:22 Tekkaman 阅读(14192) 评论(5) 推荐(3)
 

2011年6月8日

摘要: 【Creating a Bound Service】 一个绑定service允许组件通过bindService()绑定它,为了建立一个长期存在的连接(通常不允许组件使用startService()启动)。 你应该建立一个绑定的service当你希望和service交互从activity或你应用程序的其它组件或者暴露应用程序的功能给其它应用程序,通过IPC。 为了创建一个绑定service,你必须实现onBind()回调方法来返回一个IBinder,定义了和service的交互接口。其它应用程序组件能调bindService()来取得接口,然后开始调用service中的方法。service存活于 阅读全文
posted @ 2011-06-08 20:13 Tekkaman 阅读(2220) 评论(0) 推荐(2)
 
摘要: 【Services】 一个Service是一个应用程序组件,它能完成长时间运行的操作在后台,并且不提供用户接口。另一个应用程序组件能开启一个service并且它将继续运行在后台即使用户转换到另一个应用程序。额外的,一个组件可以被绑定到一个service来和它交互甚至完成进程间通信。例如,一个service可能操作网络带伤、播放音乐、执行I/O或和一个content provider交互,所有这些都是在后台进行。 一个service主要有两个用途: 1、Started 一个service被开启当一个应用程序组件(例如activity)用startService()开启它。一旦开启,一个servi 阅读全文
posted @ 2011-06-08 14:32 Tekkaman 阅读(8223) 评论(0) 推荐(2)
 

2011年6月7日

摘要: 【Managing the Activity Lifecycle】 管理你的activity的生命周期通过实现回调函数非常关键对开发一个健壮和有弹性的应用程序。一个activity的生命周期直接被与其相关联的其它activity影响,task和bask stack。 一个activity可以存在于主要的三种状态: 1、Resumed activity在前景并且拥有用户焦点。(这个状态有时也叫”running“) 2、Paused 另一个activity在前景并且拥有用户焦点,但这个仍然可见。也就是说,另一个activity可见在这个的上面,当前activity部分透明或没有覆盖整个屏幕。一个p 阅读全文
posted @ 2011-06-07 21:33 Tekkaman 阅读(3943) 评论(4) 推荐(3)
 
摘要: 【Activity】 一个Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务,例如拨号、拍照、发送email、看地图。每一个activity被给予一个窗口,在上面可以绘制用户接口。窗口通常充满屏幕,但也可以小于屏幕而浮于其它窗口之上。 一个应用程序通常由多个activities组成,他们通常是松耦合关系。通常,一个应用程序中的activity被指定为"main"activity,当第一次启动应用程序的时候呈现给用户的那个activity。每一个activity然后可以启动另一个activity为了完成不同的动作。每一次一个activity启动 阅读全文
posted @ 2011-06-07 14:21 Tekkaman 阅读(77114) 评论(8) 推荐(8)
 
摘要: 【Application resources】 一个Android应用不仅仅由代码组件-它要求独立于代码的资源,例如图像、音频文件以及任何涉及到应用程序视觉表达的东西。例如,你可以定义动画、菜单、颜色、以及activity用户接口的布局用XML文件。使用应用程序资源使得它很容易你应用程序的多变的特性而不需要修改代码并且能过提供一系统可选的资源,使得你能优化你的应用程序为一各种不同的设备配置(例如不同语言和不同屏幕大小)。 每一个引入你应用程序的资源,SDK编译工具定义一个惟一的整数ID,你可以用来引用资源从你的应用程序代码里或定义在XML中的其它资源。例如,如果你的应用程序包含一个图像文件名字 阅读全文
posted @ 2011-06-07 09:54 Tekkaman 阅读(1224) 评论(0) 推荐(1)