0x00 向量 向量 ( vector ) 是一种兼具大小 ( magnitude ) 和方向的量. 0x01 几何表示 几何方法中用一条有向线段来表示一个向量,其中,线段长度代表向量的模,箭头的指向代表向量的方向. 改变向量的位置不会改变其大小和方向,所以向量与其位置无关.当我们说两个向量相等,当且仅当它们的长度相等且方向相同. 0x02 数学表示 数学中使用坐标系来描述向量,通过平移操作将向量的尾部移动到原点,就可以通过坐标来确定该向量. 每当我们根据坐标来确定一个向量时,其对应的坐标总是相…
1. { { , DXGI_FORMAT_R32G32B32_FLOAT, , , D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, }, { , DXGI_FORMAT_R32G32B32_FLOAT, , , D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA, }, { , DXGI_FORMAT_R32G32B32_FLOAT, , , D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DA…
0x00 需要用到的头文件 #include <DirectXMath> #include <DirectXPackedVector.h> using namespace DirectX; using namespace DirectX::PackedVector; 0x01 针对不同平台的设置 针对 x86 平台: 需要启用 SSE2 指令集(Project Properties(工程属性) -> Configuration Properties(配置属性) -> C…
0x00 安装 Visual Studio 2019 安装 Visual Studio 2019 以及相关组件. 注:安装组件时带的 Windows 10 SDK 可以在 Individual components 中更换,这里更换为 10.0.19041.0. 0x01 新建工程 打开 Visual Studio 2019 并创建一个空项目,名字随意. 0x02 下载源码 源码下载地址:https://github.com/d3dcoder/d3d12book 下载完成后将整个 Common…
整个引擎代码在github上,地址为:https://github.com/sun2043430/RegularExpression_Engine.git nullable, firstpos, lastpos, followpos函数介绍 接着上两篇文章 <正则表达式引擎的构建——基于编译原理DFA(龙书第三章)——1 概述> <正则表达式引擎的构建——基于编译原理DFA(龙书第三章)——2 构造抽象语法树> 本篇将讲解对抽象语法树上的每一个节点计算对应的4个函数:nullabl…
原文:[HLSL]HLSL 入门参考 (dx11龙书附录B译文) HLSL 高级着色语言 参考文档 龙书DirectX12现已推出中文版,其附录B的高级着色器语言参考的翻译质量比本文更高,有条件的读者可以去支持一下. 目录 文章目录 目录 变量类型 标量类型 矢量类型 Swizzles 矩阵类型 数组 结构体 typedef 关键字 变量前缀 类型转换 (Casting) 关键字 和 (运)算符 关键字 (运)算符 流程语句 函数 自定义函数 内建函数 译注 变量类型 标量类型 bool: 值为…
1.龙书(Dragon book)书名是Compilers: Principles,Techniques,and Tools作者是:Alfred V.Aho,Ravi Sethi,Jeffrey D.Ullman国内所有的编译原理教材都是抄的它的,而且只是抄了最简单的前端的一些内容.龙书中文版第一版龙书英文版第二版 2.鲸书(Whale book)书名是:Advanced Compiler Design and Implementation作者是:Steven S.Muchnick也就是高级编译…
// 来自龙书第2章2.5小节-简单表达式的翻译器 笔记 既然是语法制导翻译(Syntax-directed translation),那么最重要的东西当然是描述该语言语法的文法,以下为中缀表达式文法(仅由+-以及0~9的数字构成): expr -> expr + term | expr - term | term term -> ~9的数字 接下来考虑如何利用该文法将原语言转化为后缀形式,此时可以脑补一下该文法的语法分析树(parse tree),例如: 严格来说,语法分析树是相对于某特定终…
原文:Directx11学习笔记[八] 龙书D3DApp的实现 directx11龙书中的初始化程序D3DApp跟我们上次写的初始化程序大体一致,只是包含了计时器的内容,而且使用了深度模板缓冲. D3DUtil类,定义了一些工具和宏,目前只定义了两个宏,以后还会添加 #ifndef D3DUTIL_H #define D3DUTIL_H #include <d3dx11.h> #include <xnamath.h> #include <dxerr.h> #includ…
向量是线性代数最基础.最基本的概念之一,要深入理解线性代数的本质,首先就要搞清楚向量到底是什么? 向量之所以让人迷糊,是因为我们在物理.数学,以及计算机等许多地方都见过它,但又没有彻底弄懂,以至于似是而非. 1. 物理学中的向量 物理学中的向量:空间中的箭头,由长度和它所指的方向决定 而且,在物理学中,你可以在空间中自由地移动向量,只要保持向量的长度和所指的方向不变,向量便保持不变,即移动前后的向量是同一个向量! 2. 计算机专业中的向量 计算机中向量是有序的列表 例如我们要对房价建模, 我们可…