自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

镜子蓝玉的专栏

镜子蓝玉 C++引擎或相关

  • 博客(206)
  • 资源 (6)
  • 问答 (1)
  • 收藏
  • 关注

原创 出来行迟早是要还的(篇三):Recca讨论组经典问题解疑

1、游戏行业加班问题没有私人时间导致生活的问题最后会影响工作。假设一下:经常加班没有一个正常的社交圈、也没有技术理论积累。到了28岁没有女朋友、没有社交圈,是离职呢还是离职呢。假设加班做的是没有意义的事,到时候连经验都没。好项目组加班确实有很多钱,可能说有钱了害怕找不到女友。更多时候我倾向于自己加班去解决一些自己现有能力不足以解决问题(勤能补拙的思想),而不是把加班时间计划在正常的工作进度。

2014-12-30 14:47:08 827

原创 文化倾袭才是占领世界的核心战斗力

1、核武器、生化武器都能造成物理从1到0的变化。2、文化倾袭却能实现从1到-1的消敌增己过程。为什么会有这种感悟?自古以来北统治南,东统治西,虽不至于说纯中原,至少我出身的广东地区最后还是没能帝都之所在。近期,《琅琊榜》热播,重点在于我在著名的兰州全国连锁店中看到店员津津有味的看着此剧。很多时候我以为汉文化并不会真正地被少数民族的国人接受。也许,NBA的文化在某种程度上

2015-10-21 23:10:30 902

原创 出来行,迟早是要还的(篇六):衣带渐宽终不悔

近期面试,遇到遇到了两件事:     1、终于有TR问我3D数学相关的了,指导点和面的向量表达方式,怎么求点在面的距离,其实只要代入点的坐标n*Point+d就能求得点到面的距离,但是我都忘记点面关系了。至少明确一点,我必须要在3D开发和3D数学相关深化,决不能回到2D写UI的层次,要不然此次离职才是真正地亏大:钱又无(上线奖金),人又无(多出的个人时间不用来进步,狗都不愿意吃)

2015-08-09 00:45:33 1208

原创 出来行迟早是要还的(篇四):游戏开发离职日志和面试日志

1、当时无心写UI,大部分时间用来实现技能和AI,谁知UI的需求演化成为压死我的最后一根稻草——因为主管们一致认为可展示的UI具有最高的优先权,或者说当时主程只希望我能完整实现UI的大大小小需求,给一个看得到的东西给我,可是,新代码一次性让我接触到3大模块,我最不喜欢偏偏是UI。加上内部一些异动,我没有适当地争取,主程又给我增加UI任务。对啊,不讨人喜欢的下场,一堆UI给你做,看你怎么进步?

2015-07-24 23:39:07 918

原创 C++11代码展示:简单的手势识别和响应,上下左右

因为这个是跑酷类游戏的代码,所以向左向右就按照正常的逻辑,上下滑动本来应该是要执行跳跃操作的,暂时场景属于静止状态,所以先逻辑暂时未拉动摄像机前后移动。C++11的lambda函数实现,用于STL中比较操作。虽然我明知当前的3D投影视角的摄像机只有一台,对应的pRenderNode查找到的cameraMask的值是camera3D->setCameraFlag(CameraFlag

2015-07-20 00:32:10 3291

原创 OpenGL蓝宝书第七章:立体天空和纹理折射、双纹理(下)

对比了蓝宝书,才知道红宝书的优点。reflect函数的原理在红宝书中有说明,只有对比了红宝书,才知道红宝书的定位:高级工具书。蓝宝书作为入门级书籍,以较快的速度让读者敲到代码去思考,总遗留了需要探索的内容。蓝宝书要看完。红宝书要看完。C++11 标准版英文版也看了小部分。多线程入门都不算。Socket只能实现基础网络连接,离真正的数据通信都算,何况多人在线对战网

2015-07-15 15:13:33 1109

原创 OpenGL蓝宝书第七章:立体天空和纹理折射、双纹理(上)

难点在于如何理解3D纹理和顶点的映射。遗留问题,怎么我看到的原纹理是倒置的。在红宝书中提到:为了确定某个特定的片段所使用的纹理(以及纹理单元),当前纹理(s,t,r)首先根据s/t/r中最大绝对值(主轴)以及它的符号(方向),在6个纹理中选择其一。剩余的两个坐标除以坐标的最大值,得到新坐标(s',t'),以查找立方图纹理中那个被选择的纹理对应的纹理单元。立方

2015-07-14 01:30:46 1040

原创 OpenGL一维纹理映射练习

算是抛开书本自己敲了一个完整的渲染代码。用漫射光强度在一维纹理中索引纹理颜色。所以从顶点转配之后传给片段着色器的是漫射光强度值即可。过这章之后可以考虑着手glsl方向。可是导航网格的实现还没搞定,我该如何是好?总之,避免写UI,避免接入无休止的SDK。时至今日,终于明白昔日的老大为何说只在固定的时间发版。因为各种版本的发布耗时耗力缺不能提高技术,能少则免。要么是在行业中制定SD

2015-07-13 13:58:11 2955

原创 OpenGL蓝宝书第六章代码疑虑:为什么使用了GL_TEXTURE_1D??纹理和顶点间的映射是如何实现?

遇到一个大问题,明明加载纹理绑定的是GL_TEXTURE_2DglUniform1i(locCloudTex, 1); //明明默认为0,参数却不是0.可是原书中代码确是glGenTextures(1, &uiTexture);glBindTexture(GL_TEXTURE_1D, uiTexture); // LoadTGATexture("Clouds.tga

2015-07-12 22:06:12 2118

原创 OpenGL蓝宝书第五章5.4Tunnuel 纹理映射和过滤:较好的可读性代码

主要处理了纹理贴图和顶点映射的关系。根据法线先确认环绕方向。然后根据绘制的primitive_type完成纹理顶点直接的映射。哪里来,哪里回;根据法线来确认逆时针方向。strip的画法要熟悉,从其实的两个顶点开始已折线的形式前进GL_TRIANGLES_STRIP是常用的绘制方式,在循环代码中使用四个顶点+循环控制量能完成大量的几何图形绘制。这里我犯了个错误,没意识到折线的的前进方向问题,导致

2015-07-12 16:32:50 1083

原创 OpenGL蓝宝书第五章代码勘误以及惯性坐标系去解释模型变换:Pyramid.cpp

如果你也发现按照教程代码完成贴图时,你会底面的坐标和平常顶点坐标正负相反,比如-1.0f, -1.0f, -1.0f这个顶点对应的却是世界坐标中1.0f,-1.0f,1.0f问题究竟出现在哪里?原来是:objectFrame.GetCameraMatrix(mObjectFrame); //原书中的代码为GetMatrix,获取了objectFrame的朝向,导致顶点和纹理的对象关系出现了

2015-07-12 01:05:58 1483 1

原创 cocos2d-x使用tiledMap时地图格子之间出现黑线、黑色斑点

1、cocos2d-x使用tiledMap时地图格子之间出现黑线、黑色斑点:方法有几种,我只记得其中一个方法:在cocos2d\cocos\base\ccConfig.h #ifndef CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL#define CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL 1(默认是0,试试1,具体原理我还不清

2015-04-23 23:31:27 1787

原创 跨平台编译coocs2d-x工程

1、文件路径问题。鉴于我们要实现跨平台处理,就要处理不同IDE对于文件路劲的管理。在VS中,代码管理完全按照物理路径去管理,剩下的部分是资源路径问题。在win7-vs2012以上的版本(vs110_xp对应版本设置再去搜索吧,已过去的工具就该放弃)可以选择在Debugging中的Working  Directory的值从$(ProjectDir)设置为$(ProjectDir)../Resourc

2015-03-04 21:14:12 896

原创 git 恢复被删除的文件 还原文件

1、checkout 某个文件,或者进入某个文件夹执行 git checkout .  这种方式会把当前的工作区的内容全部丢弃掉,checkout慎用,却也是最方便,开发至混乱阶段时,直接一句checkout丢失当前混乱的内容,比如直接使用.git回滚至上次提交的所有状态,这种方式更多用于查阅,而不参与主线开发的情况。2、git reset -hard commitID 也能实现回滚,但是会丢

2015-02-05 21:24:57 1163

原创 Lua程序设计 第17章 弱引用笔记

鉴于之前我对lua的评价,在此需要修改了一下我的言论:游戏开发语言工作中,最成熟的客户端开发组合:C/C++、Lua/C#、assembly汇编。C/C++系列用于完成游戏引擎框架,汇编用于优化,Lua负责游戏逻辑。在全局上满足了性能、可读性、变化性的需求。因为我选的是引擎方向,实际上只能吃透C/C++系列我才可能获得引擎 职位。另外推荐一本书《游戏引擎框架》-叶劲峰翻译的那本,并没有csdn某人

2015-02-01 22:16:11 878

原创 出来行迟早是要还的(篇五):三大运营商的游戏“刷金”漏洞解决方案

现象描述:手游行业爆发,移动支付早已是红海。这当中先不管中国电信等出的翼支付等新形式支付,因为三大运营商的充值卡和话费支付两个大头依然且在未来5年仍然活跃于移动支付行业。对于非金融业务,游戏行业的支付总是出现“打折”。何为“打折”?1、正常的运营促销 2、坏账(比如苹果iTunes的黑卡,虽然我对这东西不了解,目的一样:用虚假的支付金额获取电子物品)。对于入行时必须接SDK的我们,总会遇到傲娇的三大运营商们的坑爹SDK——虽然总是拥有比较完善的接入文档。

2015-01-30 00:42:42 4261 7

原创 git merge commitId 把其他分支的某次提交merge进该分支

之前遇到的问题回顾: 1、目前log出来的内容只能查看不能编辑,虽然fetch下来,但是master和origin/master同时存在。我merge进来然后根据冲突去单个编辑用其他文本编辑器处理,编译确认,再一次add新版本,再次commit和push。2、我在想有没有单个文件merge的形式,我找了蛮久,找不到类似的命令?终于看到gitchina站长的视频,发现原来一直需要的是

2015-01-17 00:48:17 12391 1

原创 超级宝典第三章剔除弃用的例子

1、注释一定是我的,配置当然也是是我的。其他的是蓝宝书的。/ Scissor.cpp : Defines the entry point for the console application.//#include "stdafx.h"#ifdef WIN32#pragma comment(lib, "freeglut_static.lib")#endif

2015-01-10 23:51:06 852

原创 openGL超级宝典第三章例子——贴花

1、又和上次一样犯了个错误,深度缓冲标识位GL_DEPTH_BUFFER_BIT写成GL_COLOR_BUFFER_BIT。导致图形绘制没有在窗口中出现2、注释是我的。3、好消息:code compare插件和工具的使用。之前朋友推荐我使用,一直没有场景。现在知道:svn同文件的不同版本在同一路径下的对比使用smartSVN;不同文件或者不同路径任何版本对比使用code compare工具

2015-01-10 23:03:30 1861

原创 本人的开发环境备注

windows:1、C盘有个vs2012配置了freeglut2.8(有源码工程)、glew的开发环境。因为原码的生成路径有些混乱,比如我只改了debug的路径,所以目前工程放在c盘的用户文档vs2012下2、D盘有个vs2013。用于C++11、opengl超级宝典的开发环境配置(freeglut2.6、gltools使用源码编译)。原则上只要再把上面的freeglut的源码工程移入D:

2015-01-01 21:08:52 721

原创 发布安卓版本遇到的坑。

当你前两天还开开心心地安装demo做一个开心的编程王子时,今天突然遇到坑爹android打包编译时内部库ndk报错。请把object目录删掉就行了,修改了源码,ndk的编译体系有点小问题。上次就记得,这次忘记了才想起,坑爹我的时间啊,我因为遗忘知识导致蝴蝶效应,你妹妹的,你全家。好吧,前辈您开发的ndk辛苦了。前面问候其实是ndk,不是您们。

2014-12-29 21:56:17 482

原创 git commit 相关遇到的问题

1、如果选取某个分支的某次commit。目前我在master的工作比较正常。在分支中完成了一些工作,因为commit的过程中引入了一次错误的commit。导致目前代码处于两个功能分支的代码不能合并于主线。解决方案:A 忽略错误继续开发,心态是目前这个项目只有我一个人。B:看pro git等书,找方案回头继续开发C:把两段代码复制下来,在添加一次覆盖commit,使得主线正确运行。

2014-12-29 01:36:38 2027

原创 shader实现灰阶图

1、cocos主线程以及Auto-batchingAppDelegate app;//封装用于智能分化,完成初始化,载入资源、构造场景、生成精灵Application::getInstance()->run();//启动主线程  director->mainLoop();//分为场景渲染,和清理缓存池 glview->pollEvents(); drawScene:

2014-12-22 13:58:49 1596

原创 个人面试笔记:Lua与C++调用相关

1、lua虚拟机和C++相互调用、lua设计基础的相关博客,供以后复习:http://cn.cocos2d-x.org/tutorial/show?id=1474http://blog.csdn.net/ym012/article/details/7209637http://www.cnblogs.com/sifenkesi/p/3876745.htmlhttp://my.osch

2014-12-22 10:38:40 2440

原创 Ubuntu安装总结

1、环境说明:正版自带Win8、主板UEFI2、目标:双系统3、结果:失败了4、原因:硬件商自带的win8有个保护性的引导区还是win8自检,会把Ubuntu的引导给覆盖了掉。尝试了EasyBCD、grub的方式去引导,还是失败。有个朋友说,自带的win8,要么狠心地做各种尝试,要么别想双系统。现在终于明白学校时候老师说的,年纪大了,重装个系统代价太大了,折腾不来——说的是开发环境和使

2014-12-17 16:23:52 673

原创 DrawPrimitive真是一个好类!!cocos的开发组干了好事。

如果每次在商业项目中使用opengl命令去绘制特效,工作效率真心低,所以官方包装了这个接口,真实好东西。draw函数的接口以及改了,新接口不允许重载原先的void draw(void)。命令模式已是过去,显示列表模式则是将命令放入缓冲池中,在opengl状态机执行绘制命令时从中读取才去绘制,不再是每次绘制就调用opengl状态机立即绘制。这就要求引擎全局组织绘制命令,即

2014-12-12 17:35:38 1163

原创 数学重拾计划1

1、正弦定理及其推论,比如三边除以对应的正弦值相等。

2014-12-06 23:07:46 731

原创 虚继承的内存布局手札1——基于VS2012

1、纸上得来总觉浅,低头debug才深刻。对于《深度探索C++对象模型》这类型的书,得到的知识要去及时巩固才能实现永久记忆。2、在实现了了虚拟继承归并分支之后的内容布局跟虚表的可复用存在极大关系。继承的顺序决定了A和B的布局顺序,然后Common则在高地址,即公虚基类的布局放在D的尾部。情况1:class A:public virtual Common{...}

2014-12-04 22:40:09 639

原创 待续。makefile关于文件修改时间确定是否需要重新编译的正确书写格式

待续,未解决问题。#jingz's simple file to test makeFileCPP = g++OFLAG = -oC++11 = -std=c++11#定义变异规则,只编译固定后缀的文件.SUFFIXES : .obj .cpp .c .hpp.cpp.obj : $(CPP) $(CPPFLAGS) -c $<.c.obj : $(CPP) $(CPPFL

2014-12-04 15:58:57 2393

原创 多线程单例模式的安全实现

多线程单例模式的实现。通过双重锁定,自旋处理,实现安全的多线程单例和共享区数据的访问。资源访问的形式采用简单等待处理.同时使用std::bind进行函数绑定。// atomic_lock_flag_p202_6-3-3.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include #

2014-12-03 01:32:20 1284

转载 git取消文件跟踪

初入 Git,难免有一些问题。比如我们不小心将某个文件加入了版本控制,但是突然又不想继续跟踪控制这个文件了,怎么办呢?其实方法也是很简单的。使用git update-index 即可。不想继续追踪某个文件1git update-index --assume-unchanged your_file_path

2014-11-27 01:27:14 809

原创 多继承指针转化的问题

多继承的指针转化跟数据在内存的布局有极大的关系。目前,用msvc11和gcc4.8.3去测试指针转化之后的结果。发现只要不涉及编译增加虚表指针的情况下,派生类的地址多数是和继承列表的首个父类地址相同。当然会有其他问题影响到布局的指针转化。此次要提的内容是,别使用c_style指针转化。正确的指针转化来自于:dynamic_cast/static_cast。编译器内部生成的指针对象有某个反射机制

2014-11-26 20:51:51 1213

原创 C++个人未解决笔记或未熟悉的使用

1、_Pragma()。因为能力有限,目前写的库都是逻辑库和遵循C++风格,较少使用宏定义的高级用法,待续。2、除0错误,不叫异常。原理:此异常非彼异常。除0在Linux下收到的是SIGFPE信号,而非C++的exception。收到SIGFPE,如楼上所说,进程直接被kill了。在C++中,除零 是错误,而非 异常在操作

2014-11-26 17:14:54 892

原创 gnu编译C++11,最好与win32公用代码

看makefile:#jingz's first file to test makeFileallTarget:stdafx_target 11_12_target g++ stdafx.o functor-adapter_p431.o -o functor-adapter_p431.exe#remove the object files rm -rf stdafx.o functor

2014-11-26 15:33:35 1152

原创 VS、GNU STL存在一个Bug,而STLport-5.2.1则是没有的。已经过侯捷先生确认!!

最后来到比较坑的代码中:SGI:[cpp] view plaincopyistream_iterator() : _M_stream(&cin), _M_end_marker(false) {}    istream_iterator(istream& __s) : _M_stream(&__s) { _M_read(); }

2014-11-26 13:55:04 1766

原创 STLport-5.2.1 STL port配置; cl.exe 编译cpp:ms和cygwin两种模式;cygwin环境配置和使用、GCC编译入门

1、在ms中要使用windows sdk和相关的lib设置实在太麻烦啦,以及dll等文件缺失是在严重。所以我简单地利用了vs安装目录下的批处理文件,在命令窗口中进入:C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC ,直接运行vcvarsall.bat加载vs中以及配置好的环境,就可以使用命令行: cl -GX hello.cpp去实现编译并运行。2012版本的vs中-GX换成-EHsc。同理我也可以使用vs2013。目前vs2013的环境我主要

2014-11-26 00:47:56 2284

原创 thread 线程使用和解析

C++11例子1:

2014-11-25 23:53:39 1267

原创 git中处理两个独立库独立分支合并出现的冲突

1、首先init本地库,2、git remote add remoteBranchName url。配置远端库路径3、fetch操作。这样子会把远端库加载在本地,可读不可写。这个时候需要用merge操作合并两个库。可能出现冲突,处理代码或者资源冲突,主义add和commit等操作细节。但是比较推荐的是先把本地commit之后再fetch。这样子本地的版本已经在库中,merge时覆盖也可

2014-11-25 22:40:35 2091

原创 iterator-adapter 练习例子

// Iterator-adapter_p427.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include#include #include #include #include #include using std::cout;using std::cin;using std::endl;using std::flush;

2014-11-23 23:04:44 776

原创 SGI 2.9.1源码手札 stream Iterator:istream_iterator 和ostream_iterator 知识核心点

短期代码阅读主要基于SGI的STL,测试环境则是GCC_4.8.3_STL和VS_STL。暂时不去配置BOOST等库STL细节。待续1、istream_iterator 输入流迭代器1)没有operator=操作,因为只读,不可写,所以编译不支持。迭代器句柄保存当前已读取到的数据。_GLIBCXX_CONSTEXPR istream_iterator()      : _M

2014-11-23 19:50:08 1086

基于cocos2d-x的A*演示apk

基于cocos2d-x的A*演示apk。王敬哲用于和朋友找工作用

2014-12-31

WInSocket Chat UDP

博客分析地址http://write.blog.csdn.net/postedit/39523373 socket基础编程,实现网络会话,typedef的用法,win32_winNT宏对照表,基于win32数据长度分析,因为没分了,才50M的上传空间故1分,评论后返还1分。

2014-09-25

Test16th_c++_primer

C++primer的例子加上《深入理解C++11》语法,未实现移动构造函数

2014-09-21

C++ primer 第十六章 模板句柄 C++11,使用委派构造函数,

C++11,使用委派构造函数,并且快速初始化变量,default关键字重声明默认构造函数,回复pod状态。分析与推荐用法。

2014-09-20

C++ primer 第十六章 泛型 实现自定义Queue 修改版

C++ primer 第十六章 泛型 实现自定义Queue 解决模板编译错误、包含模式 C++11语法使用

2014-09-19

C++ primer 第15章 简单文本查找器例子代码

源码来自C++ primer ,经过本人风格小修改,实现文本读取以及输出、查找,查找结果支持与或非三种模式。第10章的代码样例也在里面。本例子实际上使用了代理模式,通过TextQuery、AndQuery、OrQuery、NotQuery实现了文本查询,由Query提供对外代理,重载了copyControl、赋值、输出操作符,是C++初级者深化的好练手demo。未实现词法分析,要求每个单词后面跟随空格(不是阅读C++ primer的目标)。工程环境:VS2012+win8.

2014-09-07

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除