
DirectX
文章平均质量分 71
不练成自由倒立不改名
一步一步向前走,不后退就OK
展开
-
[DirectX]Programming.Role.Playing.Games:GameCore
按照《Programming.Role.Playing.Games》书上顺序,这一次应该是是第5章,Networking with DirectPlay,看了一会准备去写代码的时候,发现DirectPlay已经不支持了,想了一下,网络这块也不是必须要用到Direct Play,就懒得再去细究了。直接跳过,到下一章,也就是本书第2部分的结束,第6章:GameCore,相当于总结一样。...原创 2018-09-24 16:31:22 · 592 阅读 · 0 评论 -
[DirectX]timeGetTime精度问题
之前写了一个静态库,最近在使用时发现IDirectInputDevice8的数据有问题,情况是按下按键偶尔没有反应。调试一天,没找到问题,代码从头到尾也看了好几遍,还是没有发现问题,就暂时放下了。刚好在加FPS代码的时候,偶然发现这个问题所在。先上错误代码:void CSystem::Run(){ MSG msg; bool done, result; memse...原创 2018-10-08 20:39:34 · 732 阅读 · 0 评论 -
[DirectX]はじめての3Dゲーム:Chapter1-Chapter2
最近找到了一个比较好玩的东西,日本DirectX的教材,有很多本,最简单的最符合新手的「ゲームプログラミング入門 第2版」(游戏编程入门 第2版),没有找到资源,倒是找到了也算是DirectX的新手教材「はじめての3Dゲーム」(第一个3D游戏),那就有意思了,因为据说日本人的代码风格应该算是很严谨规范的,看看好不好玩。(这篇文章是我刚下到资源后看了会写的,过去快2个月了,共192页的...原创 2018-12-11 09:06:38 · 7396 阅读 · 0 评论 -
[DirectX]はじめての3Dゲーム:Chapter3
第3章内容相对简单些,就是通过键盘上的输入来控制上一章坦克的移动,《はじめての3Dゲーム》作者介绍了2种方式实现的案例,第1种就是通过Window自身的消息循环机制和回调函数来处理,第2种就是通过DirectInput实时处理,效果比第1种好很多。 代码大部分跟上一章内容很相似,就截取一部分不相同的内容。上一章作者为了简化代码和可读性,省去了释放资源这一步,所以上一章...原创 2018-12-12 19:59:55 · 30414 阅读 · 0 评论 -
[DirectX]DXTRACE_ERR_MSGBOX编译报错问题修复
最近学习时候用到DXTRACE_ERR_MSGBOX这个宏,发现连接错误,搜了半天才找到解决方案,记录一下,省的下次再搜。代码如下:#pragma comment(lib, "d3d9.lib")#pragma comment(lib, "d3dx9.lib")#pragma comment(lib, "DxErr.lib")#include <Windo...原创 2018-12-08 14:02:36 · 494 阅读 · 0 评论 -
[DirectX]RegisterRawInputDevices和DirectX11垂直同步渲染冲突
最近在学习引擎的时候,发现DirectX11垂直同步提交非常卡,测试了下,发现每次提交需要20毫秒以上时间,关闭垂直同步的提交时间几乎在2毫秒以下。(没有任何渲染,就是设置背景色为蓝色而已) float bgColor[4]; bgColor[0] = 0.0f; bgColor[1] = 0.0f; bgColor[2] = 1.0f; bgColor[3...原创 2019-06-05 18:36:33 · 761 阅读 · 0 评论 -
[DirectX]Engine的第一步?控制台创建窗口及封装main函数
看《Teach Yourself Game Programming with DirectX in 21 Days》真的快半年了,虽然有很长时间都花在项目上(主要是在对接大厂的SDK,那段时间真的快对接疯了),但至少从开始到现在有半年的时间了,真的看的有点累了,换个心情看起了GameEngine相关视频。最近也会开始将从《Teach Yourself Game Programming...原创 2019-06-01 12:09:56 · 313 阅读 · 0 评论 -
[DirectX]Assimp环境配置
之前有提到过正在看DirectX Engine系列的视频,最近刚看完,发现这不是Engine的教程,应该算是DirectX11的教程,将近10多个小时的英文视频教程,还是学到了很多东西,一个算是ImGui(玩了一会,感觉很类似Unity的OnGUI), 另一个则是assimp(加载模型)吧。记得之前在这个网站学习DirectX11学习加载模型的时候,还得一步一步去解析顶点和索引数据。...原创 2019-06-20 12:04:02 · 2298 阅读 · 0 评论 -
[DirectX]Programming.Role.Playing.Games:04_Sound
Sound,在Programming.Role.Playing.Games书上,有介绍到使用DirectMusic和DirectSound,但dx9实在是太老了,DirectMusic也已经不支持了,而且现在还有个XAudio2组件,所以书上这一章节其实没有大多价值。 大致流程跟之前的DirectInput类似,创建设备(CreateDevice),设置协作级(...原创 2018-07-21 21:05:13 · 228 阅读 · 0 评论 -
[DirectX]Programming.Role.Playing.Games:02_06_Font
字体,如果按照Programming.Role.Playing.Games.with.DirectX书上的作做法,使用ID3DXFont会很简单,完全无脑,但是DX9太老了,在学习DX11的时候,就会发现没有ID3DXFont,需要自己利用绘制2D的方式来实现字体。还是老规则,左边的是用固定管线实现的,右边是用Shader实现的,而且这次会非常明显,有文字提示。 Programmin...原创 2018-07-07 21:04:26 · 230 阅读 · 0 评论 -
[DirectX]Programming.Role.Playing.Games:03_Input
本来按照Programming.Role.Playing.Games.with.DirectX书上的节奏,接下来的应该是公告牌的内容,用shader也实现了效果,但得到的效果是图形是有点旋转的,其他都没问题,这就尴尬了,找了大佬看了下,大佬也说shader代码怎么看都没问题,需要调试才能找问题,dx9调试就有点麻烦就懒得弄,直接跳过了。 后面的粒子特效也是使用...原创 2018-07-18 20:46:33 · 292 阅读 · 0 评论 -
[DirectX]DirectX9使用Effect和Vertexshader、PixelShader的区别
最近刚看完UnityShader的一些介绍和例子,发现理论上的东西都是含糊过去的,就还是老老实实去看dx。之前有学过dx,dx10,11的初始化太繁琐,代码是dx9的好几倍,手上也有本《DirectX3D HLSL高级实例精讲》里面用的就是dx9,所以就选择用dx9来写。 最近刚看到不用effect来写,分成vertexshader.vs和pixeslshader.ps来写,就跟dx...原创 2018-05-27 09:40:45 · 1882 阅读 · 0 评论 -
[DirectX]Programming.Role.Playing.Games:02_01 Draw2D
Programming.Role.Playing.Games.with.DirectX第2章开始介绍坐标系,矩阵和向量一些数学概念,每本dx书都是必备的吗?这些就没什么好说的,直接来第一个工程,就是Draw2D,书是用固定管线来实现的,因此没什么难度,刚好自己有学过一点HLSL,就用HLSL也实现了一遍。就如上图,左边的就是用固定管线实现的,右边是用HLSL实现的。 我用的框架是之前...原创 2018-06-29 19:15:12 · 210 阅读 · 0 评论 -
[DirectX]Programming.Role.Playing.Games:02_02 Draw3D
Draw3D就跟Programming.Role.Playing.Games.with.DirectX书上的源码不一样,书上的是之前的2D图片带上旋转。我将他改成Cube,还是老规则,左边的是用固定管线实现的,右边是用HLSL实现的。右边的明暗变化不是很明显,其实效果是跟Draw2D一样的,因为PixelShader代码是一样的。只是没截好图。 代码是在之前Draw2D上改的,Cub...原创 2018-06-30 19:03:31 · 224 阅读 · 0 评论 -
[DirectX]Programming.Role.Playing.Games:02_03_AlphaBlend
Alpha混合用的就是Programming.Role.Playing.Games.with.DirectX书上的例子,因为一时想不到什么好的,还是跟以前一样,加了个Shader实现的。还是老规则,左边的是用固定管线实现的,右边是用Shader实现的。右边的变化还是比较明显的。 代码是在之前Draw2D上修改的,这样快速,不需要在关心这个初始化,那个初始化来着,之前有忘记说,如果顶点...原创 2018-06-30 20:32:14 · 241 阅读 · 0 评论 -
[DirectX]Programming.Role.Playing.Games:02_04_AlphaTest
AlphaTest,在Programming.Role.Playing.Games.with.DirectX书上讲的是一张带孔的图片,书上只给了个实现代码,而且用的是ColorKey这玩意,没有详细的介绍,源码里也没有,图片也没有,难道需要我手绘,那就尴尬了,还好想起我之前学《UnitytShader入门精要》中有AlphaTest章节,刚好把那张贴图拿过用。还是老规则,左边的是用固定管线...原创 2018-06-30 23:44:26 · 245 阅读 · 0 评论 -
[DirectX]Programming.Role.Playing.Games:01-开始
为什么突然开始Programming.Role.Playing.Games.with.DirectX是有原因的,DX11卡font这节,HLSL被书坑了,学习进程被打乱了,之前有瞄了一眼Programming.Role.Playing.Games.with.DirectX,发现讲的还是不错的,通俗易懂,就拿来练习下。 本来打算是先学完DX11的,但是坑爹的是到dx11的f...原创 2018-06-29 08:44:11 · 399 阅读 · 0 评论 -
[DirectX]Programming.Role.Playing.Games:02_05_Light
Light,Programming.Role.Playing.Games.with.DirectX书上把点光源,聚光灯,平行光和环境光都介绍了一下,案例也只给了最简单的平行光的源码,稍微简略了一点。其实用固定管线实现都很简单,就改几个参数,但用Shader来实现的话,就复杂了,涉及到了光照衰减公式等。还是老规则,左边的是用固定管线实现的,右边是用Shader实现的。 因为代码写的有点...原创 2018-07-05 20:47:20 · 287 阅读 · 0 评论 -
[DirectX]3D.Game.Engine.Programming:01
最近找到一本好书《3D.Game.Engine.Programming》,讲的是引擎相关的内容,最重要的是底层渲染采用的是DirectX,不是OpenGL太好了(根本就没学过,之前看了很多都是讲OpenGL的,太累了)。 前2章没啥内容,第一章介绍引擎是啥,游戏开发人员(从策划到程序),DirectX和OpenGL的战争,稍微过一下就好(太多生僻词了)。第二章就介绍了需...原创 2019-08-15 21:04:09 · 1122 阅读 · 0 评论