游戏人生

不积跬步,无以至千里;不积小流,无以成江海。

导航

2015年6月18日 #

E3: PS4/PC 莎木3 众筹200万美元 9小时内达成

摘要: 这次E3任天堂没有新掌机(传说中的XDS呢.呵呵)和口袋的消息, 被喷得很严重, 索尼的FF7重制版和莎木3是亮点.而莎木3的众筹速度据说创了记录, 玩家的情怀大胜. 笔者看到国内也有赞助几十刀的玩家来着. 据说200万美元对于本次开发来说远远不够, 而这次众筹就是为了测试玩家情怀, 以增加投资商信... 阅读全文

posted @ 2015-06-18 11:32 crazii 阅读(208) 评论(2) 推荐(0) 编辑

2015年5月18日 #

[原] blade中C++ singleton的实现

摘要: 遵循C++03标准的, 可移植的, 更可控的singleton模板的实现. 阅读全文

posted @ 2015-05-18 19:20 crazii 阅读(1123) 评论(2) 推荐(0) 编辑

[百度空间] [转] 四元数(Quaternions)

摘要: dual quaternion的基础知识 阅读全文

posted @ 2015-05-18 19:05 crazii 阅读(578) 评论(0) 推荐(0) 编辑

[百度空间] [原]DLL导出实例化的模板类

摘要: 因为模板是在编译的时候根据模板参数实例化的,实例化之后就像一个普通的类(函数),这样才有对应的二进制代码;否则,没有模板参数,那么编译器就不知道怎么生成代码,所以生成的DLL就没有办法导出模板了.但是根据MSDN的描述,可以导出模板类的实例化后的代码(注意:这里不是指实例化模板类的一个对象),比如 ... 阅读全文

posted @ 2015-05-18 19:04 crazii 阅读(883) 评论(0) 推荐(0) 编辑

[百度空间] [转]DLL地狱及其解决方案

摘要: DLL地狱及其解决方案原作者:Ivan S Zapreev译者:陆其明概要本文将要介绍DLL的向后兼容性问题,也就是著名的“DLL Hell”问题。首先我会列出自己的研究结果,其中包括其它一些研究者的成果。在本文的最后,我还将给出“DLL Hell”问题的一个解决方案。介绍我曾经接受过一个任务,去解... 阅读全文

posted @ 2015-05-18 19:03 crazii 阅读(349) 评论(0) 推荐(0) 编辑

[百度空间] [转+原]虚析构函数

摘要: 析构函数何时该时虚拟的? 当你可能通过基类指针删除派生类对象时。 虚函数绑定到对象的类的代码,而不是指针/引用的类。如果基类有虚析构函数,delete basePtr时(译注:即基类指针),*basePtr 的对象类型的析构函数被调用,而不是该指针的类型的析构函数。这通常是一件好事情。以上摘... 阅读全文

posted @ 2015-05-18 19:02 crazii 阅读(175) 评论(0) 推荐(0) 编辑

[百度空间] [转]程序员趣味读物:谈谈Unicode编码

摘要: 出处:CSDN [ 2005-05-13 10:05:53 ] 作者:fmddlmyy这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级。整理这篇文章的动机是两个问题: 问题一: 使用Windows记事本的“另存为”,可以在G... 阅读全文

posted @ 2015-05-18 19:01 crazii 阅读(191) 评论(0) 推荐(0) 编辑

[百度空间] [转]内存屏障 - MemoryBarrier

摘要: 处理器的乱序和并发执行目前的高级处理器,为了提高内部逻辑元件的利用率以提高运行速度,通常会采用多指令发射、乱序执行等各种措施。现在普遍使用的一些超标量处理器通常能够在一个指令周期内并发执行多条指令。处理器从L1 I-Cache预取了一批指令后,就会分析找出那些互相没有关联可以并发执行的指令,然后送到... 阅读全文

posted @ 2015-05-18 19:00 crazii 阅读(531) 评论(0) 推荐(0) 编辑

[百度空间] [原]再谈静态变量的初始化顺序

摘要: 有一段时间我被静态变量的初始化顺序搞的焦头烂额,因为我用了singleton的懒惰初始化(lazy initialization)方式,即不需要显式创建singleton,在getsignleton的时候自动创建,并且在最后销毁对象..比如singleton使用了内存分配对象,如果这个对象先于sin... 阅读全文

posted @ 2015-05-18 18:57 crazii 阅读(221) 评论(0) 推荐(0) 编辑

[百度空间] [原]CImageList支持32位透明位图

摘要: 32位的位图主要是包含Alpha值(0-255)可以有半透效果的.之前用FreeImage加载 的DIB, CImageList直接绘制会有黑色背景.即便用了ILC_MASK,也创建了mask map, 这种是旧式的图标/光标透明效果,遮罩透明, 没有alpha通道和渐变,效果仍然很差.所以以前的t... 阅读全文

posted @ 2015-05-18 18:56 crazii 阅读(911) 评论(0) 推荐(0) 编辑

[百度空间] [原] Empty base class optimization

摘要: 最近遇到了一个诡异的问题, 数组的数据不对, 最后发现是两个类型的大小不一样导致的.123456789101112131415161718192021222324classalloc{public:void* operatornew(size_tn){...}voidoperatordelete(v... 阅读全文

posted @ 2015-05-18 18:54 crazii 阅读(245) 评论(0) 推荐(0) 编辑

[百度空间] --whole-archive & --no-whole-archive

摘要: What is it?backgorund:an archive file (.a) is similar as .lib compared to Winodws. it simply contains object files. Creating an archive file is not "l... 阅读全文

posted @ 2015-05-18 18:51 crazii 阅读(1285) 评论(0) 推荐(0) 编辑

[百度空间] [原]android下的各种坑

摘要: 一堆so文件安装不正确:apk里面都是全的, 但是安装完后/data/data/$pkg/lib下面就没有google了好长时间没有结果.最后发现是因为没库有加lib前缀(当时想了一下觉得不加更好,更合胃口)....现在加上lib前缀OK了.怀疑package manager在安装apk的时候把所有... 阅读全文

posted @ 2015-05-18 18:49 crazii 阅读(181) 评论(0) 推荐(0) 编辑

[百度空间] ld: add library file reference by path & file name

摘要: By default, -l option will search libraries with lib* prefix in speficied search paths.i.e.1ld -o a.out -lA cppmain.owill search libA.so/libA.a in all... 阅读全文

posted @ 2015-05-18 18:48 crazii 阅读(209) 评论(0) 推荐(0) 编辑

[百度空间] [原] 全局operator delete重载到DLL

摘要: 由于很久没有搞内存管理了,很多细节都忘记了今天项目要用到operatordelete重载到DLL,发现了问题,网上搜索以后,再对比以前写的代码,发现了问题:原来MSVC默认的operatornew(size_t)和operatordelete(void*)虽然可以重载,但是不能封装到DLL中,编译会... 阅读全文

posted @ 2015-05-18 18:46 crazii 阅读(321) 评论(0) 推荐(0) 编辑

[百度空间] [原]基于内存生命周期的内存管理

摘要: 如果根据声明周期划分的话,内存可以大至划分为3类1.静态内存2.临时内存3.普通内存静态内存的特点是,程序开始(通常是初始化期间)分配的,而后就不会释放,直到程序结束,典型的如singleton,相信还有很多类,其实例只会被分配一次,而且理论上,生存期是贯穿整个程序的.临时内存的特点通常如下:voi... 阅读全文

posted @ 2015-05-18 18:45 crazii 阅读(229) 评论(0) 推荐(0) 编辑

[百度空间] [原]MFC杂乱笔记

摘要: 1.创建动态菜单假如ID是动态分配的,那么重载virtual BOOLOnCmdMsg(UINT,int,void*,AFX_CMDHANDLERINFO*);据MSDN不详细解释,当第二个参数值为CN_COMMAND时,是执行Command的消息,不过要看最后一个参数,如果最后一个参数为空,则为真... 阅读全文

posted @ 2015-05-18 18:44 crazii 阅读(182) 评论(0) 推荐(0) 编辑

[百度空间] [note] pointer to member is a POD type

摘要: C++03 3.9-10:1Arithmetic types (3.9.1), enumeration types, pointer types, and pointer to member types (3.9.2), and cv-qualified versions of these type... 阅读全文

posted @ 2015-05-18 18:43 crazii 阅读(216) 评论(0) 推荐(0) 编辑

[百度空间] [原]跨平台编程注意事项(三): window 到 android 的 移植

摘要: 大的问题先记录一下跨平台时需要注意的大方向.1.OS和CPU同一个操作系统, CPU也可能是不一样的, 比如windows也有基于arm CPU的版本,而android目前有x86,arm,mips几种.即便是同一种CPU架构系列, 细节特性也不一样.所以目前个人准备了3个宏开关来判断目标平台. O... 阅读全文

posted @ 2015-05-18 18:41 crazii 阅读(1341) 评论(0) 推荐(0) 编辑

[百度空间] [原]跨平台编程注意事项(二): windows下 x86到x64的移植

摘要: 之前转的:将程序移植到64位Windows还有自己乱写的一篇:跨平台编程注意事项(一)之前对于x64平台的移植都是纸上谈兵,算是前期准备工作,但起码在写代码时,已经非常注意了.所以现在移植起来相对很顺利.昨天用了一天时间把自己代码添加了x64支持.贴一下遇到的问题,就作为注意事项吧,以下文字来自我的... 阅读全文

posted @ 2015-05-18 18:40 crazii 阅读(662) 评论(0) 推荐(0) 编辑

[百度空间] [原]跨平台编程注意事项(一)

摘要: 好久没有写东西了,先写一点,以后再扩充.1.使用平台编译器预定义的宏.比如在windows下,有这样一个宏WIN32.或者_WIN32.linux下有__linux__等等.比如OGRE的OgrePlatform.h中的定义:#if defined( __WIN32__ ) || defined( ... 阅读全文

posted @ 2015-05-18 18:38 crazii 阅读(914) 评论(0) 推荐(0) 编辑

[百度空间] [转]将程序移植到64位Windows

摘要: from :http://goooder.bokee.com/2000373.html(雷立辉 整理)简介:本文对如何将32位Windows程序平滑的支持和过渡到64位Windows操作系统做出了一个简单而系统的介绍。包括对于64位操作系统的版本,编程模型,一些移植原则甚至包括对驱动程序的移植原则的... 阅读全文

posted @ 2015-05-18 18:35 crazii 阅读(1014) 评论(0) 推荐(0) 编辑

[百度空间] [转]关于Direct3D多窗口编程的一篇翻译

摘要: IntroductionIn DirectX 8, support for rendering to multiple windows is provided through the creation of additional swap chains. However, there are cur... 阅读全文

posted @ 2015-05-18 18:34 crazii 阅读(356) 评论(0) 推荐(0) 编辑

[百度空间] [转] 在 Visual C++ 中控制全局对象的初始化顺序

摘要: from:http://blog.csdn.net/classfactory/archive/2004/08/07/68202.aspx在 C++ 中,同一个翻译单位(.cpp文件)里的全局对象的初始化顺序是先定义的对象先初始化(同时也后析构),但 C++ 标准并没有规定不同翻译单位间全局对象的初始... 阅读全文

posted @ 2015-05-18 18:33 crazii 阅读(190) 评论(0) 推荐(0) 编辑

2015年5月15日 #

[工作积累] 32bit to 64bit: array index underflow

摘要: 先贴一段C++标准(ISO/IEC 14882:2003):5.2.1 Subscripting:1 A postfix expression followed by an expression in square brackets is a postfix expression. One of t... 阅读全文

posted @ 2015-05-15 19:55 crazii 阅读(277) 评论(0) 推荐(0) 编辑

2015年4月18日 #

[工作积累] bitfield

摘要: 64 bit IOS problem. 阅读全文

posted @ 2015-04-18 22:47 crazii 阅读(461) 评论(0) 推荐(0) 编辑

2015年4月6日 #

引擎设计跟踪(九.14.2i) Android GLES 3.0 完善

摘要: Android移植:最后一步 - GLES3.0 render device的实现, API的填充和shader适配. 阅读全文

posted @ 2015-04-06 20:01 crazii 阅读(1397) 评论(2) 推荐(0) 编辑

2015年3月15日 #

引擎设计跟踪(九.14.2h) 开发计划

摘要: 以后的开发计划:完善game runtime code, 跑简单的demo目前只有编辑器的运行流程, 没有游戏/demo流程, 图形的测试主要在编辑器上测试, 现在需要测试android系统的图形, 没有demo的话没办法测试.计划准备先在Windows下测试, 将Windows下的游戏流程跑起来,... 阅读全文

posted @ 2015-03-15 21:59 crazii 阅读(289) 评论(6) 推荐(0) 编辑

2015年2月14日 #

引擎设计跟踪(九.14.2g) 将GNUMake集成到Visual Studio

摘要: 跨平台的data pipeline整理和完善. 阅读全文

posted @ 2015-02-14 18:00 crazii 阅读(894) 评论(0) 推荐(0) 编辑

2015年1月23日 #

[工作积累] Android system dialog with native callback

摘要: native调用Java的dialog, 并接入native callback: onOK/onCancel. 阅读全文

posted @ 2015-01-23 10:16 crazii 阅读(541) 评论(0) 推荐(0) 编辑

2015年1月21日 #

[工作积累] Software keyboard not shown on Activity.onCreate

摘要: protected void onCreate (Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.setContentView(R.layout.input); ... 阅读全文

posted @ 2015-01-21 14:34 crazii 阅读(164) 评论(0) 推荐(0) 编辑

[工作积累] Android: Hide Navigation bar 隐藏导航条

摘要: https://developer.android.com/training/system-ui/navigation.html1 View decorView = getWindow().getDecorView();2 // Hide both the navigation bar and th... 阅读全文

posted @ 2015-01-21 14:33 crazii 阅读(22790) 评论(3) 推荐(0) 编辑

2015年1月12日 #

[工作积累] GCC 4.6 new[] operator内存对齐的BUG

摘要: Implementation defined数组内存模型和GCC4.6编译器的bug. 阅读全文

posted @ 2015-01-12 16:23 crazii 阅读(457) 评论(0) 推荐(0) 编辑

2015年1月11日 #

引擎设计跟踪(九.14.2f) 最近更新: OpenGL ES & tools

摘要: windows到android的移植: 渲染,shader和texture. 阅读全文

posted @ 2015-01-11 00:05 crazii 阅读(1346) 评论(10) 推荐(0) 编辑

2015年1月9日 #

[工作积累] Google Play Game SDK details

摘要: https://developers.google.com/games/services/cpp/api/structgpg_1_1AndroidSupportFor apps which target android 4.0+ (API Version greater than or equal ... 阅读全文

posted @ 2015-01-09 20:22 crazii 阅读(210) 评论(0) 推荐(0) 编辑

2015年1月7日 #

[工作积累] Android dynamic library & JNI_OnLoad

摘要: Bionic libc doesn't load dependencies for current .so file(diff from Windows or Linux)so a explicit calling of Java's System.loadLibrary() is needed, ... 阅读全文

posted @ 2015-01-07 09:49 crazii 阅读(755) 评论(0) 推荐(0) 编辑

2015年1月6日 #

[工作积累] error: bad class file magic (cafebabe) or version (0033.0000)

摘要: Update Android SDK build tool to latest can solve my problem. 阅读全文

posted @ 2015-01-06 21:11 crazii 阅读(488) 评论(0) 推荐(0) 编辑

2014年12月31日 #

引擎设计跟踪(九.14.2e) DelayLoaded DLLs (/DELAYLOAD)

摘要: 关于DLL的delay load:http://msdn.microsoft.com/en-us/library/151kt790.aspx最近在做GLES的shader compiler, 把现有的HLSL转成GLSL.因为ShaderResource是定义在Graphics Subsystem,... 阅读全文

posted @ 2014-12-31 17:48 crazii 阅读(336) 评论(0) 推荐(0) 编辑

2014年12月29日 #

引擎设计跟踪(九.14.2d) [翻译] shader的跨平台方案之2014

摘要: Origin:http://aras-p.info/blog/2014/03/28/cross-platform-shaders-in-2014/简译 translation:作者在2012年写过一篇shader跨平台的文章, 开始提到了并有链接.1.手写或者宏替换使用宏定义将HLSL & GLSL... 阅读全文

posted @ 2014-12-29 19:16 crazii 阅读(1650) 评论(0) 推荐(0) 编辑

2014年12月16日 #

[工作积累] OpenGL ES3.0: glInvalidateFramebuffer

摘要: https://www.khronos.org/opengles/sdk/docs/man3/html/glInvalidateFramebuffer.xhtml这个在GLES2.0上只有Extension:https://www.khronos.org/registry/gles/extensio... 阅读全文

posted @ 2014-12-16 13:12 crazii 阅读(1915) 评论(0) 推荐(0) 编辑