自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ASL

  • 博客(58)
  • 资源 (6)
  • 收藏
  • 关注

转载 Reshaper的使用

原文地址:http://www.cnblogs.com/luminji/p/3285505.html一:Reshaper是什么即便是那些整天攻击 .NET 和 C# 的人,也常常不得不承认 Visual Studio 确实是个够强大的 IDE,除非他认为更少的 IDE 功能和命令行调试才是更强大的。可是,即便如此,仍阻止不了一些第三方的个人和厂商开发出一些插件来让 VS 变得更强大

2015-10-21 15:47:35 871

原创 volatile

这样理解,它是一个标记,告诉编译器某个变量是易变的,每次用的时候重新读取它的值。 对于普通变量 如果这么写 int a = 1; a = 2; 编译器优化后就会只剩下a = 2; 如果加了volatile,编译后的汇编码就会既有a = 1又有 a = 2;一般windows平台的程序较少用到,多用于嵌入式和多线程中。

2015-10-14 22:46:50 394

原创 利用Android studio快速搭建安卓开发环境

以前上学的时候特别固执,学java的时候一直用命令行编译和运行,所以eclipse一点也不熟。 前两年谷歌就出Android studio了,这段时间又看到了就鼓捣鼓捣。安装思路很简单,就是尽量用简单的方式完成环境搭建。只需要2步。。。 1,安装和配置java SDK。 2,在 androiddevtools里下载Android studio的包,一定要下载那种1G多的,包含了Android

2015-10-12 21:35:42 553

原创 LISP记录

在lisp常用的两大方言:common lisp 和 Scheme 中,选择common list Scheme更多用于教学和研究中。 关于方言选择,可以参考这个http://www.zhihu.com/question/19734980入门书籍选择 Practical Common Lisp 中文版叫做实用common lisp 编程 编辑器选择 lisp in box在开始之前。。。 先

2015-09-05 17:08:56 488

转载 windows进程间通信 灰常全的

转自:http://www.cnblogs.com/hibernate6/archive/2011/12/27/2521972.html摘 要: 随着人们对应用程序的要求越来越高,单进程应用在许多场合已不能满足人们的要求。编写多进程/多线程程序成为现代程序设计的一个重要特点,在多进程程序设计中,进程间的通信是不可避免的。Microsoft Win32 API提供了多种进程间通信的方法,全面

2015-09-02 16:19:09 466

转载 Lisp的本质(The Nature of Lisp) 转

作者 Slava Akhmechet译者 Alec Jang出处: http://www.defmacro.org/ramblings/lisp.html简介最初在web的某些角落偶然看到有人赞美Lisp时, 我那时已经是一个颇有经验的程序员。在我的履历上, 掌握的语言范围相当广泛, 象C++, Java, C#主流语言等等都不在话下, 我觉得我差不多知道所有的有关

2015-09-01 11:31:39 1547

原创 vector的使用,以及编程习惯

vector是灰常常用的数据结构之一了 随便看看就知道它的用法,这个不是本文重点。在意识里,对其的使用应当有三个阶段 及格:对元素访问做保护,可以迭代器访问也可以下标访问,这个看习惯,但是一定要做保护,防止越界访问或者迭代器失效。良好:对于一些情况,要有意识对vector做优化,比如预先知道vector的大小,或者作为静态数据读取的存储,等等一些可以预估数据量的情况,预先分配大小。 这个也是写

2015-08-29 18:51:21 574

原创 随机数咔咔

随机数是模拟偶然事件时必不可少的。 自然的偶然事件的随机是真随机=,,=, 比如分子的热运动,是一堆杂乱无章无法预测的球球。计算机中的随机是伪随机。通过算法来实现近似的随机。非常常见的做法: 伪随机生成器 按照一个种子生成一组数列 生成的随机数想要接近真随机 1 种子足够多,种子本身足够随机 2 由算法生成的随机数,是一个由种子决定的数列

2015-07-27 20:56:22 498

原创 啦啦啦撸啊撸啊

LOL已经出来有小4年了,写这个写的有点晚。 最开始听到这个游戏,是很早以前源自dota视频结尾的病毒营销广告。有一段时间,基本所有的dota解说都在自己的视频中放了lol的宣传,视频网站的视频开头广告也有很多。但是当时没去点更没去玩,一来对这样的营销有抵制感,二来本身是dota选手。首次玩是一个暑假,几个同学没有回家呆在学校,有一个看着就不会玩游戏而且也确实几年了都没玩过游戏的童鞋给我们推

2015-07-27 15:23:28 13725

原创 全局变量的定义

一般,我们总会把声明放在头文件,定义和实现放在cpp文件中如果头文件里有了实现,会报重定义错误造成这个链接错误很容易。。。三个文件test.h#ifndef TEST#define TESTchar* str = "abc";void fun();#endiftest.cpp#include"test.h"#includeusing namesp

2015-06-30 23:49:23 975

原创 装饰者模式

装饰者模式,精髓:不使用继承 装饰者,是定制的衣服,装饰和原本的类都继承自同一个基类(所以有相同的接口) 一般来说,继承可以偷懒,但是写着写着就写出翔,代码会慢慢走向越写越死,最后要么继续往死了写 要么来个人重构了。 装饰者模式下,可以把这种行为扩大一下,为多个同类型的类定制装饰,而且不会影响原来的类。 有可能因为时间推移,增加的装饰越来越多,最后管理不过来。 在用的时候,需要注意选择

2015-06-30 23:44:30 371

原创 组合模式-系统由可以被统一处理的对象组成,对象可以单一或者复合

做一个资深标题党,专注于用标题表达一切。组合模式是一个很实在的设计方式,完全基于顺势的思维。对于一个可以被细分,且细分后可以统一处理的事物。这里必须例如一下。。。例如:学籍管理系统,管里系统中有年级,学院,班级,学生。每年,总有那么几个班级不知道是哪个院的,每个院总有那么几个学生是奇奇怪怪不知道是哪个班的,但是系统也得处理不是。于是就是这样:

2015-05-12 10:06:27 518

原创 编译成dll的项目使用方式

写项目的时候,可以选择使用或者不用动态链接库动态链接库优点挺多,可以把软件项目更模块化,如果只是变动其中一个模块,替换对应的dll就可以了在选择把某个模块编译成dll的时候,需要指明,哪些是外部可以用的,哪些是不给用的#ifdef  _BASEFUNC_EXPORT_#define  BASE_API   __declspec(dllexport)#else#def

2015-02-13 11:42:24 678

原创 嵌套类的使用

嵌套类规范  class COutClass{public: COutClass(); ~COutClass(); class CInnerClass { public: CInnerClass(); ~CInnerClass(); private: };private:};CoutClass  外围类CInnerClass 嵌套

2015-01-07 20:03:54 458

原创 Ogre笔记

ogre框架目前大多系统设计为 面向对象(OO),好处是降低大型系统的设计复杂度蛋疼的是这么搞当系统不断维护和不断复杂之后就越来越失控。OO不是重点 ogre采用 面向组件 思想如果说 面向对象是每个模块处理一部分,数据要一个模块一个模块的被处理后才是可用的。那 面向组件 就是,数据虽然也是要全部组件都处理过才可以使用,但是这些组件间不耦合,组件和组件间只有接口,组

2014-12-21 17:27:35 448

原创 关于激战2

激战2出了有一个多月了

2014-05-31 12:21:00 691

原创 何为优秀的游戏

这是一个非常宽泛的题目,我从自己玩过的一些作品和自己的一些感受来描述第一个要说的,魔兽系列包括《魔兽争霸》和《魔兽世界》《魔兽争霸》一个存活了10几年的游戏,到现在依然有无数的玩家,它没有给暴雪带来非常多的收入,但是单从一个游戏作品的角度来说,它是异常成功的。首先是暴雪一贯的对细节的重视,从角色的设定,剧情的设定,到配音,现在许多老玩家依然记着自己喜欢的觉得说的话,比如,破

2014-03-16 14:48:25 614

原创 8 融合技术

融合技术应用在当前光栅化的像素与已经光栅化的像素处于同一位置时就是正在处理的图元和已经在后台缓冲中的像素进行融合。以此获得一些色彩上的特效融合的前提是画在前面的物体是有一定透明度的,然后透过它看它后面的东西,体现出那种“透着看”的感觉的技术就是融合技术融合方程融合的前提是融合方程,由融合公式得出最后屏幕上融合位置的像素值,从而呈现出融合效果OutputPixel

2014-02-24 16:29:26 672

原创 7 纹理映射

借助纹理映射技术,可以把图像数据映射到三角形单元中,为3D图型添加更具细节的描绘使用纹理映射,需要学习映射方式纹理创建纹理过滤纹理坐标D3D所使用的纹理坐标由平面坐标构成  水平u轴 和 竖直v轴由坐标对 (u,v)标识的纹理元素称为纹理元之前说过,纹理映射是把图像数据映射到三角形单元中,在3d世界中所有的单元都是由三角形构成的要实现纹理映射,需要给顶点

2014-02-22 11:51:12 698

原创 6 光照

上帝说要有光,于是就有了光3D世界中的光是按照物理世界的光模拟的,从而可以做出非常逼真的效果使用光照时,顶点的颜色是由光照计算引擎依据 光源类型,材质,物体对于光源的朝向(决定反射类型)计算每个顶点的颜色值D3D光照模型里,光源发出的光由3种光组成环境光漫反射镜面反射环境光是物体不是被光源直接照亮,而是由其他物体反射光而被照亮漫反射用来模拟从每个角度

2014-01-03 11:30:21 479

原创 5 颜色

D3D中,颜色都是由RGB三元组表示都是32位的颜色,排列是   A R G B,一个透明度,三个原色有两种结构来保存颜色分别是     D3DCOLOR和D3DCOLORVALUED3DCOLOR 是用 0-255的值来表示每一个分量的亮度值D3DCOLORVALUE用 0-1的值来表示每个分量的亮度这两种定义可以互相转换,在其实现的构造函数中有相应的构造函数可以

2014-01-02 10:17:05 545

原创 4 D3D绘制

利用D3D接口绘制简单几何体顶点缓存和索引缓存两者用法相似顶点缓存是一个包含内存数据的连续内存空间索引缓存是一个包含索引数据的XXXXX用它们的原因是他们存放数据的地方是显存,在绘制的时候,使用现存数据比内存数据会快的多代码中,顶点缓存用接口   IDirect3DVertexBuffer9索引是    IDirect3DIndexBuffer9(direc

2013-12-27 10:20:10 545

原创 c++的指针的一些小东东

今天写了一个函数有了一些感触。。。押韵。。。函数贴出来char* read_string(const char* section,const char* name, char* szfile){ char* error = "error"; char szbuffer[256]; memset(szbuffer,0,sizeof(szbuffer)); if(Ge

2013-12-16 10:50:02 443

转载 C/C++定义全局变量/常量几种方法的区别

原文地址:http://wrchen.blog.sohu.com/71617539.html在讨论全局变量之前我们先要明白几个基本的概念:1. 编译单元(模块):    在IDE开发工具大行其道的今天,对于编译的一些概念很多人已经不再清楚了,很多程序员最怕的就是处理连接错误(LINK ERROR), 因为它不像编译错误那样可以给出你程序错误的具体位置,你常常对这种错

2013-12-15 09:45:30 456

原创 3 rendering pipeline

3d绘制流水线,已经形成很多年的理论,把虚拟的3D世界的场景转化为2d的图像显示在屏幕上是这么个流程:局部坐标系世界坐标系观察坐标系背面消隐光照裁剪投影视口坐标系光栅化其中,关于坐标系的变换都是由矩阵运算实现的,DX提供了这些运算,因为这些

2013-12-07 09:08:01 555

转载 显示卡影片播放硬件加速,作法原理完全解说

原文地址:http://www.5i01.cn/newsdetail.php?id=4481作者:G.F.我还记得我装第一台电脑时,为了看VCD的....好看影片(羞),还特别去买一张VCD加速卡来看一些夜市买来的片子,因为当时的烂电脑连放MPEG-1的影片都没力。玩电脑够久的人可能有买过这些VCD/DVD的影片加速卡,但显示卡往3D快速发展之后,这种专门看影片的附加卡就销声匿迹了

2013-12-03 10:51:10 2955

原创 2 Vertex

3D世界的所有东西都是由多边形逼近形成的,同样一个模型用的多边形越多就越细致构成就需要顶点,对于定点,首先要理解的是FVF(可塑顶点格式)D3D中定义定点是按照我们的具体需求有时候只需要坐标,有时候还需要颜色,纹理坐标等等其他量为了让我们的device能认识我们定义的顶点,就要用D3DFVF定义的标志定义我们的FVF 举个栗子=。=struct CUSTOMVERTEX

2013-12-01 11:46:23 595

原创 1 初始化Direct3D

创建设备我们看到的一切都是由设备来处理的,可以把这个设备理解为我们和硬件交流的媒介设备能听懂我们说的,硬件能听懂设备说的。创建设备步骤:SDK里的第一个demoTutorial 1: Creating a Device 里有说这里对于我们比较重要的是2和4先获取相应版本的接口,然后创建并且填充D3DPRESENT_PARAMETERS结构体(

2013-11-30 14:59:42 630

原创 学习计划

下一步,打算完整的学习一边DX,看龙书,编译所有的C++ sample以前接触dx都是看其他博客,不够完整和彻底。每看一部分,写下相应的学习笔记

2013-11-30 10:31:35 437

原创 剑灵来袭

这段时间在学车,刚刚考完科目二,驾校是个很矛盾的东西,容易考过的送出来的都是马路莎,不容易考过的肯定效益不是很好    ok,前天,28号,剑灵正式不限号,那叫一个人山人海,官网通知的是14:00开服,不过提前半小时左右就已经开了,事实是到2点的时候已经排了过千人的队,其实是上次不删档封测的时候就体验过一点,不过就是封测没出灵剑士。    一进去刚创建人物确实很惊艳,强大的捏人

2013-11-30 09:42:35 830

原创 [HGE]-源码分析-15 最后的timer

很短的一点点float CALL HGE_Impl::Timer_GetTime(){ return fTime;}float CALL HGE_Impl::Timer_GetDelta(){ return fDeltaTime;}int CALL HGE_Impl::Timer_GetFPS(){ return nFPS;}只有

2013-11-16 10:54:34 710

原创 [HGE]-源码分析-14 system (c)

剩下一点尾巴。

2013-11-16 10:49:36 808

原创 [HGE]-源码分析-13system (b)

所有的GET和SET在接口里它们只是很低调的两个函数但是。。这个和DX里SetRanderState形式一样的函数的实现有好多个看名字可以直接可以知道是按输入类型分的具体的它们的使用方式看一眼hge.h里的一段代码就清楚了private: virtual void CALL System_SetStateBool (hgeBoolState state, bool

2013-11-14 22:45:04 1161

原创 [HGE]-源码分析-12 system (a)

系统控制函数

2013-11-14 18:05:53 6840

原创 重载成员函数的常成员函数版本

首先,复习一下const的用法    (1)const是函数类型的一部分,在实现部分也要带该关键字。  (2)const关键字可以用于对重载函数的区分。  (3)常成员函数不能更新类的成员变量,也不能调用该类中没有用const修饰的成员函数,只能调用常成员函数和常数据成员。重点是第二条,const可以用来重载函数它的效果很简单,如果类的实例是const的,就一定

2013-11-12 22:58:55 1126

原创 DirectX 10 3D游戏编程深度探索 源码下载

这本书的源码不是很好找,书里面写的地址有变化,不过还是找到了一个可用的链接资源有点大CSDN传不上去,放在百度网盘了 http://pan.baidu.com/s/1pE9a3请叫我红领巾=。=百度网盘很神奇啊,每次生成的分销链接都不一样。。。

2013-11-11 22:01:41 1581

原创 纪念光棍节小游戏

转眼又到了喜大普奔光棍节。遂做了个小游戏。界面部分用HGE逻辑判断部分用了模糊逻辑+一部分随机数据源码下载地址:http://download.csdn.net/detail/d603010999/6531711

2013-11-10 18:30:14 489

原创 二维数组和二维指针

首先,这是两个东西。一维数组和一维指针的寻址方式是一样的(顺着内存地址往下)。二维数组不能用二重指针表示,它们寻址方式不一样,二维数组撑死可以当作存放指针的数组类似   int (*p)[10];  也就是说不定的只有一维,二维数组在内存里也是顺序存放的。此时如果用 int **p = a[2][2] = {{1,2},{3,4}};则   p[0] = 1,p[1] = 2,

2013-11-09 11:07:12 807

原创 内存池XX

想不到可以代替XX的词,这里不说实现,网上内存池实现的文章特别多。内存池的精髓在于解决内存碎片化的问题,用于需要长时间运行的系统(比如服务器程序),它可以带来内存上的稳定性。这是典型的空间换时间。内存池满了(没有足够放下的块)可以再申请一个继续放。内存池有两种实现方式,一直是简单直接+暴力的链式,还有一种是大顶堆结构。不论用什么方式,内存池的实现目标都是

2013-11-07 08:57:30 490

原创 与const为敌的mutable

mutable是const的死敌,只用来修饰类的非静态成员,只用来突破常成员函数的限制C++自己挖的坑自己来填。。    慎用volatile这个关键字也很神奇用它声明的类型变量表示可以被某些编译器未知的因素更改,比如操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。当要求使用volat

2013-11-05 10:45:35 554

HGE小游戏源码

小游戏源码~具体介绍在博客里有~~

2013-11-10

鬼火引擎的最新版本 irrlicht-1.8

鬼火最新版,喜欢的可以下一下 鬼火很适合新手接触3D引擎 而且是开源的

2013-03-10

A星算法介绍

A星算法介绍

2012-06-14

航空订票系统源码

很多学校的期末作业 航空订票系统 C写的

2012-06-14

后缀表达式转换为前缀

基础课程里的题目,后缀表达式转化为前缀,单纯做后缀表达式运算的也可以参考

2012-03-19

vs2010初级操作(新手看)

vs2010的安装和初级的应用,适合新手入门是看基本配置方法和基本操作方法

2011-10-07

空空如也

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

TA关注的人

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