测试一、虚继承与继承的区别1.1单个继承,不带虚函数1>classBsize(8):1>+---1>0|+---(baseclassA)1>0||_ia//4B1>|+---1>4|_ib//4B有两个int类型数据成员,占8B,基类逻辑存在前面1.2、单个虚继承,不带虚函数1>classBsize(12):1>+---1>0|{vbptr}//虚基指针(指向虚基表)1>4|_ib//派生类放到前面1>+---1>+---(virtualbaseA)//虚基类1>8|_ia1>+---1>B::$vbtable@://虚基表1>0|0//虚基指针距离派生类对象偏移0B1>1|8(Bd(B+0)
前言DearImGui是一个开源GUI框架。除了UI部分外,本身还支持简单的键鼠交互。目前项目内置的是V1.87版本,大概半年时间会更新一次版本,并且对源码有小幅度调整。注意:直接下载源码使用会导致19章之后的UI效果有误,修改了源码imgui_impl_dx11.cpp,需要用项目源码中的替换下载的。具体原因参考文末DirectX11WithWindowsSDK完整目录Github项目源码欢迎加入QQ群:727623616可以一起探讨DX11,以及有什么问题也可以在这里汇报。生成ImGui静态库方法一:VS建立项目在本项目的ImGui文件夹中内置了一个VS项目,你可以参考其做法,也可以直接使
前言DearImGui是一个开源GUI框架。除了UI部分外,本身还支持简单的键鼠交互。目前项目内置的是V1.87版本,大概半年时间会更新一次版本,并且对源码有小幅度调整。注意:直接下载源码使用会导致19章之后的UI效果有误,修改了源码imgui_impl_dx11.cpp,需要用项目源码中的替换下载的。具体原因参考文末DirectX11WithWindowsSDK完整目录Github项目源码欢迎加入QQ群:727623616可以一起探讨DX11,以及有什么问题也可以在这里汇报。生成ImGui静态库方法一:VS建立项目在本项目的ImGui文件夹中内置了一个VS项目,你可以参考其做法,也可以直接使
前言在默认的情况下渲染,会看到物体的边缘会有强烈的锯齿感,究其原因在于采样不足。但是,尝试提升采样的SSAA会增大渲染的负担;而硬件MSAA与延迟渲染又不能协同工作。为此我们可以考虑使用后处理的方式来进行抗锯齿的操作。在这一章中,我们将会讨论一种常见的后处理抗锯齿方法:FXAA。DirectX11WithWindowsSDK完整目录欢迎加入QQ群:727623616可以一起探讨DX11,以及有什么问题也可以在这里汇报。FXAAFXAA(FastapproXimateAntiAliasing)抗锯齿算法是由NVIDIA的TimothyLottes开发的,核心思想是从图像中分析出哪些像素属于边缘,
前言在默认的情况下渲染,会看到物体的边缘会有强烈的锯齿感,究其原因在于采样不足。但是,尝试提升采样的SSAA会增大渲染的负担;而硬件MSAA与延迟渲染又不能协同工作。为此我们可以考虑使用后处理的方式来进行抗锯齿的操作。在这一章中,我们将会讨论一种常见的后处理抗锯齿方法:FXAA。DirectX11WithWindowsSDK完整目录欢迎加入QQ群:727623616可以一起探讨DX11,以及有什么问题也可以在这里汇报。FXAAFXAA(FastapproXimateAntiAliasing)抗锯齿算法是由NVIDIA的TimothyLottes开发的,核心思想是从图像中分析出哪些像素属于边缘,
前言注意:这一章进行了重写,对应教程Dev分支第19章的项目,在更新完后面的项目后会替换掉原来第19章的教程在前面的章节中我们一直使用的是由代码生成的几何模型,但现在我们希望能够导入模型设计师生成的各种格式的模型。然而,在DirectX中,将模型导入到内存后还需要我们进行处理,最终变成能让管线使用的顶点缓冲区、索引缓冲区、各种常量等,这就意味着我们需要关注这些模型数据的细节了。然而一个现实问题是,模型的格式有很多种,且每种格式内部的存储结构又各不相同,不仅可以是文本形式,还可以是二进制形式。在这一章中,我们将学习使用Assimp模型加载库,它支持很多种模型格式的导入,能够处理成Assimp统一
前言注意:这一章进行了重写,对应教程Dev分支第19章的项目,在更新完后面的项目后会替换掉原来第19章的教程在前面的章节中我们一直使用的是由代码生成的几何模型,但现在我们希望能够导入模型设计师生成的各种格式的模型。然而,在DirectX中,将模型导入到内存后还需要我们进行处理,最终变成能让管线使用的顶点缓冲区、索引缓冲区、各种常量等,这就意味着我们需要关注这些模型数据的细节了。然而一个现实问题是,模型的格式有很多种,且每种格式内部的存储结构又各不相同,不仅可以是文本形式,还可以是二进制形式。在这一章中,我们将学习使用Assimp模型加载库,它支持很多种模型格式的导入,能够处理成Assimp统一
Fibersim安装记录1.为什么要写这个文章?因为我前前后后装了四天才装成功。在我的电脑上,fibersim14161715挂到UG1012CatiaV5-6R20192018都试过了,而且失败。记一下吧。2.准备工作fibersim要和creoUGNXCatia配合使用。可以挂载在这些软件上。所以安装fibersim之前:1.安装好对应版本的CAD软件,比如fibersim14最多只支持UG102.最好只有一个版本的NXCreoCatia,不然安装的时候可能导致CAD软件的许可证系统混乱。(个人经验)3.安装在本地电脑建议别看网上那些教程,按照那些教程安装后,UG的许可证会被FIBERSI
我今年12岁了,我喜欢打游戏,怎么能成为编程高手呢?上面是一位读者的私信。我的回答喜欢打游戏是好事,而且你能把打游戏和成为编程高手联系到一起,说明你很有想法。作为一个8年开发经验的程序员来告诉你:成为编程高手的关键是你要有自己的想法,能解决各种问题。比如你爱打游戏,你就应该知道怎么玩游戏比较爽,怎么卡buff。你也肯定有自己爱玩的游戏和不爱玩的游戏。请问,你爱玩什么类型的游戏,为什么?不爱玩什么类型的游戏,又是为什么?你带着这些问题去有针对性的学习游戏开发,以解决问题为驱动,以让你打游戏更爽为驱动。不要听学校里教你的:现在要好好读书,高考才是唯一的出路,等考上了好大学,报考计算机专业,好好学习
Fibersim安装记录1.为什么要写这个文章?因为我前前后后装了四天才装成功。在我的电脑上,fibersim14161715挂到UG1012CatiaV5-6R20192018都试过了,而且失败。记一下吧。2.准备工作fibersim要和creoUGNXCatia配合使用。可以挂载在这些软件上。所以安装fibersim之前:1.安装好对应版本的CAD软件,比如fibersim14最多只支持UG102.最好只有一个版本的NXCreoCatia,不然安装的时候可能导致CAD软件的许可证系统混乱。(个人经验)3.安装在本地电脑建议别看网上那些教程,按照那些教程安装后,UG的许可证会被FIBERSI