WhyDX9:翻写D3D红龙书中的程序】的更多相关文章

之前写过一套学习OpenGL的框架:WhyGL,即然有了GL那也应该再写个学习D3D的框架:WhyDX9.两个程序的架构相同,然后这个程序是将D3D红龙那本书的DEMO翻写了一遍.先将可执行程序发一下,代码等整理后再发. 使用说明: WhyDX9演示程序平台.exeWhyDX9.exe都可以运行程序,不同之处在于,一个是基本的Windows窗体程序,一个是MFC的单文档界面程序. 主UI界面上,鼠标点击可以选择要运行的DEMO键盘的上下键也可以选择DEMO,PageUp和PageDown用于翻页…
上次介绍了如何初始化Direct3D,这次手写一次初始化代码,都是一样的方式不过看起来整洁一点. 创建一个Win32空项目添加一个空类增加以下代码即可. #include "CreateDevice.h" #include <d3d9.h> #pragma region 初始化函数 CreateDevice::CreateDevice() { } CreateDevice::~CreateDevice() { } #pragma endregion LPDIRECT3D9…
个人认为学习3D图形程序开发,有两套经典教程.D3D的<D3D游戏开发编程基础>也就是红龙那本书.OpenGL的NEHE教程.为向经典致敬,将我之前翻写他们的程序开源. 我所做的工作是将其所有的DEMO集成到一个项目中.所有的DEMO使用同一个渲染设备.这样可以在一个进程中自由地切换DEMO.写这套东西最大的麻烦是,每一个DEMO对渲染设备状态做出的改变,在其退出时需要恢复回去.这看上去很容易,但当出现问题时查起来却很麻烦,因为教程中的DEMO实在是太多了.最常见的问题是渲染效果不对了,这在搞…
最近在重学OpenGL,之所以说重学是因为上次接触OpenGL还是在学校里,工作之后就一直在搞D3D,一转眼已经毕业6年了.OpenGL这门手艺早就完全荒废了,现在只能是重学.学习程序最有效的办法是动手写,光看书是不行了,因为看书的时候很容易陷入对人类两大难题的思考中,以至于进展缓慢.这两大难题是:这特妈是啥?那特妈又是啥?在重学的过程中,我翻写了Nehe所有的OpenGL教程DEMO.本来打算把"翻写"写成"重构"的,但想想"重构"这个词这么高…
前言 以前看别人博客说看完<深入理解Java虚拟机>这本书并没有让自己的编程水平提高多少,不过却大大提高了自己的装逼水平.其实,我倒不这么认为,至少在我看完一遍这本书后,有一种醍醐灌顶的感觉,很多模糊的知识和概念也变得清晰起来.今天,也是偶然的机会能够运用书中所学的知识解决实际问题,在这里,与大家分享一下,如有不正确的地方,还请指正. 问题描述 预生产环境突然出现了一个运行时异常,异常信息如下(Error异常): java.lang.NoClassDefFoundError: javax/se…
最近一直在学习实时渲染,不免要接触线性代数.而渲染中,一定会用到矩阵,当我再次去复习我之前看的书时,发现<Unity3D 实战核心技术详解>关于矩阵就有几处错误 ,特标注出来. 书的第一章<3D数学与Unity>,1.3.2讲矩阵缩放.1.3.3讲矩阵的旋转.缩放是一个矩阵,后面旋转针对绕三个不同的轴的旋转矩阵(x.y.z),总共4个矩阵,其中3个是错误的,只有一个绕y轴旋转是正确的.我不确定是印刷问题,还是作者本身对矩阵了解和掌握的就不深入,但出现这样的低级错误实属不该. 我直接…
本文会持续将<数据科学实战手册(R+Python)>一书中的附带参考资料网址手打出来, 方便访问. 由于书中的参考资料网址太多, 这个文档将可能花费一段时间才能完成. 第一章 P7  Rstdio (http://www.rstdio.com/) 参考Gettinng Started with R文章: http://support.rstdio.com/hc/en-us/articles/201141096-Getting-Started-With-R 访问RStdio的主页: http:/…
第一处: 书中62页定义的交叉熵函数定义有误,虽然这个所谓交叉熵的数值能够减少,但是是不能提升预测性能的,因为定义就错了. 我已经将预测过程可视化,直接将交叉熵改为我的,或者用原书的,就可以看到预测结果的变化. 第二处: 150页,lenet第三层卷积层的连接数目是(10*10*16*(5*5*6+1))=241600.因为本层输入矩阵的深度是6,输出矩阵的每个节点要与6个滤波器尺寸大小的矩阵产生联系. 程序下载: https://pan.baidu.com/s/1E8UIyd75gg6Z4Hp…
最近在重温K&R的C语言圣经,第二章中的练习题2-2引起了我的注意. 原题是: Write a loop equivalent to the for loop above without using && or ||. 题目里说的for循环是下面这个: ; i < lim- && (c=getchar()) != '\n' && c != EOF; ++i) s[i] = c; 不能用&&和||运算符,又要与for循环中的3个条…
原文:WPF 把图片分割成两份自动翻页 WpfFlipPageControl:CtrlBook 书控件 版权声明:本文为博主原创文章,需要转载尽管转载. https://blog.csdn.net/z5976749/article/details/39671691 WPF  CtrlBook使用方法: 首先先添加引用:using WpfFlipPageControl; dll名称:WpfFlipPageControl.dll,下载地址:http://api.dllzj.com/down/WpfF…
第十九篇(书中 8.8~8.10 节 内容) 开始 8.8节. 重点: 1.类型推断. 2.类型强制转换,使其拥有代码提示功能. 3.除了TS自带的类型判断,Egret官方也提供了类型判断的方法. 操作: 1.类型推断. 其实在写的时候,还没运行,就已经报提示了. 2.类型强制转换,使其拥有代码提示功能. 不使用强制转换时,是没有代码提示的. 使用了之后,就会有提示了. 3.除了TS自带的类型判断,Egret官方也提供了类型判断的方法. instanceof 和 typeof 就不说了,就只看看…
第十八篇(书中 8.5~8.7 节 内容) 其实语法篇,我感觉没必要写录入到日记里. 我也犹豫了好久,到底要不要录入. 这样,我先读一遍语法篇的所有内容,我觉得值得留下的,我就录入日记里. 不然像昨天那样,浪费了不必要的时间. 关于 JS.TS的知识,就去腾讯课堂看好了.日记里就不再提了. 好,我看了一下,觉得 8.5节 内容是属于Egret的范畴的. 开始 8.5节 . 重点: 1.get和set的声明. 2.get和set的覆盖. 跟做: 1.get和set的声明. 输入prop,然后按Ta…
第十七篇(书中 7.4~8.2节 内容) 昨天看到 7.3 节,那么今天. 开始 7.4节.     好吧,这些其他的服务器运行知识,就不搞了... 至此,7.4节 内容结束. 开始 7.5节 内容. 额...后期接触到,我会去整整看的.现在先专心搞Egret. 至此,7.5节 内容结束. 开始 7.6节 内容. · 嗯...这节怎么说呢,其实就是把前面学会的,连贯的做一遍. 好吧,那我就做一遍吧. 我先去找点资源. 好,我找到资源了. 第一步,导入资源. 第二步,创建EUI组件. 在src目录…
第十六篇(书中 6.10~7.3节 内容) 昨天搞定了6.9节,今天就从6.10节开始. 其实这个蛮简单的. 这是程序员模式. 这是设计师模式. 至此,6.10节 完毕. 开始 6.11节. 有点没营养..算了 至此,6.11节 完毕. 开始 6.12节. 1.基本都没问题. 2.做过了. 3.拉伸时,保持位置比例不变. 4.做过了. 至此,6.12节 完毕. 开始 7.1节. 好吧,其实也已经做过了.在 第九篇. 至此,7.1节 完毕. 开始 7.2节. 重点: 至此,7.2节 完毕. 开始…
第十五篇(书中 6.1~6.9节 内容) 好的,昨天完成了第五章. 今天来看第六章. 总结重点: 1.如何对组件进行分组? 跟着做: 重点1:如何对组件进行分组? 首先,选中你想要组合的组件. 然后点击 合组 按钮. 可以看到变成一个组合了. 这样你就可以按照组的方式,整体移动他们. 至此,6.1节 内容结束. 接着 6.2节 开始. 总结一下: 1.什么是锚点? 2.锚点有什么用? 跟着做: 重点1:什么是锚点? 作为组件 旋转的 中心点. 或者你可以鼠标放置在锚点上,也可以直接移动锚点. 重…
第十三篇(书中 5.2~5.3节 内容) 写日记已经十天多了,我发现越到后面,我书写的方式越来越程序化. 感觉渐渐失去了人类所谓的感情似的. 不过,没想到的是,书中的内容,很少出现了错误,我一路过来到现在都很顺.并没有踩到什么坑坑洼洼的东西. 因此,群Q里也相对较少的提问了.哈哈,不知道是好事还是坏事. 好了,不唠叨了,开始学习. 昨天搞定了5.1节,那么今天 5.2节 开始. 总结一下 5.2节 的重点: 1.为了解决拉伸按钮时,产生的形变,需要使用九宫格. 跟着做: 重点1:为了解决拉伸按钮…
第十二篇(书中 5.1节 内容) 昨天把 第4章完成了. 今天来看第5章. 接下来是 5.1节 的内容. 总结一下 5.1节 的重点: 1.如何制作一个公用按钮皮肤. 跟着做: 重点1:如何制作一个公用按钮皮肤. 首先,先创建一个 exml 文件. 创建上一节学到的自定义皮肤按钮. 把外围矩形调整和按钮一样大小. 接着拖入label组件,代替按钮原来的文本. 接着,按照书中所说. 虽然不知道为什么一定要改成labelDisplay,姑且先照着做吧. 好,那么ID名也起好了. 然后再起个标签名字.…
第九篇(书中 2.7~2.8节 内容) 昨天记录到了 2.6节 ,那么今天就从 2.7节 开始. 这个 2.7节 有7个小段,有点长,总结一下重点: 1.调试项目的两种方法. 2.运行项目的两种窗口选择. 3.二维码调试时,注意连接到同一局域网,以及定期清理手机缓存. 4.快速生成二维码插件的使用. 5.程序入口设置文件 index.html 的属性说明. 6.4.10版本之前,以及后续版本修改 index.html 时,要注意的问题. 7.EXML主题描述文件 default.thm.json…
第八篇(书中 2.0~2.6节 内容) 好!开始把前三章的内容录入进来. 但是!由于第一章说的内容都是在介绍白鹭引擎的背景信息,我就不在日记中写了. 直接开始从第二章写起. 2.0节 中提到了IDE(代码编辑器)最好使用Egret提供的Egret Wing. 接下来是 2.1节 . 总结一下 2.1节 重点: 1.快捷键的使用. 2.鼠标右键菜单提供的基础功能. 跟着做,感觉就没必要了.太简单了. 接下来看 2.2节 的内容. 总结 2.2节 的重点: 1.可以创建不同的项目类型 跟着做: 重点…
第三篇 (书中 3.4 内容) 今天还是要把昨天项目运行后,EXML文件里的界面没有出现的问题解决了才行. 去了群里,没人回.去了官网看文档,看不懂. 不过倒是看到了一个好东西: 还挺便宜啊,一个月要的费用也少. 难道又要我不看书?转战阵地?总有一种走迷宫的赶脚......算了,还是看书吧.ε=(´ο`*)))唉 迷茫.徘徊.郁闷.忧郁.呆滞...... 点开看看代码 发现好像还是可以填写路径的,我就试了一下. 乖乖!居然可以了,哈哈!!! 接着往下继续看. 书中提到了三点内容: 1.4.x版本…
第六篇(书中 3.6~3.9节 内容) 在本篇写之前,还是要为昨天写的日记道歉才行,差点就误人子弟了. 没想到在程序员界最低级的错误 “单词拼写错误” 还是会经常犯. childrenCreated 我就不能复制书中所写的么...非要自己打...作孽呀. 好,开始看书中下一段内容: 以上就是3.6节的所有书中内容,那么来总结一下重点: 1.认识位图控件Image 是的,就一个重点,因为书中之后的知识点,其实在前面已经都知道了.无非就是以下三个学过的知识点: 1.创建EXML文件 2.拖入控件.设…
第二篇 (书籍的选择 && 书籍目录 && 书中 3.3 节 内容) 既然选好了Egret,那我就要想想怎么学了. 开始第一步,先加个Q群先,这不,拿到了一本<Egret  HTML5游戏开发指南>,阅至三章,得到印象相对较深的好处和坏处: 好处: 1.原来 Egret 这么牛皮,他们的 Egret Runtime 从底层访问OpenGL接口,让HTML5游戏和原生APP游戏,性能差别不到5帧.媲美原生了! 2.了解了WebGL技术原来是搞3D游戏用的 3.了解…
第五篇(书中 3.5节 内容) 今天得把昨天的问题解决了才行. 去了Q群,碰到一位大大,他给我解惑了.Thanks♪(・ω・)ノ 这是我之前按照书上写的方式写的,并没有效果. 然后大大给我解答了: 后来我就改了一下: 可以看到,有效果了.关键点就在两点: 1.书中所说的childrenCreated方法根本没用.(来自2019-7-15的我:对不起,我的锅,请忘记这条吧) 2.在绑定this.skinName 皮肤之前,要先监听 控件加载完成后 事件. 什么意思呢?我来一一说明: 第一点: 是的…
有读者问,为什么< .NET并发编程实战>一书中的节流为什么不翻译成限流? 这个问题问得十分好!毕竟“限流”这个词名气很大,耳熟能详,知名度比“节流”大多了. 首先,节流的原词Throttle来自于机械行业中的节流阀.(P.S< .NET并发编程实战>一书中的很多词特别是函数式编程方面的专业名词都来自于数学.硬件.机械行业). 更重要的是: 使用“rx 限流”出来的搜索结果是这样的 使用“rx 节流”出来的搜索结果是这样的 很明显啦!如果翻译成“限流”而不是“节流”的话,读者根据“…
http://www.cnblogs.com/insus/p/4306640.html http://json2csharp.chahuo.com/ 本篇一步一步学习怎样把显示于网页的json格式的字符串写进text文件中,并保存起来.学习到创建model, Entity, 序列化List<object>转换为json,显示于网页上.然后是把这些json字符串传至控制器的方法,写text文件并保存.准备数据对象,创建model: 接下来创建Entity,数据实体,数据可以是从文件,数据库或是其…
需求:将一个JSON对象写出到文件中,要求文件中的JSON数据带有简单的格式.代码的实现参考了Java算法中的栈处理括号匹配问题.好了,不多说了,下面是代码的实现. 代码: package gemu.test.json; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.Writer; import net.sf.json.JSONArray; public cla…
1.项目介绍: 由于大数据部门涉及到其他部门将数据传到数据中心,大部分公司采用的方式是用json文件的方式传输,因此就需要编写服务端和客户端的小程序了.而我主要实现服务端的代码,也有相应的客户端的测试代码.这里须有一个需要提到的是,我在实现接收json文件的同时,而且还需将数据写到hbase中.写入到hbase当中采用的是批量插入的方式,即一次插入多条记录. 好了,有了前面的说明,下面来简单的说一下我实现的服务端的小程序把. 2.为了实现服务端能够监听客户端的行为,因此我在服务端采用多线程的技术…
本篇一步一步学习怎样把显示于网页的json格式的字符串写进text文件中,并保存起来.学习到创建model, Entity, 序列化List<object>转换为json,显示于网页上.然后是把这些json字符串传至控制器的方法,写text文件并保存. 准备数据对象,创建model: 接下来创建Entity,数据实体,数据可以是从文件,数据库或是其它.下面的数据是Insus.NET写成静态.因此上例中只是演示而已. ASP.NET MVC程序开发,控制器是很不了的.我们创建一个控制器,今天已经…
17.9 Design a method to find the frequency of occurrences of any given word in a book. 这道题让我们找书中单词出现的频率,那么首先需要搞清楚的问题是,只需要统计一个单词,还是多个单词.如果是一个单词的话,那直接就遍历所有单词直接统计即可,如果是多个,就需要建立哈希表来建立每个单词和其出现次数之间的映射,然后再来查找即可,参见代码如下: unordered_map<string, int> make_dicti…
转:http://stackoverflow.com/questions/11382057/declaring-a-delegate-protocol There definitely are subtle differences. If the protocol you are talking about is a delegate that is used by one particular class, for example, MySpecialViewController, and M…