游戏设计基础
文章平均质量分 73
szmtjs10
学习,交流,提高
展开
-
VS2010+DX9+Assimp使用(3)
3.VS2010+DX9情况下加载动画控制1.主代码添加控制动作代码#pragma comment(lib,"d3d9.lib") #pragma comment(lib,"d3dx9.lib") #pragma comment(lib,"winmm.lib") #include "d3dUtility.h"#include <fstream>#include <vector>#include "AllocateHierarchyClass.h"//// Gl原创 2021-05-28 00:10:51 · 446 阅读 · 0 评论 -
VS2010+DX9+Assimp使用(2)
2.VS2010+DX9情况下加载动画模型其实在微软官方的DirectX SDK Samples中已经为我们把骨骼动画类封装好了,在一个名为SkinnedMesh的示例程序中。如果你的SDK是安装在D盘,那么这个骨骼动画的微软官方示例程序的路径就是如下:D:\Program Files\Microsoft DirectX SDK(June 2010)\Samples\C++\Direct3D\SkinnedMesh微软对Samples中代码的书写方式比较密集,一般实现代码都放在一个cpp文件中,比如原创 2021-05-26 23:58:23 · 768 阅读 · 0 评论 -
D3D中的X文件格式、模板、约束、类型介绍
1. D3D中的X文件简介C++中的D3D技术,X文件主要作用是用来存储网格数据的,当然不光是网格数据,它还用来存储有关纹理,动画及用户定义的对象的一些数据.X文件还是模板驱动(Template-Driven)的,也就是说它存储数据的格式是基于模板的. 这使得这种文件格式具有结构自由,内容丰富,易应用,可移植性高等优点.2. X文件中的模板(Template)模板定义了数据流是怎样被格式化的,也就是告诉你对于一个3D模型的各种数据,它们是以什么格式存放在数据流中的(这里指文件)。a. 模板的格式转载 2021-05-25 23:56:56 · 620 阅读 · 0 评论 -
用Axe_free插件从3dmax中导出.x文件
怎么说呢,先前一直在网上搜导出x文件的插件和使用方法,但是搜到的大多都是panda插件,而panda插件呢又只有2012的好像,后面就没有了,所以没有办法,然后找到了AxeFree 这个插件。下载网站是http://www.cgdev.net/进入之后 下载自己需要的版本就是了。本来想想,要不自己在CSDN上面上传一份,骗点积分,哈哈~后面想想算了,大家都不容易,虽然自己也穷得不行,一点积分也没有了。接下来呢,就是自己导出过程,首先在3d max 里面导入自己需要导出成x文件的动画文件。首先肯定转载 2021-05-25 23:49:14 · 651 阅读 · 0 评论 -
VS2010+DX9+Assimp使用(1)
1.VS2010+DX9情况下加载模型1.1 总体介绍网格绘制3D模型的方法使用顶点缓存和索引缓存进行绘制DrawPrimitive()、DrawIndexedPrimitive()使用网络进行绘制1.绘制几何体: D3DXCreateBox、D3DXCreateSphere、…2.手工创建网格: D3DXCreateMeshFVF3.使用Xfile文件创建网格1.2主要介绍XFile 网格文件相应代码如下加载 XFile 文件加载 XFile 材质和纹理#include原创 2021-05-20 22:58:17 · 845 阅读 · 3 评论 -
WindowsGDI实现的绘图板
完成功能提供对矩形/椭圆/直线/曲线的绘制,具有类似“橡皮筋”的视觉效果提供选项,允许用户对这些图形的颜色、线型、可填充性等属性进行选择抽象出一个图形基类,对每一种具体的图形类型进行独立编程,提供了更好的可扩展性实现重绘、永久保存/从文件加载图形集合,保存为图片等功能具有对图像进行擦除/复制/粘贴/剪切/撤销等基本操作实现思路双缓冲技术 导致画面闪烁的关键原因是:窗口刷新一次的过程中,每一个图元的重绘都会立即显示到窗口,因此整个窗口中,只要是图元所在的位置,都在刷转载 2021-05-20 21:16:21 · 322 阅读 · 0 评论 -
斜角地图+透明动画
1.斜角地图和透明动画的叠加想出现类似下图的效果![在这里插入图片描述](https://img-blog.csdnimg.cn/20210428213109703.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N6bXRqczEw,size_16,color_FFFFFF,t_70 =200*150)...原创 2021-04-28 22:51:35 · 1005 阅读 · 1 评论 -
GDI动画和键盘控制
Windows游戏动画技术在2D游戏中,播放动画的方式一般有两种,第一种是直接播放影片文件(比如AVI、RMVB等等影片格式〉,这常常用在游戏的开头动画、过场动画与结局动画中。另一种则是在游戏中利用连续贴图的方式,来达到动画显示的效果。其实,游戏程序本身几乎都是以无限循环的方式来不断地在游戏窗口中进行窗口画面重绘的操作,即使画面没有任何变化,这个重绘的操作依然在不断地进行,直到游戏程序结束运行为止。本章我们将介绍制作游戏动画的两种技术。他们分别是利用Windows本身的定时器来驱动连续动画的“定时器动转载 2021-04-14 20:18:49 · 663 阅读 · 0 评论 -
GDI地图加载
1.地图加载:就是根据地图数组编号,把各种“瓷砖”贴到相应坐标下的过程。原创 2021-04-14 15:57:06 · 803 阅读 · 1 评论 -
GDI透明贴图
1. 加载位图代码代码:#include <windows.h>#include <time.h> //使用获取系统时间time函数需要包含的头文件#pragma comment(lib,"winmm.lib") //调用PlaySound函数所需库文件#define WINDOW_WIDTH 800 //为窗口宽度定义的宏,以方便在此处修改窗口宽度#define WINDOW_HEIGHT 6原创 2021-04-09 22:56:20 · 434 阅读 · 0 评论 -
GDI图像加载理解
1.一个GDI程序通用框架#include <windows.h>#define WINDOW_WIDTH 800 //为窗口宽度定义的宏,以方便在此处修改窗口宽度#define WINDOW_HEIGHT 600 //为窗口高度定义的宏,以方便在此处修改窗口高度#define WINDOW_TITLE L"程序核心框架" //为窗口标题定义的宏原创 2021-03-25 12:07:38 · 322 阅读 · 0 评论 -
三维天空的实现
二、三维天空技术阐述回到正题来吧,讲今天的主题三维天空的实现。不要看游戏世界中的天空好像是无边无际的,其实我们都被骗了。在计算机的三维世界中,三维天空的绘制肯定不可能像现实生活中的天空一样,一望无际绵延无尽,往往是通过一种假象来现实的。这种假象与古代人所说的“天圆地方”有着异曲同工之妙。反正就是一个足够大的容器一样的东西把我们罩在里面,让我们像井底之蛙一样以为这就是整个世界,世界就这么大,天空就这么大。而这个足以罩住我们所置身的游戏世界的容器,可以是一个立方体,也可以是半球,甚至是一个足够大的平面。&nbs转载 2020-05-24 23:08:43 · 653 阅读 · 0 评论 -
三维地形系统的实现
想创造出极具真实感的三维游戏世界,三维地形的模拟是必不可少,至关重要的。三维地形模拟其实是一个很广阔的课题,它其实不仅仅局限于我们的游戏开发领域,在三维仿真,虚拟现实等领域都涉及。说起三维地形模拟,似乎有那么一丝神秘,其实,只要了解其实现原理了这所谓的地形系统模拟也就是纸老虎一只。这篇文章里我们就来揭开三维地形模拟的面纱,看看到底怎样利用一个C++类的书写,实现我们专属的三维地形系统,然后就只需几句代码,两幅图片,一个“活生生”的三维地形就跃然纸上了。 一、三维地形绘制思路转载 2020-05-10 15:47:25 · 1872 阅读 · 0 评论 -
第15章 做游戏的主人——输出控制利器Directlnput
15.1 引言众所周知,在普通的Windows 程序中, 用户通过键盘或者鼠标输入的消息并不是应用程序直接处理的,而是通过Windows 的消息机制转发给Windows 操作系统的。Windows 操作系统对这些消息进行响应后,再通过回调应用程序的窗口过程函数进行相应的消息处理。这显然满足不了对于性能要求比较苛刻的游戏程序。在DirectX 中,微软为我们提供了名为Directlnput 接...转载 2020-05-04 00:58:04 · 751 阅读 · 0 评论 -
游戏输入控制利器:DirectInput
------------------------------------------------------------------------------------------------------------------------------ 在本篇文章中,我们一起详细探索了DirectInput这套在PC游戏即时控制方面一手遮天的API。下面先来看一下这篇一万多字文章的大体...转载 2020-04-30 23:12:18 · 5421 阅读 · 0 评论 -
整理了一下浅墨大神的Visual C++/DirectX 9.0c的游戏开发手记
还是很棒的博客,不过没有一个目录,所以自己做了一个山寨目录在这里,便于随时查找。前面31期从略。【Visual C++】游戏开发笔记三十二 浅墨DirectX提高班之一 DirectX大局观认知篇:点击打开链接【Visual C++】游戏开发笔记三十三 浅墨DirectX提高班之二 化腐朽为神奇:DirectX初始化四步曲:点击打开链接【Visual C++】游戏开发笔记三十四 浅墨...转载 2020-04-20 23:24:55 · 500 阅读 · 0 评论 -
ASSIMP概述
阅读更多 在3D渲染的时候,工作量比较大且比较麻烦的一件事就是建模,如果想降低这种麻烦就需要借用网络上已经存在的一些模型素材,至少这是非商用渲染程序常用手段(咱们自己写例子的时候经常这样做)。但是,由于网络中的模型格式众多,如果自己一一去解析代价也挺高的。ASSIMP作为一个开源项目,设计了一套可扩展的架构,为模型的导入导出提供了良好的支持。这里说的导入是...转载 2020-04-12 20:41:58 · 4368 阅读 · 0 评论 -
转:骨骼动画教程及微软示例Skinned Mesh的解析(一)
这是一篇比较不错的文章.关于骨骼动画及微软示例Skinned Mesh的解析骨骼动画是D3D的一个重要应用。尽管微软DXSDK提供了示例Skinned Mesh,但由于涉及众多概念和技术细节,示例相对于初学者非常复杂,难以看懂。在此,提供一些重要问题评论,以使初学者走出迷局,顺利上手。文中所述都是参照各种资料加上自己的理解,也有可能出些偏差,有则回贴拍砖,无则权当一笑。一 骨骼动画...转载 2020-04-06 23:54:57 · 447 阅读 · 0 评论 -
3DMax导出.x文件注意事项
在3DMAX中一个人物原本的正立的,在D3D中使用这个.x文件却成了倒立的图像,这是因为坐标系的问题,3dmax是右手坐标系,默认坐标系z朝上,d3d是左手坐标系,z朝里,你可以让他们导出的时候在3dmax按z朝里,y朝上倒,或者麻烦一点就是自己在绘制的时候转一下.在利用插件PandaDirectXMaxExporter导出的时候, 可以选择 left handed(左手坐标系), 结...转载 2020-03-30 22:38:13 · 382 阅读 · 0 评论 -
【Visual C++】游戏开发五十二 浅墨DirectX教程二十 骨骼动画来袭(一)
本系列文章由zhmxy555(毛星云)编写,转载请注明出处。 文章链接:http://blog.csdn.net/zhmxy555/article/details/8832812 ...转载 2020-03-30 22:28:01 · 738 阅读 · 0 评论 -
Direct-X学习笔记--骨骼动画进阶
上一次,封装了一个简单的骨骼动画类,但是,这个类有很多问题。第一,只能播放一个默认的动画,第二,一个动画的实例里面包含了所有的资源,而我们只是绘制的时候需要资源,实例本身并不需要都包含资源,所以只需要一个指针指向资源,绘制的时候通过这个指针渲染一下就好了,所以,这次在进行一次封装,实现一个支持多实例,多动画的骨骼动画类。一.AnimationSet一个.X文件中可能包含多个动画,比如idle...转载 2020-03-30 22:17:10 · 174 阅读 · 0 评论 -
.X文件中的AnimationSet分析
从网上下了个模型,导出成.X文件放程序里后发现有些问题。虽然模型动作很多,但是所有动作都放到同一个动画集里了。这样导致的后果就是这个模型只能看不能用。。。 在经过对.X文件格式分析后,发现可以修改下.X文件来把所有动作分离出来,放到不同动画集(An...转载 2020-03-30 15:58:35 · 181 阅读 · 0 评论 -
动画骨骼【Visual C++】游戏开发五十二 浅墨DirectX教程二十 骨骼动画来袭(一)
xof 0303txt 0032template ColorRGBA { <35ff44e0-6c7c-11cf-8f52-0040333594a3> FLOAT red; FLOAT green; FLOAT blue; FLOAT alpha;}template ColorRGB {<d3e16e81-7835-11cf-8f52-0040333594...转载 2020-03-30 14:45:10 · 511 阅读 · 0 评论 -
Direct3D学习手记十一:网格二【从.x文件中加载网格】
上篇我们介绍了自己创建网格的方法,此次我们介绍从.x文件中加载3D模型的方法.x文件:.x文件是一种存储3D模型数据的一种文本文件,其存储格式有两种:文本方式和二进制方式,其中文本方式易于查看,.x文件有其特定的格式.x文件中存储了顶点数据,材质信息和纹理贴图信息等待,可以通过特定的方式读取其中的内容。从.x文件中加载网格:HRESULT D3DXLoadMeshFromX( LP...转载 2020-03-29 23:35:58 · 242 阅读 · 0 评论 -
DirectX术语之 .X文件格式
X文件简介在D3D中, X文件主要是用来存储网格数据的,当然不光是网格数据,它还用来存储有关纹理,动画及用户定义的对象的一些数据.X文件还是模板驱动(Template-Driven)的,也就是说它存储数据的格式是基于模板的. 这使得这种文件格式具有结构自由,内容丰富,易应用,可移植性高等优点.X文件中的模板(Template)模板定义了数据流是怎样被格式化的,也就是告诉你对于一个3...转载 2020-03-29 20:41:59 · 2012 阅读 · 0 评论 -
Direct3D融合技术
一、概要 融合(blending)技术能使我们将当前要进行光栅化的像素的颜色与先前已光栅化并处于同一位置的像素进行合成。即将正在处理的图元颜色与存储在后台缓存中的像素颜色值进行合成(混合)。利用该技术,我们可以获得各种各样的效果,尤其是透明效果。二、融合方程 &n...转载 2020-03-22 23:04:37 · 668 阅读 · 0 评论 -
DirectX11+vs2010环境配置
DirectX11环境配置 转载 ...转载 2020-03-10 00:22:41 · 817 阅读 · 0 评论 -
DIRECTX9.0绘制流水线
DIRECTX9.0绘制流水线 主要目的是:在给定的3D场景和指定观察方向的虚拟摄像机(virtual camera)的几何描述时,创建一幅2D图像 一.模型表示: 三角形网格是构建物体模型的基本单元.1.顶点格式:顶点除了包含空...转载 2020-03-09 23:07:55 · 174 阅读 · 0 评论 -
投影矩阵和视口变换矩阵
OpenGL学习脚印: 投影矩阵和视口变换矩阵(math-projection and viewport matrix) ...转载 2020-03-09 23:01:32 · 784 阅读 · 0 评论 -
C/C++编程笔记:C/C++ 的编译和链接
我是一名从事了10年开发的老程序员,最近我花了一些时间整理关于C语言、C++,自己有做的材料的整合,一个完整的学习C语言、C++的路线和工具。如果感觉自学C/C++编程有困难的话可以湫湫扫下方二维码。这里是编程爱好者的聚集地,欢迎初学和进阶中的小伙伴。希望你也能凭自己的努力,成为下一个优秀的程序员。C/C++文件C/C++程序文件包括 .h .c .hpp .cpp,其中源文件(.c .cpp)是...转载 2020-02-11 23:41:58 · 207 阅读 · 0 评论