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