自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

燕良@游戏开发

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

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

原创 ShaderSimpler(6) : Parallax Mapping

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

2007-01-29 11:50:00 6114 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 4524

原创 ShaderSimpler(4) : 环境映射

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

2007-01-23 17:43:00 3650

原创 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 4230

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

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

2007-01-16 20:48:00 3772

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

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

2007-01-15 18:14:00 1503

原创 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 1509

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

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

2007-01-13 12:49:00 1502

原创 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 1481

原创 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 1346

原创 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 1400

原创 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 1829

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

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

2007-01-08 18:19:00 1524

原创 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 1867 1

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

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

2007-01-05 17:39:00 3045

原创 新年好!2007

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

2007-01-01 12:24:00 1164

空空如也

空空如也

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

TA关注的人

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