找到相关内容 14
Direct3D轮回:游戏特效之全屏泛光(Bloom)
Bloom,又称“全屏泛光”,是大名鼎鼎的虚幻3游戏引擎中最通用的后期特效技术~ Bloom特效的实现主要依赖于PostProcess框架,即实时绘制当前场景到一后台渲染表面,而后针对其对应贴图进行像素级渲染~ 大家还记得我们之前实现的水面效果中的反射和折射贴图吗?此即为PostProcess的
http://www.cyqdata.com/cnblogs/article-detail-52618 
Direct3D轮回:游戏特效之晴天光晕
基本的场景元素具备之后,本节我们来为已构建的场景新增一些特殊效果~ 玩过摄影的朋友应该都知道,当我们把镜头对准某一发光体的时候,会有光晕现象产生,这种光晕现象也称作“镜头眩光”。 在晴天的场景中实现这样一个光晕特效,往往会有意想不到的效果~ 晴天光晕特效实现的原理其实挺简单,它可以由一个主光晕加
http://www.cyqdata.com/cnblogs/article-detail-42626 
Direct3D轮回:游戏场景之植被
完成天空、陆地、河流模块的构建之后,这一节再为我们的游戏场景添加一点其他的装饰——植被~ 游戏中的植被可以选用D3D中的广告板来实现,这个后续我们会讲解,不过为了增加其立体感,大都会构建一个这样形状的结构: 三个方形表面分别成120度交叉对齐,而后贴上植被的纹理,再开启Alpha通道,便可实现
http://www.cyqdata.com/cnblogs/article-detail-42267 
*Direct3D轮回:游戏场景之河流
继天空、陆地之后,用于构建游戏场景的另一个必须的元素莫过于河流~ 本节我们基于特定的特效文件Water.fx来完成水面模块的构建。 以下是该特效文件的HLSL代码: Water.fx //--------------------------------------------------------------------------------------------------------
http://www.cyqdata.com/cnblogs/article-detail-42032 
Direct3D轮回:游戏场景之陆地
继天空效果之后,这一节简单阐述一点地形生成的基本原理和方法~ 如果哪里说的不对,还望园子的前辈们多多拍砖 ^ ^ 首先,我们准备两张图:                        &nb
http://www.cyqdata.com/cnblogs/article-detail-42000 
Direct3D轮回:游戏场景之天空
游戏场景中的天空效果实现起来其实很简单,我们使用一个称之为“天空盒”的技术即可~ 如下是一个天空盒对象的简单实现: /*-------------------------------------代码清单:Skybox.h来自:http://www.cnblogs.com/kenkao-------------------------------------*/#inclu
http://www.cyqdata.com/cnblogs/article-detail-41420 
Direct3D轮回:为D3D量身订做SpriteBatch类
上一节中,我们大致讲述了Direct3D环境下,如何使用ID3DXSprite绘制2D对象。 ID3DXSprite虽然使用起来非常方便,但其自身存在着诸多的限制与弊端,一个最明显的体现,ID3DXSprite没有提供自身顶点级操作,因此无法应用特效;另外,其接口的设计也不是十分的友好~ 这一节,我们使用D3D中最基本的图元绘制法,为其量身订做一个专属于D3D的CSpriteBatch类。 如下是
http://www.cyqdata.com/cnblogs/article-detail-41268 
Direct3D轮回:基于ID3DXSprite的2D元素绘制
D3D中的2D元素绘制主要是通过ID3DXSprite来完成的。 我们通过调用D3DXCreateSprite来完成ID3DXSprite接口对象的创建,同时使用介于Begin与End之间的Draw方法来完成D3D中2D元素的绘制。 下面,我们对IDirect3DTexture9和ID3DXSprite进行二次封装,使其接口趋于人性化,使用起来更加便捷: /*------------------
http://www.cyqdata.com/cnblogs/article-detail-41153 
Direct3D轮回:基于HLSL实现D3D中的光照特效
HLSL(High-Level Shading Language,高级着色语言),即大家口中经常提到的Shader。 相较于固定功能流水线,使用HLSL的优势是不言而喻的。 使用HLSL编写的模块工作于GPU之上,取代了原有的固定功能流水线,从而使得我们从那些事先定义好的固定运算中解脱出来,在特效编写过程中获得巨大的灵活度。 Xna中更是干脆完全舍弃了D3D中旧有的固定功能流水线。 下面我们来看如
http://www.cyqdata.com/cnblogs/article-detail-41043 
Direct3D轮回:基于.X文件的网格加载及渲染
DX9.0对.X文件提供了相当丰富的支持,包括高级骨骼动画的解析及渲染。 DX10之后,.X开始渐渐淡出人们的视野,取而代之的是各种自定义的网格数据文件。 虽然.X文件不再被广泛支持,但其数据定义仍具有相当的参考价值和意义~ 本篇简单实现了.X网格的加载及渲染,意在服务于后续章节,感兴趣的朋友可以简单参考一下~ /*-------------------------------------代码清
http://www.cyqdata.com/cnblogs/article-detail-40961 
Direct3D轮回:构建基于Direct3D的通用摄影机类
Direct3D渲染管线主要完成了三次矩阵变换: 1.世界变换——局部坐标到全局坐标的变换; 2.摄影变换——全局坐标到摄影坐标的变换; 3.投影变换——摄影坐标到投影坐标的变换。 其中的摄影变换我们大都通过封装一个称之为“摄影机”的对象加以实现。 如下即为一个基于Direct3D机制的通用摄影机实现:
http://www.cyqdata.com/cnblogs/article-detail-40668 
Direct3D轮回:构建基于DirectInput机制的键盘输入设备
有了鼠标输入设备,这一篇简单讨论基于DirectInput机制的键盘输入设备的构建。 继续上一篇,我们再原有基础上丰富DirectInput.h和DirectInput.cpp的内容: /*-------------------------------------代码清单:D3DInput.h来自:http://www.cnblogs.com/kenkao--------------------
http://www.cyqdata.com/cnblogs/article-detail-40614 
Direct3D轮回:构建基于DirectInput机制的鼠标输入设备
键盘、鼠标、游戏杆是最为常用的游戏输入设备。 Xna直接向客户提供了对于以上输入设备的支持。例如,我们可以直接使用 MouseState mouseState = Mouse.GetState(); 获取鼠标输入设备的当前状态,从而进一步检测各个键位的当前状态。Keyboard、GamePad用法与Mouse类似,在此不再赘述。 回到Direct3D环境中。因为工程本身基于Win32App,所以我
http://www.cyqdata.com/cnblogs/article-detail-40612 
Direct3D轮回:快速构建基于win32工程的Direct3D游戏框架
前段时间一直混迹于C++与C#语言,徘徊于DirectX与Xna之间,一直没什么大的收获。 重新拾回C++&DirectX,有一种返璞归真的感慨~ 多少有一些心得,简单总结一点~ 请园子的前辈们多多指教,多多拍砖^ ^   用过Xna的朋友都知道,客户在Xna中从来不用自己去实现3D设备的初始化,游戏的主循环,甚至是退出时的设备资源释放等等相关事宜。 不过很不幸,DirectX没
http://www.cyqdata.com/cnblogs/article-detail-40574