自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

燕良@游戏开发

-- 长风破浪会有时,直挂云帆济沧海。

  • 博客(68)
  • 收藏
  • 关注

原创 换个ID。。。。新博客

开始创业了,一段全新的历程!CSDN的ID也换一个,,,http://blog.csdn.net/Neil3D

2010-01-30 14:37:00 3880

原创 我的个人网站:http://www.gplusplus.net/

 搞了一个个人网站,有论坛和我的Blog,欢迎大家来看看:http://www.gplusplus.net/

2009-01-01 09:29:00 4087 1

原创 转移阵地啦!

新的blog地址:http://www.chinagcn.com/blog/?uid-165 

2007-11-29 09:05:00 2882

原创 谈谈个人在软件中的不可替代性

 过去我对软件开发的理解都是以人为本的,深受《Peopleware》这些书籍的影响,而另外一个方面,在现实的开发中,团队人员的流动也是不可避免的,这是一对很深的矛盾,困扰我很长时间。现在,新项目要开始了,类似这些基本问题又显得格外重要了。昨天在回家路上又想到这个问题,偶有所得。 如果过分强调个人人的在软件开发中的不可替代性,这其实相当于忽视了一个很大的风险,完全是一种“鸵鸟”的做法。这个问题应

2007-10-18 09:21:00 3333

原创 MMORPG开发杂谈(五):PVP才是精华

 “燃烧远征”快要上线了,这又勾起了我对WOW的兴趣。从目前更新的内容上看,我认为暴雪主要做了两件事,1是推出一些5人副本;2是加强PVP系统,包括修改荣誉系统,推出竞技场。 玩一玩战场,你就会发现,即使是像WOW这样出色的游戏,PVE系统也是多么的呆板、无趣。可以说PVP是大多数游戏的精华。像星际,魔兽争霸3这样的游戏,如果没有连线对战,很难想象他的生命力有这么强。MMORPG也是一样,真正

2007-06-29 09:55:00 5093

原创 ShaderSimpler(9) : Deferred shading with Multiple Render Targets

源码下载:http://myshaders.googlecode.com/files/ShaderSimpler_05192007.rar  今天抽空是试验了一下使用MRT进行deferred shading。基本是在上个例子的基础上修改的,主要有一下几个地方: 使用SetRenderTarget分别将各个render target设置好;  在pixel shader

2007-05-19 16:25:00 5390 4

原创 ShaderSimpler(8) : 初探Deferred shading

源码下载:http://myshaders.googlecode.com/files/ShaderSimpler_05142007.rar 对于一个基于Shader的渲染系统如何来计算多个动态光源的光照呢?这是一个困扰我很久的问题。基本上有这样三种解决方案:1. 在单个pass中计算物体的所有光照。这种方案的主要缺点就是shader管理非常复杂。常见的思路是基于一套shader模版,自动生成n

2007-05-14 17:16:00 9522 3

原创 把ShaderSimpler的源码放到google code上了

 今天意外发现CSDN blog的图片功能修好了,高兴了一阵子。把shadersimpler的一些抓图配上了。一高兴还在google code上开了一个project,把ShaderSimpler 的源码放上去了,有空来看看,欢迎交流!

2007-05-10 14:21:00 3620

原创 魔兽争霸3的触发器编辑很有意思

 由于最近经常打魔兽3C,又对魔兽争霸3的编辑器发生了兴趣!发现其中的“触发器编辑”很有意思。给地图编辑上各种触发器就可以实现很多功能,想必魔兽中的RPG等等很多东西都是的用这东西做的。现在我开始考虑把这种模式应用到MMORPG中。找到了一个中文的编辑器说明书,转贴到下面。---------------------------------------------触发器编辑器触发器编辑器是地

2007-04-22 18:14:00 14868 3

原创 自己开发引擎的时代已经过去了!

         首先要说说明一下,这个所说的“自己写引擎”值得是在一个商业化的游戏项目中。       上个月装了新电脑,配的7600GT,找了几个新游戏看了看。《中世纪-全面战争》给我很深的印象!千军万马在一起混战,而近处的角色还拥有per-pixel lighting,一方面感慨7600GT比5600GT快太多了,一方面也感叹引擎技术的进步太快了!       回头看看国内的

2007-04-06 09:53:00 6046 2

转载 曾经有一张很好的图放在我的面前....

曾经有一张很好的图放在我的面前.....google了半天, 终于又给它找回来了.D3D9 pipelinehttp://p.blog.csdn.net/images/p_blog_csdn_net/yanonsoftware/288542/o_pipeline-9.0.png

2007-03-30 13:37:00 4117 1

原创 最新版本DirectX SDK(2007年2月版)不再支持ps_1_x

 前些天下载了DirectX SDK今年2月的版本,一试,嘿,原来很多Effect文件都出错了!仔细一看出错信息,fx不再支持ps_1_x版本?!郁闷,想不通!原来支持的好好的,干吗要去掉啊。:( 只能把ps_1_x的都换成texture stage?要不然就是只能编译成ps_2_x啦! [Edit] 命令行工具fxc,可以功过“/LD”参数支持ps_1_x

2007-03-06 21:38:00 3689

原创 C++0x不一定是利好,仅仅掌握C++已经不够了

       最近一直在关注C++0x,看到孟岩老师的一篇blog:“C++0x草案将于年内发表,C++即将重大升级 ”(http://blog.csdn.net/myan/archive/2007/02/08/1505598.aspx),看来C++0x的进展很顺利。C++0x确定要增加垃圾收集机制了!垃圾收集是我盼望已久的特性了,但是我看到这个消息之后,并没有感到高兴,其实我很担心C++增加了垃

2007-02-16 14:08:00 4498 4

原创 《功夫online》3D引擎开发总结

    【《功夫online》正在公测:http://www.gongfu.com.cn】    《功夫online》也公测一段时间了,早就想抽时间写点关于功夫开发的东西,可一直无法静下心,现在终于可以松一口气了。功夫的开发始于2004年6月,至今将近3年啦。功夫是我全程参与的第二个大型游戏项目了,抛开运营、市场等外在因素,单就游戏本身来说,我认为这个产品是成功的。在前几年,完成第一个项目的时候,

2007-02-09 11:01:00 7722 7

原创 ShaderSimpler(7) : 实现类似魔兽世界的“全屏泛光”

 源码下载地址:http://yanonsoftware.googlepages.com/ShaderSimpler.zip现在很多游戏,像WOW、激战都有这种“全屏泛光”的画面效果,很多人以为是使用了HDR,其实就是一个post process效果。PostProcess是一个很简单又有用的概念,顾名思义,就是把渲染之后的场景,在图像空间进行一些处理。它可以做出各种各样的效果。全屏泛

2007-02-02 20:45:00 6545

原创 ShaderSimpler(6) : Parallax Mapping

源码下载地址:http://yanonsoftware.googlepages.com/ShaderSimpler.zip    Parallax map通过简单的计算可以大幅提高per-pixel光照的效果。Parallax map的想法基于一个简单的事实,那就是当我们用一个多边形去表现一个凹凸不平的表面的时候,事实上随着视线的变化,看到的实际的texel并不是顶点uv坐标差值出来的那个结果

2007-01-29 11:50:00 6109 2

原创 ShaderSimpler(5) : Bump Mapping(Normal mapping)

源码下载地址:http://yanonsoftware.googlepages.com/ShaderSimpler.zip从贴图生成normal map    normal map需要从一个颜色贴图对应的高度图生成。为了计算i,j点的normal,首先可以根据高度差计算出s,t方向的切向量:    S(i,j) =     T(i,j) = 其中a是一个缩放系数。normal可以由这两个切向量得出

2007-01-29 11:48:00 4510

原创 ShaderSimpler(4) : 环境映射

源码下载地址:http://yanonsoftware.googlepages.com/ShaderSimpler.zip    Cube Map环境映射特别适合与曲面,实现也很简单--构造一个视点到顶点的向量,然后计算出相对与normal的反射向量,用此向量索引cube map贴图即可。        顺便比较了一下shpere环境映射的效果。Sphere环境映射的实现也很简单,把顶点法向量变换

2007-01-23 17:43:00 3643

原创 ShaderSimpler(3) : 卡通渲染

    CSDN blog问题百出,图片插不进来,真让人郁闷!今天总算能连上google page了,继续上传shader simpler源码。    源码下载地址:http://yanonsoftware.googlepages.com/ShaderSimpler.zip    卡通渲染(cartoon render,cel-shading)主要包括两个效果:    1、把普通光照的平滑亮度变化

2007-01-17 11:12:00 4222

原创 D语言游戏编程(11):D语言基础之模板和混入(mixin)技术

    D语言通过模板,很好的支持泛型编程。与C++的模板相比较,各有优略。总体上说,D语言的模板在很多方面还是很方便的。     D语言还支持模板的混入(mixin),简单的讲就是把模板实例化之后,将模板中的代码插入到当前的位置。这是一个非常方便的工具!    具体的,请看下面的演示代码。import std.stdio;void main()...{    tryTemplate();

2007-01-16 20:48:00 3757

原创 D语言游戏编程(10):D语言基础之函数和操作符重载

关于D语言的函数和操作符重载:1. 不需要声明虚函数,默认所有成员函数都为虚函数,编译器会自动优化;2. 函数参数支持in, out, inout等修饰符;3. 支持函数指针,不支持类成员函数指针,但是支持更方便的方式--委托(delegate)。4. 支持丰富的操作符重载 下面是一些特性的演示代码。import std.stdio;void main()...{    tryFuncti

2007-01-15 18:14:00 1492

原创 D语言游戏编程(9):D语言基础之interface和enum

    D语言的interface用来定义一个方法的集合,这些方法都必须有派生类实现;接口可以多继承。另外,interface兼容win32 com的二进制接口,可以用来调用com对象,例如,我们熟悉的D3D中的IDirect3D9:interface IDirect3D9 : IUnknown...{extern (Windows):    HRESULT RegisterSoftwar

2007-01-14 10:47:00 1492

原创 D语言游戏编程(8):D语言基础之class

    D语言的class不支持多继承 ,对象的实例只能使用引用类型,但是它不只是简单的一个C++的简化。D语言的class书写起来更方便,例如使用this作为构造函数的名称,对于虚函数不需要指定virtual属性,编译器会自动判断哪些函数需要列入vtabl。D语言的class在契约式编程方面提供两个方便的工具:invariant和unittest。下面是一些主要特性的演示代码。impor

2007-01-13 12:49:00 1486

原创 D语言游戏编程(7):D语言基础之struct

    D语言的struct是一个简单的数据集合。它属于值类型;它不支持构造、析构函数,不支持虚函数,不支持继承,如果需要这些特性,则应该使用class。D语言的struct能实现所有C语言的功能。按照C++的属于,D语言的struct属于“Plain Old Data”类型。    下面是一些D语言的特性的演示代码。import std.stdio;void main()...{    

2007-01-12 13:35:00 1469

原创 D语言游戏编程(6):D语言基础之Arrays

以下是D语言数组的一些演示代码:import std.stdio;void main()...{    tryArrays();}void tryArrays()...{    // 指针和C语言的类似,由于没有bounds checking,所以应尽量使用动态数组,out,inout参数    int *p;    writefln(p);        int[3] s = [3,4,

2007-01-11 17:58:00 1336

原创 D语言游戏编程(5):D语言基础之Pragmas,Expressions,Statements

    Pragma比较简单,常用的两种:        pragma(msg, "compiling...");         pragma(lib, "foo.lib");     关于Expressions,Statements还是看代码吧。import std.stdio;void main()...{    tryExpressions();    tryStatements(

2007-01-10 13:15:00 1392

原创 D语言游戏编程(4):使用MS Visual Studio调试

最近一直在使用Ultra Edit作为开发环境,WinDBG来调试。遇到几个很大的问题就是DMD压缩包中带的WinDBG不支持Unicode格式的文本文件!不知道最新版本如何。调试环境还是习惯Visual Studio,试了一下,简单配置一下,VS基本上可以调试D语言生成的EXE!1.    建立一个空白的VC项目,项目名称任意;2.    设置项目属性:配置属性=>调试=>命令,设为你要调试的编

2007-01-09 12:21:00 1808

原创 D语言游戏编程(3):D语言基础之Attributes

 下面是D语言文档Attributes一节讲述的主要内容,还是看代码吧!import std.stdio;void main()...{    tryAttributes();}//-- begin of Attributes ----------------------------------------------------------//attribute语法上都支持后面跟一个大括

2007-01-08 18:19:00 1510

原创 D语言游戏编程(2):D语言基础之Declarations,Types,Properties

  首先需要熟悉一下D语言。D语言目前还没有什么书(有一本日文的,不知道小日本怎的对D这么热衷),所能参考的就是D语言的官方文档啦。不太适合编程的初学者,对于有一定变成经验的人来说,倒是挺合适的。英文原文从DMD官方网站可以找到:http://www.digitalmars.com/d/ ;中文翻译:http://blog.csdn.net/uframer/ 。 下面的源码就是针对D语言文档中的没

2007-01-07 17:02:00 1845 1

原创 D语言游戏编程(1):工作环境

前言作为一个游戏程序员,D语言对我是很有吸引力的!我相信有不少的人和我有同感。我热爱编程,但是我不能说我热爱C++。坦白的讲,如果是我一个人独立编程,我很乐意使用C++,它的好处就不必多说了,但是在一个稍微大一点的团队中,我一直希望找到一种 “更高级”的语言。这些年一直被C++折磨着,即便团队中有一个新人,有少许几行代码,就足够让整个团队调试一整天。最近的一次,有位兄弟写了如下代码:   

2007-01-05 17:39:00 3028

原创 新年好!2007

2007年毫无悬念的在加班中开始了,首先要对正在看这篇blog的兄弟说声新年好!新的一年真是让人充满希望啊。2007年最大的祝福要送给我的小女儿,希望她健康成长。然后希望家人都健康、平安、快乐。:)2007年对自己的工作和学习也是充满希望。首先要做的就是攒一台新电脑,看看何时DX10的显卡价格能接受啊?装个vista,试试DX10,嘿嘿。不过在公司的项目方面,当然还要继续DX9的开发。

2007-01-01 12:24:00 1154

原创 ShaderSimpler(2) : Phong shading

下载源码 : http://yanonsoftware.googlepages.com/ShaderSimpler.zip    这个小程序通过把顶点法线逐象素插值,再计算每个象素的diffuse,specular光照结果来简单的实现phong模型。因为specular是view depended,所以Effect中增加了eyePos参数。        通过观察box的渲染可以看出与basic

2006-12-07 09:20:00 2402 3

原创 ShaderSimpler(1) : 实现基本光照

下载源码 : http://yanonsoftware.googlepages.com/ShaderSimpler.zip程序的基本思路    class SimpleD3DApp处理了win32窗口创建和D3D初始化的工作,然后响应菜单,生成相应的ShaderSimpler派生类实例。    一个个ShaderSimpler的派生类为一个shader试验小程序。    Effect的基本处理步骤

2006-12-05 11:47:00 2470

原创 疑难杂症备忘:GForce 440MX之顶点格式

    引擎中的一些dynamic mesh在GForce 440MX上显示不正常,draw call全都返回成功,DX没有任何debug信息。经过仔细观察,发现主要是贴图坐标不对。在确认了uv transform,uv index等都没问题之后,开始怀疑顶点格式的问题。这些mesh都使用了下面这种顶点格式:    struct vert_ptd    {        vector3 pos; 

2006-11-28 16:13:00 1574

原创 MMORPG开发杂谈(四):为什么要有最高等级限制

       一个刚入行的策划朋友问我,“MMORPG为什么要做最高等级限制呢?玩家的等级不就是对应的一套数字吗,设计起来又不费力,干吗不做个三百、五百级的,让玩家升去贝!”我不是干策划的,这个问题以前还真没仔细考虑过,如果只是说因为大家都有等级限制,所以我们也得有,显然不算个答案。 仔细想想,我发现等级决非一套数字这么简单。拿WOW来说(我认真玩过的也就WOW了,呵呵),等级对应很庞大的

2006-11-14 11:53:00 2979

原创 使用标准GDI实现游戏品质的动画系统

    几年之前写的一篇GDI技巧的文章,偶尔翻了出来,怀怀旧 吧。http://yanonsoftware.googlepages.com/Yan_GDI.pdf

2006-11-14 09:11:00 1677

原创 MFC行将远去啦

  昨天偶然需要查一点MFC界面技巧的东西,到几个网站搜了一下。下载了一些例子代码,让我惊讶的是这些文章和代码都相当老旧了,都是VC6版本的,有些在VC7下已经编译不过了,而且找不到更新。与热闹的.NET社区相比真是冷清了许多,看来VC6已经是MFC的巅峰了。

2006-11-07 09:08:00 1703 1

原创 做了主管之后才知道怎么做好一个普通员工

    在技术总监的这个职位上已经有两年多了,经常有一种感慨――做了主管之后才知道怎么做好一个普通员工。做一个好的总监,我相信自己还有很多地方需要改进,所以我就不谈怎么做一个好的总监了。 不过,现在毕竟视角变了,看待很多问题已经和做普通员工时有了很大不同。一方面是高处不胜寒,很多问题都没有过去做为一个普通员工看的那么细致了,而另一方面也能从一个更高的角度看待公司的管理,面对很多同事的想法,每次都

2006-10-18 12:08:00 5142 3

原创 Ogre学习笔记(9):API 抽象层

       OGRE通过一个抽象层,实现了API无关性。现在有RenderSystem_Direct3D9和RenderSystem_GL两个实现。下面主要通过考察RenderSystem_Direct3D9来分析一下API抽象层及其实现。       API抽象层有两个核心的类:RenderSystem和HardwareBufferManager,另外还有一系列的HardwareVer

2006-10-11 20:18:00 2551

原创 Ogre学习笔记(8):骨骼动画

       OGRE的基本动画控制是很简单的,设置一个动画的操作是这样:        // Set idle animationmAnimationState = ent->getAnimationState( "Idle" );   mAnimationState->setLoop( true );mAnimationState->setEnabled( true );(

2006-09-25 18:20:00 5065 2

空空如也

空空如也

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

TA关注的人

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