工作中遇到的问题和解决办法.
摘要:获取perforce客户端最后一次sync的changelist, 前提是中间没有任何代码提交:http://stackoverflow.com/questions/47007/determining-the-last-changelist-synced-to-in-perforce试了一下,相对路径没有输出. 绝对路径可以.比如:p4 changes -m1 //depot/game_code/library/...#have>> Change 333 on 2013/11/12 by johndoe@anycom ' comments '只要//depot/ga
阅读全文
摘要:转自:http://www.ifanr.com/131333OpenGL ES 3.0 带来很多新特性,根据 AnandTech 的解释:支持更多缓冲区对象。在 OpenGL ES 2.0 时中,缓冲区对象的规范有模糊之处。名字一样缓冲区对象,在实际渲染中对表现却有细微的差别。针对这个问题 OpenGL ES 3.0 制定了更详细对格式规范。新版 OpenGl ES 还增加对 Uniform Buffer Object 的支持;新版 GLSL ES 3.0 着色语言,支持 32 位整数和浮点数据类型以及操作。之前版本的着色语言只支持精度更低的,这样虽然能够加快计算的速度,所需的资源也更少,但当
阅读全文
摘要:之前sem_open在iOS上, 创建命名的semaphore没有问题 (iOS不支持匿名的semaphore), 但是现在Android平台的sem_open时候报错,返回ENOSYS.命名的semaphore因为有名字,可以在不同进程间访问,幸好我这里不需要进程间共享和通信, 直接使用匿名semaphore也可以. (貌似匿名的semaphore也可以通过mmap实现进程共享和通信.但目前没有需求).使用sem_init 和 sem_destroy代替 sem_open和 sem_close, 问题解决.
阅读全文
摘要:由于没有使用NDK的makefile, 而是把NDK的toolchain集成到现有的build system,所以出现了诡异的错误:unsupported dynamic reloc R_ARM_REL32; recompile with -fPIC.stackoverflow上有个类似问题, 说把...
阅读全文
摘要:前两天同事跟我说了下CEGUI的字体优化,主要思路是它一次创建了256个字的纹理,太慢太浪费。改成单个字的删格化就好了。另外我考虑到0-255这些ASCII字符的使用频率,就单独把这一页的字符一次性创建出来了。呵呵。今天做好了,今天他又说到了渲染优化方法。原理很单,就是不用每帧都渲染UI,把它单放到一个BackBuffer里面,类似windows的invalidate 和paint,如果UI系统不...
阅读全文
摘要:在加入了CEGUI之后,编辑器的MFC推退出时报了一大堆内存泄露.目前模块架构是这样 客户端和编辑器共享一个SharedDLL,CEGUI的dll连接在这个DLL中.问题是在编辑器根本没有调用CEGUI的初始化,何来的内存泄露呢,最后我想到了,是CEGUI中的静态变量,(很多static const String)分配的内存.他的内存分配模式显然跟MFC自己的不一样.而DLL的卸载顺序是MFCDL...
阅读全文
摘要:以前做项目的时候,因为没有经验,发现UI焦点和游戏控制总是发生冲突.只是当时没有考虑到这一点.现在做这个项目,有经验的大哥首先就能想到这一点并且说应该怎么做.呵呵,有经验的确实不一样啊. 现在实现GB里面的UI拦截,我的实现方法是给NiInputDI8Keyboard和NiInputDI8Mouse加入CallBackObject,这样就可以把键盘事件注入CEGUI.同时可以加上事件拦截,通过回调...
阅读全文
摘要:最近的工作是把CEGUI加入GB,刚开始使用CEGUI默认的渲染器,因为不受GB的RenderState控制,所以影响到其他的渲染过程.后来改成GB的RenderState控制,UI没有了(可以看到刚开始闪了一下).经过同事的帮忙调试,最后发现是SetFVF的问题.因为其他地方还没有用到直接设置FVF的,所以在设置了一次之后,以后的设置都无效了,GB判断跟当前FVF设置一样,所以跳过了.但是设备的...
阅读全文