[周年]何必把伤怀举得太高

何必把伤怀举得太高

又到这个时候,四月一号是愚人节,四月一号是哥哥忌日。四月一号是我离开校园的日子,四月一号。不知道从什么时候开始,带有着浓浓的纪念意味。在我印象中,往前的所有愚人节,被最好的朋友在这天忽悠过,被姐姐在这天骗得死去活来,被最好的同学在这天骗到暴雨中等了几小时。而我那么多年来 连蚂蚁都没骗成。细细数来,一年之中太多太多值得纪念的日子。各种纪念日就成了我各种奢侈的借口,但一年之中  只这天最特别。今天应该伤感一把。就为逝去的哥哥 逝去的青春  逝去的一年。那就写一些随意的东西吧 算是一种意义上的自我反省。

很多很多的时候,我总是在思考着很多没有答案的问题,从各种不可思议的角度,难过的事情说服自己遗忘,幸福的事情说服自己淡然  总觉得自己活在一个陌生的环境  很多时候发现原来对某事的看法又改变了。
继续阅读“[周年]何必把伤怀举得太高”

[Air For Android Of ANE]运营商登录付费接入ANE打包心得

前缀:

关于什么是ANE,如果您都能搜索到这篇文章的话  相信已经不用我过多介绍了。但是还是会发一篇基础教程:点我传送

项目进行到了接入运营商的阶段。而国内除了91等几家声名显赫的运营商会提供已经做好的ANE给ADOBE 的移动开发者之外。其他的运营商一般只会提供IOS封装库 或者是Android 的JAR 封装库。这对于Air For Android 开发的移动应用来说。接入这些运营商就需要应用开发者自己实现ANE。

这几天一直在做android运营商的接入。这里就先把这几天的心得先发上来。大概下一次就会把Air For IOS Of ANE 的心得一并发在这里。

针对Android的ANE打包:

配置JAVA android开发环境 配置各自系统变量等略过。

首先说说我这次拿到运营商提供的JAR库的结构。(如果你拿到的SDK组成和我这次的大同小异,那你可以看完省很多弯路  如果你拿到的SDK比我拿到的复杂 那你仅仅可以参考其中的一些资源打包等方法。很多情况还是有不同的)

我这次运营商提供的有 :

A.JAR库文件一个;

B.还有布局文件库(res文件夹下的一堆UI布局文件);

C.原生android写的DEMO一个;

D.开发文档若干;
继续阅读“[Air For Android Of ANE]运营商登录付费接入ANE打包心得”

[Air For Android]Air安卓下渐变图片显示变色解决方式

疑似BUG:

在原生的FLASH下(非Starling 非Stage3D ),在原生CPU渲染下,AIR3.5以下(更高的没有试),加载显示具有渐变或者半透明的 矢量图的时候,特别是在位图贴在位图上的情况下,容易发现变色。具体显示错乱的图片看下图。

解决方式:更改渲染模式。

默认的显然模式是:

this.blendMode = BlendMode.NORMAL;

只要把重叠模式改为叠加,就可以解决:

this.blendMode = BlendMode.ADD;

[AGAL个人笔记]第六篇:重新组织矩阵

翻译这套教程拖了两月了,最近的确散漫了一点,还经常用工作忙而当借口去说服自己,其实这样下去不好。当意识过来的时候发现已经三月份了。

最近越来越意识到做事情不能给自己挖坟。事情应该有始有终。

每天都干一两件自己想干但是又怕累的事情。(今年原文博客已被墙

原文:Stage3D / AGAL from scratch. Part VI – Organise your Matrices

eg.如果你E文不错的话  还是看E文比较带劲。本人E文非常烂,若有偏差请指出。

重新组织矩阵:

在前面的教程中,我们使用了矩阵在GPU上绘制三角形,

我的翻墙软件被封了。。哎 看来要停一停了又

2013开年寄语:我是刺客

2013开年寄语:我是刺客

回顾末日:

再次打开博客的时候,2012已经过去了,时间过得好快好快,在2012年的时候,我不太顺利但是成功的毕业了,不太顺利但是成功的就业了,不太顺利但是成功的活下来了,这一切都得益于过去的一年所积攒的所有运气,回顾过去的一年里,经历的事情一波接一波  把过去22年的大事小事全部比拉下了。

虽然现在说起来其实都是一些小事情  但是在经历的过程中的心里起伏难以用今天的心态来衡量。

还记得2012年开年的时候  我在跨年写下的寄语  当时还在象牙塔内,当时的感觉是一腔热血无处撒,心里空荡半朵花。当时犹然的心情现在依稀记得,在那个时候我希望自己能快快成长起来  最起码不迷路。现在一年过去了  再回头看看自己的成长  其实虽然达不到预期  但是也有一些惊奇的部分。

这应该算是无心插柳柳成荫 有心栽花花不开吧。

今年做了几道与工作或者生活有关的选择题,在选答案的时候 发现自己犹豫不决 举棋不定。这应该是算在2012年 新进发现的自己的弱点,这应该是必须要克服的问题了。写在这里 也是算谨记。

今年做的一个项目将会做到2013,算是跨年项目了  之前没有人从事过这种类型的项目  起码身边的人没有  这应该是算一个非常冒险的事情   这应算是2012变数最大的事情了。回想2012  当时喊出的那句 “我是要成为海贼王的男人” 还在内心回荡。

好了 过去一年的时间流水账啰嗦完  接下来谈谈2013.

2013将会有什么机遇呢?

今年看到一组手绘,主题是关于刺客信条的,描绘的是关于刺客的故事  这个故事深深感染了我,刺客,决胜片刻之间.勇于冒险 敢于投资 不怕风险。因为该失去的都失去了 就无所谓再失去什么了 心无顾忌。

刺客的精神让我回想我的生活  我的工作  我一路的历程,如果2012是用路飞的话大胆喊出自己的梦想,那2013 我希望自己能成为一个刺客。想刺客一样无所顾忌的走过2013.

简短而精炼 但是我想足够了。新年快乐。

Rect (kong)

2013-1-6 in ShenZhen

末日既是开始

今天的日子有点特殊,虽然在我看来仅仅是一个加班到11点的普通日子。

但是既然全民期望的末日到来了,也忍不住写点东西。在几个月以前 我还参与过一个关于末日的游戏项目。

可惜那个项目最终没能走向市场,否则肯定会火上一把。

其实我是不相信有末日的存在,即使存在 那也是由自己一手造成的属于自己的末日。

地球没了任何一个人都会照样转,海啸 地震 泥石流也灭不了那么多的人。虽然它们近年来愈发猖獗。

最近的工作不知不觉中忙了起来,每天都在干着之前没有做过的事情。

等项目过了这一阵 没那么忙后  应该停下来好好总结过去几个月的东西,毕业之后几个月的工作留给我的是什么?

总会有一些东西 能陪我走向未来的工作中的。

这个周末 将会毕业后第一次 回去我的大学  我的第二个故乡。

其实我很喜欢很喜欢我的大学 虽然它无论在我一直的好朋友眼里 还是我亲戚眼里 还是我高中的老师眼里  都是一个不足以称道的地方。

但是这阻挡不了 我对它的思念与喜欢。

我从来没有后悔过我的选择,末日既是开始

[AGAL个人笔记]第五篇:片段(索引 Indexes )和淘汰模式(译)

原文:Stage3D / AGAL from scratch. Part V – Indexes and culling mode

eg.如果你E文不错的话  还是看E文比较带劲。本人E文非常烂,若有偏差请指出。

索引用于什么地方?

在前面的文章中,介绍了索引 和索引缓冲,我把索引缓冲比喻成连线游戏中的数字,在屏幕上渲染图形的时候,显卡需要知道如何画三角形

例如有8个顶点,想象成构建一个8个顶点的立方体,如果仅仅是给出8个顶点数据,而没有进一步的指令编码,那显卡根本不知道你想画啥

可能你想渲染出一个封闭的四方盒子,但也许你是想画一个开盖的四方盒子,有也许你想打开四方盒子中的两面。。。

索引就是你想 根据顶点画图形的步骤  或者说是顺序,绘画方案 总之一个意思。索引告诉显卡怎么在顶点上画画 顶点告诉显卡在那里画画。就是这样~

在渲染三角形的过程中 可能会用到同一个顶点多次,无论在显卡中渲染什么图形,索引缓冲的长度(并非顶点)的都必须是3的倍数,因为我们能渲染的最简单的物品是三角形嘛。。然后其他全部都由一个一个三角形组成。
继续阅读“[AGAL个人笔记]第五篇:片段(索引 Indexes )和淘汰模式(译)”

[AGAL个人笔记]第四篇:加入深度(译,Z轴也叫深度坐标)

原文:Stage3D / AGAL from scratch. Part IV – Adding some depth

eg.如果你E文不错的话  还是看E文比较带劲。本人E文非常烂,若有偏差请指出。

关于Z轴的解释(角度理解)

Stage3D,我认为这是3D的技术,但是为什么我们在上一节并没有用到Z轴坐标呢?如果你在上一节我分析代码的时候也跟着下载源码来编译,并且尝试修改其中的坐标看效果的话,你就会发现  没用(X,Y,Z,r,g,b)顶点中的Z数值,Z轴有何作用呢,下面我将解释。

——3D场景在2D中渲染,渲染出的区域叫做Clipspace(这个应该翻译为锥体裁剪之后的空间,还是投影变换后的空间?),CLIPSPACE(剪切空间)是屏幕的基础,屏幕上的每一个点 都会被映射到CLIPSPACE(剪切空间),然后才能被显示出来。(这个CLIPSPACE(剪切空间)就是这么一个东西   不理解没关系 如果要深入理解麻烦去找本计算机图形学)。

——之前说的屏幕坐标(X,Y,Z)每一个数值都是在闭区间[-1,1]其实表述并不完全正确,更准确的解释是,X,Y,Z 只有在闭区间[-1,1]的时候  才能映射在CLIPSPACE(剪切空间)上(也就是说 你所能看到的程序窗口大小 即为CLIPSPACE有效大小,所以我在之前也加了解释,坐标的有效数值是[-1,1],坐标可以取任何值)。
继续阅读“[AGAL个人笔记]第四篇:加入深度(译,Z轴也叫深度坐标)”

[AGAL个人笔记]第三篇: Hello Stage3D`s World(部分为翻译)

原文:Stage3D / AGAL from scratch. Part III – Hello Triangle

eg.如果你E文不错的话  还是看E文比较带劲。本人E文非常烂,若有偏差请指出。

国内的大牛FlashChe也有一篇类似的基础文章,传送门在上一篇开头。

让我们开始吧

在开始编码之前请确认你已经读过第一篇与第二篇,并且都已经理解其中的原理。

你可以先下载[源码]自行编译一遍,以确认你的硬件与编译环境可行。

这篇文章将会带您一起在GPU中渲染出第一个三角形图形,其中会涉及到一点点的关于AGAL的代码,仅仅几句而已非常容易理解,如果你汇编学得不错的话 那你一眼就能看明白,即使你的汇编非常的糟糕那也没关系  我将会一句一句的解释它。(后面这句我加的)稍微再解释一下顶点在GPU上渲染三角形的作用,所谓的顶点“Vertex”其实可以理解为内存中的指针,三个顶点确定一个三角形的形状和位置,正是依靠这三个”指针” ,GPU才能在指定位置画图, 继续阅读“[AGAL个人笔记]第三篇: Hello Stage3D`s World(部分为翻译)”

[AGAL个人笔记]第二篇: Stage3D程序原理解剖(译)

原文:Stage3D / AGAL from scratch. Part II – Anatomy of a Stage3D Program

eg.如果你E文不错的话  还是看E文比较带劲。本人E文非常烂,若有偏差请指出。

国内的大牛FlashChe也有一篇类似的基础文章:传送门

也有7yue写的一篇PPT“深入Stage3D

Stage3D程序基础分析:

在我们编写第一个三角形程序之前,先粗略的了解下Stage3D程序的基本结构,这种结构也适用于其他底层3D编程和webGL编程。(WebGL是一种3D绘图标准,这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起)

在使用底层3D API的时候,你必须知道一些硬件知识(作者指的是上一篇末尾的内容),例如V-RAM是你的显卡内存,而缓存区则是显卡内存中的一部分。

在渲染三角形的时候,你必须提供几个顶点(Vertices)(所谓的顶点其实就是指向缓存区的“指针”)给程序,然后程序通过顶点把三角形在屏幕上渲染出来。

其中还没有说的是索引(Indexes),索引的作用其实就是 连接顶点绘制出三角形。(顶点与索引的关系 按照我的理解应该是 顶点指明位置 索引负责在指定位置画画)。

继续阅读“[AGAL个人笔记]第二篇: Stage3D程序原理解剖(译)”