文章目录 前言 常见包围盒 包围球(Bounding Box) 轴对齐包围盒(Axis-aligned bounding box) 有向包围盒(Oriented bounding box) 包围视锥体(Bounding Frustum) 包围盒的相交、包含、碰撞检测及变换 包围盒与平面的相交检测 包围盒与包围盒的包含检测 包围盒与包围盒的碰撞检测 包围盒的变换 包围盒的其它方法 获取包围盒的八个顶...

文章目录 前言 实现雾效 HLSL代码 树的公告板效果 HLSL代码 图元ID 顶点ID 纹理数组 纹理数组的采样 纹理数组的加载 CreateDDSTextureFromFileEx函数--使用更多的参数,从文件中读取DDS纹理 纹理子资源(Texture Subresources) D3D11CalcSubresource函数--计算子资源的索引值 ID3D11DeviceContext::M...

文章目录 前言 .obj格式 .obj文件结构简述 .mtl文件结构简述 简单示例 使用自定义二进制数据格式提升读取效率 ObjReader--读取.obj/.mbo格式模型 Model类 GameObject类 GameObject::Draw方法 模型加载演示 Obj文件完整说明 前言 一个模型通常是由三个部分组成:网格、纹理、材质。在一开始的时候,我们是通过Geometry类来生成简单几何体...

文章目录 前言 交换律 深度测试 关闭深度测试 开启深度测试但关闭深度写入 利用深度测试和模板测试来绘制闪电特效与其镜面 RenderStates类的变化 加法混合 关闭深度测试 允许深度测试,但不写入深度值的状态 BasicObjectFX类的变化 BasicObjectFX::SetDrawBoltAnimNoDepthTest方法 BasicObjectFX::SetDrawBoltAnim...

文章目录 前言 几何着色器 可编程的几何着色器 从一个看似没什么用的几何着色器代码入手 实战1: 将一个三角形分割成三个三角形 HLSL代码 实战2: 通过圆线构造圆柱体侧面 HLSL代码 实战3: 画出顶点的法向量 HLSL代码 C++代码的部分变化 BasicObjectFX的变化 BasicObjectFX::SetRenderSplitedTriangle方法--渲染分裂的三角形 Basi...

环境:VS2017  语言:C++   根据上一次的博文,龙书第四章后面有一些练习题,这边正好做一下。   先附上工程链接:https://github.com/anguangzhihen/Dx11。 1.程序最好运行在Win32上; 2.如果Common下的脚本没有找到,请到工程/属性中添加包含目录; 3.所有的练习都在其中,全局搜索“练习”...

C++:C++11新特性详解(1)

C 11

  

2019-07-31 12:26:57

https://blog.csdn.net/linwh8/article/details/51569807 前言: 虽然目前没有编译器能够完全实现C++11,但这并不意味着我们不需要了解,学习它。深入学习C++11,你会发现这根本就是一门新的语言,它解决了c++98中许多遗留下来的问题。早晚会有一天,C++11便会普及大部分编译器。因此,提早做些准备也是应该的。 在此我想做一个关于C++11的专题...

学习目标: 学习如何使用几何学和数字描述 Vector; 学习 Vector 的运算方法及其在几何学上的应用; 熟悉在 DirectXMath library 中的 Vector 相关的类和函数。 1 向量 一个向量代表的是一个拥有大小和方向的量。类似力(拥有力的大小和方向)、位移(移动的方向和距离)、速度(速度的大小和方向)等,例如下图(图 1.1): 绘制向量的位置和向量本身无关,所以当且仅当...

1. auto关键字 在c语言中,auto用于修饰局部变量,也称之为自动变量: 在c++11中,auto根据用户的初始化内容自动推导其类型: 注意: (1)用auto定义变量时必须使用初始化(而不是赋值),因为auto就是根据初始值内容来分配内存空间的; (2)auto变量不能作为自定义类型的成员变量: (3)不能定义auto数组: (4)模板实例化类型不能是auto类型: (5)函数形参不可以是...

C++11的新特性

C++11

  

2019-08-16 17:29:23

本文全部参考自:http://www.cnblogs.com/wangqiguo/p/5635441.html,特此感谢。 开发环境: 1) C++shell 这个在线编译系统可以选择C++98、C++11、C++14特性。 2) Ubuntu gcc5.4版本以上,可以支持最新C++17特性,当然需要添加选项,比如: g++ test.cpp -o test -std=c++17 其他文章: h...

CMake进阶之初识CMake

cmake  c 11  boost

  

2019-09-02 16:24:30

    平时开发中我们已经习惯了让IDE为我们做好一切,大部分情况下基本上不需要手动去编写项目的make文件,但是在规模较大的项目中,make其实非常重要,甚至可以说会不会make决定了你是否真的了解项目的整体架构并驾驭它。因为自己在Android开发中发现项目中的NDK部分已经抛弃了传统的Android.mk,与时俱进用上了CMake,因此打算静下心来好好学习学习,本文开始对...

iOS 11.2 - 11.3.1 越狱教程 iOS 11.2 - 11.3.1 越狱教程 一、准备相应的工具 二、删除 11.4 OTA 更新包 三、安装 tvOS 描述文件屏蔽更新 四、打开 Electra 开始越狱 五、解决 Cydia 不能上网的问题 一、准备相应的工具 (1) 下载 CydiaImpactor,官网地址是 http://cydiaImpactor.com (2) 下载 E...

C++11初了解

C++11初了解

  

2019-06-19 14:01:10

C++11初认识 (1)初始化 (2)auto关键字 在之前,auto关键字被当做是存储类型的指示符,但是在C++11中 auto完全有了新的含义 ,auto 作为一个新的类型指示符,其声明的变量必须由编译器在编译期间推倒而来 下面的例子 我们发现auto在定义变量时必须初始化,需要根据后面的表达式来推断出变量类型,编译期间会将auto自动替换为对应的类型 auto 的优势 (1)用于复杂类型定义...