详细说明:现在市面上流行的3D游戏画面越来越炫目,不过也有一些为了营造一种特殊的效果而使用了卡通渲染技术,比如PC游戏中的《杀手XIII》,《忍者神龟》;PS2游戏中的《真红之泪》,《犬夜叉》等等。这些游戏的画面看上去很像漫画,感觉比较有趣。下面就介绍一种简单的实现方法。
所谓用卡通渲染技术绘制的三维物体一般都有两个明显的特征,一个特征是物体表面覆盖着大块的单调颜色,而且光影变化比较剧烈;另一个特征是物体拥有粗重的边缘效果。如果能自己控制光照和阴影,就可以达到目的。而DirectX 9.0 中的顶点渲染(Vertex Shaders)提供了这样一个途径,使我们可以实现自己的想法。
顶点渲染与以前的T&L在渲染流程中处于二选一的地位,一段代码最多只能有128条指令,而且不能有循环,判断和跳转指令,全是线性执行指令。每次只能有一个Shader程序是激活的,Vertex Shaders让我们可以实时地控制模型的空间变换,光照处理以及像素渲染。
那么现在先来解决第一个问题。我们可以用光线的亮度值作为物体的纹理坐标,这就产生一种带状纹理的效果,然后再调整相应的颜色即可。-now the fashion for 3D games more compelling picture, But there are also some in order to create a special effect and the use of the cartoon rendering technology, PC games such as the "killer XIII," "Turtles"; PS2 game of "truth red tears," "two characters." These games comic picture looks like, I feel more interesting. Now, on a simple method. Using the so-called cartoon rendering of 3D rendering objects normally have two obvious feature a surface characteristics of an object covered with chunks of dull colors, but more dramatic changes in the Universe; Another characteristic is heavy objects have the edge effect. If the ability to control their own light and shadow, we can achieve the aim. DirectX 9.0 vertex Rendering (Vertex Shaders) provide such
相关搜索:
direct 纹理 d3d directx 亮度 卡通渲染 d3d9 directx d3d 炫 visual DirectX 3D 游戏 vertex shader 顶点渲染 DirectX 3d D3D 9 光照处理 3d游戏
[3D Game Engine Design Source Code.zip] - 《3D游戏引擎设计》的源码
[3D_cartoon.rar] - 卡通风格的渲染程序的代码,交你渲染出3D卡通效果
[tank_yu.rar] - 经典的坦克大战游戏,单人或双人同机操作,游戏画面精致,并提供地图编辑器,可以自定义地图替换map文件夹中的过关地图,是不可多得的娱乐和学习材料。开发工具:VC++6.0 和 directx ,地图编辑器是VB6。
[Chapter25 (Cartoon Rendering).rar] - 卡通渲染的程序示例
[Billiards8.zip] - 桌面台球3D 开发环境VC 库directx8.1以上
[AppIPTransform.rar] - 用于DirectShow开发,应用程序,媒体网络传输!
[VertexShader.rar] - 基于D3D的一个例子,通过使用着色器绘制三维图像
[FOUNTAINSystem.rar] - 喷泉系统,通过Direct x9.0 进行编写,采用粒子系统,喷金币
[ClassicRpgGame.rar] - 绝对经典的完整的RPG爱情游戏执行程序及所有源代码
[Tutorial 03 Matrx.rar] - 这是一个directx程序,告诉你怎么进行图形变换!
[directx source.zip] - 一个经典的direct程序。用C++编写类来包装Direct API。想成为高手必看!
[3D_cartoon.rar] - 卡通风格的渲染程序的代码,交你渲染出3D卡通效果
[tank_yu.rar] - 经典的坦克大战游戏,单人或双人同机操作,游戏画面精致,并提供地图编辑器,可以自定义地图替换map文件夹中的过关地图,是不可多得的娱乐和学习材料。开发工具:VC++6.0 和 directx ,地图编辑器是VB6。
[Chapter25 (Cartoon Rendering).rar] - 卡通渲染的程序示例
[Billiards8.zip] - 桌面台球3D 开发环境VC 库directx8.1以上
[AppIPTransform.rar] - 用于DirectShow开发,应用程序,媒体网络传输!
[VertexShader.rar] - 基于D3D的一个例子,通过使用着色器绘制三维图像
[FOUNTAINSystem.rar] - 喷泉系统,通过Direct x9.0 进行编写,采用粒子系统,喷金币
[ClassicRpgGame.rar] - 绝对经典的完整的RPG爱情游戏执行程序及所有源代码
[Tutorial 03 Matrx.rar] - 这是一个directx程序,告诉你怎么进行图形变换!
[directx source.zip] - 一个经典的direct程序。用C++编写类来包装Direct API。想成为高手必看!
文件列表(点击判断是否您需要的文件):
D3D9Cartoon
...........\D3D9Cartoon.cpp
...........\D3D9Cartoon.exe
...........\D3D9Cartoon.h
...........\D3D9Cartoon.ncb
...........\D3D9Cartoon.rc
...........\D3D9Cartoon.sln
...........\D3D9Cartoon.vcproj
...........\d3dapp.cpp
...........\d3dapp.h
...........\d3denumeration.cpp
...........\d3denumeration.h
...........\d3dfile.cpp
...........\d3dfile.h
...........\d3dfont.cpp
...........\d3dfont.h
...........\d3dsettings.cpp
...........\d3dsettings.h
...........\d3dutil.cpp
...........\d3dutil.h

...........\dxutil.cpp
...........\dxutil.h
...........\ReadMe.txt
...........\resource.h

...........\seafloor.x

...........\tiger.x
...........\zzFloor.vsh
...........\zzSilhouette.vsh
...........\zzSurface.vsh
卡通渲染.txt
D3D9Cartoon
...........\D3D9Cartoon.cpp
...........\D3D9Cartoon.exe
...........\D3D9Cartoon.h
...........\D3D9Cartoon.ncb
...........\D3D9Cartoon.rc
...........\D3D9Cartoon.sln
...........\D3D9Cartoon.vcproj
...........\d3dapp.cpp
...........\d3dapp.h
...........\d3denumeration.cpp
...........\d3denumeration.h
...........\d3dfile.cpp
...........\d3dfile.h
...........\d3dfont.cpp
...........\d3dfont.h
...........\d3dsettings.cpp
...........\d3dsettings.h
...........\d3dutil.cpp
...........\d3dutil.h
...........\dxutil.cpp
...........\dxutil.h
...........\ReadMe.txt
...........\resource.h

...........\seafloor.x

...........\tiger.x
...........\zzFloor.vsh
...........\zzSilhouette.vsh
...........\zzSurface.vsh
卡通渲染.txt