自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (10)
  • 收藏
  • 关注

原创 如何给无法修改的类增加一个父类?mlir某机制

classpublicstructpublicboolconst可以看到Trait 继承自BackinferInterfaceTrait<ConcreteOp>。我们再看BackinferInterfaceTrait<ConcreteOp> 的定义。

2024-04-19 16:48:57 918

原创 第五章 开始Unity Shader学习之旅

一.简单顶点/片元着色器1.指定函数#pragma vertex vert#pragma fragment frag 2.POSITION & SV_POSITION & SV_Target 语义CG/HLSL语义,告诉系统,用户需要哪些输入值 ,以及用户输出是什么POSITION:   float4 v:POSITION 把模型顶点坐标填充到输入参数v中。SV_P

2017-10-18 14:18:19 305

原创 第四章 学习Shader所需要的数学基础

一.坐标系与矢量1.左手座标系与右手座标系左手座标系使用左手法则,即旋转时顺时针旋转。右手坐标系使用右手法则,即旋转时逆时针旋转。Unity使用左手坐标系。这也竟未着在模型空间,一个物体的右侧,上侧,前侧分别对应x轴,y轴,z轴。但在观察空间,Unity使用右手坐标系。观察空间,就是指以摄像机为原点的坐标系。二.坐标系与矢量1

2017-10-17 17:05:47 486

原创 第三章 Unity Shader 基础

一. 材质和UnityShaderUnityShader 定义了渲染所需的各种代码,属性和指令,而材质允许我们调节这些属性,并将其最终赋给相应模型。二 Unity Shader2.1 Properties2.1.1 Properties形式{    Name("display name",PropertyType)=DefaultValue   

2017-10-12 18:32:23 247

原创 第二章 渲染流水线(下)---Shader语言与Draw Call

一.HLSL,GLSL,CGGLSL:       OpenGL支持的。跨平台,编译结果依赖于硬件供应商。HLSL:    微软控制着色器编译,仅支持微软自己的产品。CG:          跨平台,与HLSL的语法非常像。在unity shader 中,可以选择'CG/HLSL"或者"GLSL",但Unity shader语言并不是真正意义上的对应着色器语言,尽管它们的语

2017-10-12 16:23:56 325

原创 第二章 渲染流水线(上)---GPU流水线

一.概念性阶段应用阶段(Application Stage)->几何阶段(Geometry Stage)->光栅化阶段(Rasterizer Stage)1.1 应用阶段目标是输出渲染所需要的几何信息,即渲染图元(rendering primitives)。1.1.1 准备场景数据,例如摄像机位置,视锥体,场景中包含哪些模型,使用哪些光源等。1.1.2 粗粒

2017-10-11 18:35:27 795

原创 跟铁锤哥哥学CG(001)---VS2010 下配置 CG开发环境

如何在vs下搭建CG语言的开发环境

2017-01-17 11:23:28 1356

原创 将博客搬至CSDN

合并一下博客吧http://blog.csdn.net/sky_cn1986

2016-12-31 09:53:16 237

原创 读Lua游戏开发实践指南

11月11日开读,到今天正好一个月。     起因是被裁员之后,发现很多公司都在使用lua编写cocos2d-x游戏,原因是上手快,技术人员比较便宜。     如果引擎封装比较好,几乎在lua里写写基本逻辑就行了,不需要懂cocos2d-x。其实lua也不需要懂太多。只要会if ,for等基本语句就行了。     加入新公司后,看了项目的代码。这份代码是从公司另外一款已经成功上线的

2016-12-31 09:53:10 311

原创 quick cocos2d-x 入门---井字棋

学习quick cocos2d-x 第二天 ,使用quick-x 做了一个井字棋游戏 。我假设读者已经 http://wiki.quick-x.com/doku.php?id=zh_cn阅读了这个链接下的内容 ,并学会了如何搭建环境和创建新的工程,并假高读者有一定cocos2d-x基础 建议读者多研究一下quick-x自带的例子coinflip。并阅读framework下的lua源码,尤其

2016-12-31 09:53:06 404 1

原创 Lua 栈的理解

提到C++与lua互调,不可不提栈。栈是C++和Lua相互通讯的一个地方。首先这个栈并不是传统意义上的栈(传统的栈需要放同一种数据类型,但在网上的某些资料说,每个栈元素是一个联合体)。栈从上向下分别是-1,-2,-3... ; 从下向上分别是1,2,3...这也就是lua_gettop为什么可以获得栈中总元素数的原因。因为lua_gettop()获得的是从下向上栈顶的索引,因为从1

2016-12-31 09:53:02 418

原创 Lua与C++互相调用(上)

int main1(int argc, const char * argv[]){ lua_State* L = luaL_newstate();//创建栈 luaopen_base(L); luaopen_io(L);//打开lua base,io两个库 int ret = luaL_loadfile(L,"tlua.lua");//加

2016-12-31 09:52:58 235

原创 C++类的内存分配

今天面试被问到一个类的内存问题,有些记不清楚了。用了 C++这么年,实在是不应该。于是上网查了一些资料,并做了实验,整理如下:所用测试环境为64位mac air,编译器为XCode1.最简单class Test{public: int a ;};printf("size=%d\n",sizeof(Test));这个相信大家都能猜得到。

2016-12-31 09:52:54 170

原创 cocos2d-x 将cocosbuilder输出文件映射成对象的原理

一。调用代码加载代码CCNode* GameOverScene::loadCCBI(const char * pCCBFileName, const char * pCCNodeName, CCNodeLoader * pCCNodeLoader){ CCNodeLoaderLibrary * ccNodeLoaderLibrary = CCNodeLoaderLibra

2016-12-31 09:52:50 173

原创 网络游戏剧情副本的一种实现方式(中)

这一节写客户端的具体实现方式。  为了演示,代码写的比较粗糙。  我们用一个EventCenter作为事件ID和事件的路由表,即根据某ID,即可定位到某处理事件的具体类,并根据参数处理这个事件。   前台应该有个类似这样的配置:               ....           我简单处理成了直接赋值,关于数据结构的定义,都较简单的使用了map,实际

2016-12-31 09:52:46 377

原创 网络游戏剧情副本的一种实现方式(上)

在网络游戏中,常常出现一种剧情副本的情况。比如玩家进入游戏后,提示“少侠,欢迎来到新手村,最近野猪一直在骚扰村子,你去打几只吧”。然后镜头移向野猪,野猪做出暴怒的表情。玩家走过去杀死野猪后,将玩家传至主城。   这个剧情比较简单,实际情况可能要比这复杂的多。在程序中,如何做统一处理呢?   先写一下大体思路   我们采用配置的方法,简单来说,前台是基于事件组的节点,后台是调用场景的lu

2016-12-31 09:52:40 408

原创 2D游戏中的碰撞检测

近期做了一个类似坦克大战的android游戏。关于碰撞检测有一些收获,记录一下。  开始的思路是,将游戏分成行列组成的小块,当玩家或者怪物移动到某块时,就将此小块的id改为玩家或者怪物的id,子弹和怪物的碰撞,也是同样处理。但是这样造成的问题就是,每次玩家和怪物都必须行走一个整格子。玩家的移动,看起来有跳动感。  后来,我将玩家和普通障碍的碰撞和玩家与怪的碰撞分开处理。我原本是将玩家的图片

2016-12-31 09:52:37 1524

原创 linux下的一个网络服务器模型

介绍一个linux下的网络服务器模型。 系统架构将服务器程序分为两个服务器,即逻辑服务器和网络服务器(TcpServer)。逻辑服务器负责处理服务器需要处理的逻辑,而网络服务器仅处理网络的连接以及数据的收发。这两个服务程序是各自独立的,而不仅仅是属于不同进程。所以TcpServer的程序是可以直接应用于各个地方,而代码不需要改动。两个服务器之间,以共享内存或者管道等连接

2016-12-31 09:52:33 199

原创 读《算法与数据结构---c语言描述》

说来惭愧,这本书陆续读了很多很多次次了,却从来没有读完过。在学校的时候,多次下决心读完,2011年也有一次,这次总算把这本书看完了(从2011年11月开始的,虽然仍有很多页是翻过去的)。    这本书实在是一本特别枯燥又不知道有没有用的书,我多次强迫自己,却始终没有读完。在学校上这门课时,我实在觉得这门课没有什么意义,几乎没有认真上过一次。    读完此书,我得到了什么呢?我觉得,读书对我

2016-12-31 09:52:28 228

原创 排序二叉树的实现和我的一个数据结构设计

一。基本概念二叉排序树又称二叉搜索树,即在树的任何一个结点,都满足左子树小于根,根小于右子树。排序二叉树可以作为Map的关键码。主要的作用是快速的查找(相当于二分法) 二。基本算法1.查找查找时,首先和根结点对比,若相等,则查找成功。若大于根,则再向右子树查找;如果小于根,则向根的左子树查找;依次类推,直到查找成功或者遇到空结点。2.插入找到要插入的位置,类似于上面查找

2016-12-31 09:52:24 260

原创 《算法与数据结构---C语言描述》优先队列

所谓的优先队列,其实是一个二叉树,只是这个树比较特别,小数据的结点一定在大数据的结点之上,又称“小根堆”。  搞了几天,终于把优先队列搞定了,当然,也是这几天老是分神,QQ还是在白天设置成免打扰模式吧。    以下是代码    View Code 1 #ifndef PriorityLEAP_H 2 #define PriorityLEAP_H 3 4 temp

2016-12-31 09:52:21 235

原创 《算法与数据结构---C语言描述》里的农夫过河

题目: 一个农夫带着一只狼,一只羊和一些菜过河。河边只有一条船,由于船太小,只能装下农夫和他的一样东西。在无人看管的情况下,狼要吃羊,羊要吃菜,请问农夫如何才能使三样东西平安过河。 算法的实质:在满足一定条件下的,所有状态的遍历。 满足的条件:1.每次农夫必须移动2.农夫移动的东西与农夫必须在同一岸,但农夫可不带东西独自移动3.此种状态,必须在以往从来没有出现过

2016-12-31 09:52:17 970 1

原创 《算法与数据结构---C语言描述》里的求多项达式值

在栈的应用里,作者写了将多项式值 ,但是描述的不是很清楚,露了一个说明 。从左到右读取中缀表达式,依次一个操作项.如果是操作数直接进入输出队列.读到左括号时总是将它压入栈中.读到右括号, 将最近栈顶的第一个左括号上面的操作符全部依次弹出, 送至输出队列后, 再丢弃左括号.当读到操作符时,将栈中所有优先级高于或等于当前操作符的操作符弹出,送到输出队列中.中缀表达式全部读完

2016-12-31 09:52:13 239

原创 关于命令模式的一点意见

1。如果invoker中不必保存命令集,而仅执行一条命令的情况下,invoker类可以被省略2。在命令类(Command中直接保存接收者(Receiver)的指针或者 引用的方式,并不可取,宜改为存储ID(前提是所有的receiver有统一的基类,并由全局管理)下面是代码的对比,由于是演示代码,写的比较粗糙。 保存指针方式 1 class Command;2  class

2016-12-31 09:52:05 151

原创 开始新征途

1.学习Shader,并在网上发布开源项目或博客2.学习OpenGL,并在网上发布开源项目或博客3.独立做一个Unity游戏并开源

2016-11-27 23:18:45 553

原创 android设置横屏

要在android内设置横屏,只需要 在manifest.xml配置的activity写一句 android:screenOrientation="landscape" 但是一定要注意,此时oncreate会被调用两次,第二次是因为要转方向,要避免,可以加上一句android:configChanges="orientation"

2012-08-24 15:11:49 1241

原创 黑猫白猫----读《大话设计模式》

终于读完了《大话设计模式》,收到书的时间是2011-01-21,那时候,还在双安的数码大厦,现在公司已经搬到盘古大观了,转眼之间,已经一年的时间了。   趁着这段时间,工作比较清闲,两个星期的时间,看了接近一多半,也就是说从买到书有大段时间,是暂停状态。其实开篇计算器的例子,是给了我很大震动的,结合一年来的工作,终于算是一只脚迈进面向对象的大门了。   把代码设计好,是可以少加很多很多

2011-11-11 16:12:55 1814 2

转载 一些资料

android游戏开发学习 博客分类:androidandroid2d game相关资源2D中如何判断一点在另一个点的那个方位: http://blog.csdn.net/rabbit729/article/details/4424929游戏开发书籍推荐: http://rightmost.blog.163.com/blog/static/1805853

2011-11-05 15:20:14 592

转载 android开发环境搭建

——工欲善其事必先利其器引言本系列适合0基础的人员,因为我就是从0开始的,此系列记录我步入Android开发的一些经验分享,望与君共勉!作为Android队伍中的一个新人的我,如果有什么不对的地方,还望不吝赐教。在开始Android开发之旅启动之前,首先要搭建环境,然

2011-10-10 17:50:12 430

原创 关于vs下复杂的字符处理

从vc6.0转到vs2005及以上的同学,一定为vs2005复杂的字符处理,苦恼不已。vs2005下有 TCHAR,      LPCSTR,CString 等等概念  一 如何通过编译最简单的方法是什么,就是在MFC程序中,使用MFC的CString ,另外在所

2011-09-26 14:28:53 708

原创 关于android游戏的分辨率

我用的是HTC G7,分辨率是480X800,但是只能显示320X480。因为我的游戏是40X40的地图格子。按理说应该能显示 12X20个格子,但是只能显示8X10个。其实在wvg800模拟器里,也是同样的情况。       这个问题困扰了我很长时间 。我估计是androi

2011-09-20 08:21:44 1872

原创 一次初学者的灾难--------runnable的run方法不被调用了

在学习 android 编程的菜鸟道路上,出现了 一次大灾难public void run() {        while (gameloop) {            Log.d("update", "free mem (Main)=" + Ru

2011-07-31 00:21:26 5939

原创 logcat 不能输出任何信息的原因及解决方法

LogCat无输出是因为DDMS中没有选中Device。JAVA和DDMS之间切换不是关闭DDMS,而是直接点击JAVA图标回到源码,点击DDMS回到DDMS,这种方式回到DDMS不会自动选中Device,LogCat无输出。这问题不是DDMS假死,也不是模拟器的问题,重启模拟器

2011-07-28 08:19:39 5779 2

转载 Android屏幕密度(Density)和分辨率的关系

Android主要有以下几种屏:QVGA和WQVGA屏density=120;HVGA屏density=160;WVGA屏density=240;下面以480dip*800dip的WVGA(density=240)为例,详细列出不同density下屏幕分辨率信息:当density

2011-07-12 08:44:01 870

原创 android 你不知道的事(一)android 程序的突然死掉

   对于一个android 初学者来说,出现 这个窗口,是极郁闷的一件事     对于任何语言来说,出现这个问题的最大可能,都是引用了空资源 ,这个空资源包括空的图片,包括空的窗体,空的指针或者引用。 一。出错原因  对android 来说,我目前总结两条可能出现这种错误的情况1。添加了相应的类,而没有在AndroidManifest.xml中做相应的配置

2011-06-29 23:07:00 1258

原创 关于Android 的两天总结

周末,为上次发布的软件修改Bug和增加功能。1.增加多语言支持。增加与values 对应的values-zh-rCN目录即可。内部的xml与values的相同,但文件名少一个"s",如strings -----> string 系统会自动根据用户选的地区,选择使用哪个配置文件。同样,分辨率也是如此2.加入新浪微博分享及显示 基本流程是,用Requestcode得到AccessT

2011-06-26 23:49:00 3003 5

原创 读《C++ primar 》-------编程是什么

《C++ primar 》真的是一本大部头。翻开书的第一页,上面写着: 北京太月园地下室09.12.31 也就是说,这本书从买来,到读完,已经经历了一年半的时间。记得当时买到这本书后,在10年的1月3号,就在BW正式上班了。看这本书的过程和我到目前为止的工作生涯,是一致的。 在当时,面试的时候 ,当问起STL的时候,我还一片茫然。模板,几乎没有用过。C++的继承,封

2011-06-11 17:05:00 1568

原创 placement new, operator new and new operator (转)

<br />笔者觉得这3个new有点意思,有时候我也被搞懵了,这些创造者难不成觉得C++过于简单,所以搞一点含糊的术语出来。这次总结一下,以便再懵的时候有个参考。有错的地方请不吝赐教,多谢先!<br />简单点吧:<br />1. new operator,即熟悉的new操作符,用它从堆中分配一个对象,并且初始化。CHeapObject* p=new CHeapObject(name);<br />既然是操作符,那么它的行为就和其他+-*/操作符一样,是由C++语言定义的,不能改变,即使通过重载的方式也不能

2011-05-29 14:15:00 640

原创 Linux 下使用protobuf 几点细节

<br /><br /><br /><br /> <br />关于使用的说明,很多地方都有了,我也不再赘述,这里只说一些细节上的东西,也就是我出错的地方。<br />今天查了很多资料,也没解决问题,我现在写出来,帮助一下受困扰的人吧<br />1.关于库文件路径<br />/configure<br />make check<br />make install<br />三个命令以后,安装完成<br />安装之后,运行protoc,提示找不到两个库:libprotobuf.so,libprotoc.so。原

2010-12-22 19:23:00 8951 1

原创 关于填充void*buf的一次小总结

<br />要求是这样的:<br />void *是某个函数的指针(fun(void * result)).<br />result的格式是这样的,一个int值,若干个对象指针<br />假设是OBJ类型的对象<br />1,首先,我试了这种方法<br />OBJ * p = NULL;<br />memcpy(result,p)<br />这样是出问题的。因为memcpy并不是将p的指针内容拷到result,而是将p指向的内容(也就是NULL)拷过去<br />这也说明我在编程的时候,有个问题,想当然的做

2010-12-21 22:38:00 1533

c++实现简单内存池,维护可使用列表

参考自<C++ primar> 事先分配大的内存块。 当申请内存时,从内存块中取出空闲的部分。 当释放 内存时,将释放 的内存加入到可使用列表中(freelist )

2011-05-29

vector 模拟实现

对vector 的实现的模拟。使用《c++ primar》 中的部分代码,并进行了完善。

2011-03-20

windows下的vim

1.双击安装 2.修改.vimrc文件,以修改配置

2011-01-09

windows下g++

用g++在命令行下进行编译,cygwin-b20,比较小巧实用。从这里下载。 安装及使用方法: 直接使用可执行文件full.exe进行安装,安装目录建议选择默认路径。安装完成后,将路径C:\cygnus\cygwin-b20\H-i586-cygwin32\bin加入的系统环境变量PATH中,这样,你可以在任何目录下执行bin/的命令,其中包含了169个较为常用的linux命令。

2011-01-09

查看系统进程的shell脚本

查看系统进程的shell脚本 比较简单,但是包含程序的各种元素,可以作为初学者的例子。<linux编程从入门到精通>中的例子

2010-12-09

VC++下气泡窗口(ver1.0)

网上流传的TipTool气泡窗口 是以控件为基础的,作为控件的子窗口。 我做了改良,以点为基础, 根据某点,弹出窗口

2010-07-23

VB+ACCESS一卡通管理

VB+ACCESS实现的数据库管理系统 如要转换为SQL Server,修改连接字符串即可

2009-12-04

VB+SQL Server的图书管理系统源码(用第三方控件进行了界面美化)

图书管理系统, 界面进行了美化 使用前,请先进行数据库的附加 直接安装VB安装包,或安装第三方美化软件。方可运行,否则会弹出错误。 樱花祭作品-----QQ441356547

2009-12-04

VC++实现聊天程序(包括远程关机功能)源码

C++的聊天程序源码, 并带有远程关机和重启功能 仅供学习使用 作者樱花祭------QQ441356547

2009-12-04

VC++拼图游戏可自由选择图象

VC++实现的拼图游戏 樱花祭-----QQ:441356547 请尊重作者,如要改动,请得到作者允许

2009-12-04

空空如也

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

TA关注的人

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