这个样例是在之前的样例基础上 .把之前d3dx10math数学库换成了最新的d3dxmath.长处就不说了.先上效果图 所有代码.以及效果文件 文件结构 所有代码: 依照上图的文件顺序 #pragma once #include <D3DX10math.h> #include <xnamath.h> class XCamera { public: XCamera() { m_positionX = 0.0f; m_positionY = 0.0f; m_positionZ = 0.…
本文由zhangbaochong原创,转载请注明出处http://www.cnblogs.com/zhangbaochong/p/5827714.html 在前面我们曾经实现过简单的地形(Directx11学习笔记[十三] 实现一个简单地形),只不过原来使用一个固定的函数获得地形高度,这样跟真实的地形差距比较大.接下来让我们学习使用高度图来进行三维地形模拟. 1.高度图 高度图其实就是一组连续的数组,这个数组中的元素与地形网格中的顶点一一对应,且每一个元素都指定了地形网格的某个顶点的高度值.高度…
我们把上一个教程的代码封装到一个类中来方便以后的使用. 首先新建一个空工程叫做MyHelloWin,添加一个main.cpp文件,然后新建一个类叫做MyWindow,将于窗体有关的操作封装到里面 MyWindow.h文件 /************************************************************************ Directx11学习笔记[2] 将HelloWin封装成类 2016.01 by zhangbaochong /********…
声明:本系列教程代码有部分来自dx11龙书及dx11游戏编程入门两本书,后面不再说明 首先,在vs2013中创建一个空的解决方案Dx11Demo,以后的工程都会放在这个解决方案下面.然后创建一个win32项目,勾选空项目,确定 在源文件中添加一个c++ Source File main.cpp 创建一个windows应用程序需要以下几步: WinMain函数的定义; 创建一个窗口; 进行消息循环; 编写窗口过程函数. 要创建一个窗口,必须有一个WinMain函数,可以在MSDN中查看原型 int…
ArcGIS案例学习笔记_3_2_CAD数据导入建库 计划时间:第3天下午 内容:CAD数据导入,建库和管理 目的:生成地块多边形,连接属性,管理 问题:CAD存在拓扑错误,标注位置偏移 教程:pdf page97 数据 几何:Landcode.Annotation,Polyline Roadnet.polyline 属性:excel,plandata.xls 步骤: 1. 新建数据库 2. 新建数据集(坐标系:西安80,3度,中央经线120) 3. landcode.dwg导入数据集(anno…
原文:Directx11学习笔记[二十一] 封装键盘鼠标响应类 摘要: 本文由zhangbaochong原创,转载请注明出处:http://www.cnblogs.com/zhangbaochong/p/5804565.html 由于我们练习的Demo一般都比较简单,对响应时间效率没有太高要求,因此键盘鼠标响应可以采用Win32的处理函数,而不必使用DirectInput,DirectInput在后面会专门再介绍. 为了方便使用,封装了一个Input类用于处理键盘鼠标消息,为了方便采用单例模式,…
原文:Directx11学习笔记[九] 3D渲染管线 原文地址:http://blog.csdn.net/bonchoix/article/details/8298116 3D图形学研究的基本内容,即给定场景的描述,包括各个物体的材质.纹理.坐标等,照相机的位置及朝向,光源等信息,计算其最终在二维的光栅化显示器上对应的显示结果.从最初的场景描述到最终的显示结果,这整个过程就是在3D渲染管线中完成的.       这里的“管线”即我们通常意义上的流水线,与工业上的生产流水线,或者是CPU指令执行的…
原文:Directx11学习笔记[八] 龙书D3DApp的实现 directx11龙书中的初始化程序D3DApp跟我们上次写的初始化程序大体一致,只是包含了计时器的内容,而且使用了深度模板缓冲. D3DUtil类,定义了一些工具和宏,目前只定义了两个宏,以后还会添加 #ifndef D3DUTIL_H #define D3DUTIL_H #include <d3dx11.h> #include <xnamath.h> #include <dxerr.h> #includ…
directx11 特别推出了一个数学库 用于向量 矩阵的计算.并且使用128位 同一时候计算4条32位数据 (SIMD) 之前基本是用的directx10math.h这个头文件.  这个数学库既然是新出的.肯定在硬件方便处理起来比曾经的快很多,优化了非常多. 技术永无止境嘛.推荐用新的 而如今能够单独用 xnamath.h directx9 10 11 都能够用这个库,非常方便. 以下的表能够高速从曾经的数学库找到替换函数. 对了 昨晚遇到一个坑.攻克了非常久. 原来是因为xnamath 里面…
Beautiful Soup库也称为beautiful4库.bs4库,它可用于解析HTML/XML,并将所有文件.字符串转换为'utf-8'编码.HTML/XML文档是与“标签树一一对应的.具体地说,Beautiful Soup库是可以解析.遍历.维护HTML/XML文件的“标签树”的功能库.本文总结了BeautifulSoup的基本使用方法. 一.Beautiful Soup库基本元素 库的比较常见的引用方式如下 from bs4 import BeautifulSoup #从Beautifu…
一.Requests库的基本说明 引入Rquests库的代码如下 import requests 库中支持REQUEST, GET, HEAD, POST, PUT, PATCH, DELETE共7个方法.其中REQUEST方法为基础方法,其它六种方法均通过调用REQUEST方法实现.为了编写程序的便利性,提供了这额外6个方法.我们首先看一下这6个方法的含义,及其在库中对应的函数: GET:请求指定的页面信息,对应requests.get() HEAD:只请求页面的头部,对应requests.h…
学习是一个累积的过程.在这个过程中,我们不仅要学习新的知识,还需要将以前学到的知识进行回顾总结. 前面讲述了Python使用ctypes直接调用动态库和使用Python的C语言API封装C函数, C++写python扩展模块有很多种方式,我选择的是boost.python来编写的,感觉这个要比其他的方式要简单很多,本文概述方便封装C++类给Python使用的boost_python库. : sudo aptitude install libboost-python-dev 示例 下面代码简单实现…
为了加快学习速度,和使程序更加easy理解.  我把sampler tutorial里面的一个样例 的固定代码和常常修改的代码经过简单的类的封装了一下. 以后学习的时候就能够仅仅在还有一个文件写render渲染代码和fx着色器代码了 D3DBase.h  基本框架代码 #include <windows.h> #include <d3d11.h> #include <d3dx11.h> #include <d3dcompiler.h> #include &l…
本文参考dx11龙书 Chapter1 vector algebra(向量代数) 要想学好游戏编程,扎实的数学知识是尤为重要的,下面将对dx11龙书中有关向量的数学知识做一下总结. 在数学中,几何向量(也称为欧几里得向量,通常简称向量.矢量),指具有大小(magnitude)和方向(direction)的几何对象,可以形象化地表示为带箭头的线段,箭头所指:代表向量的方向.线段长度:代表向量的大小. 向量的表示方式一般有3种: 1.代数表示:一般印刷用黑体小写字母α.β.γ…或a.b.c… 等来表…
参考dx11龙书 Chapter2 matrix algebra(矩阵代数) 关于矩阵的一些基本概念定理(例如矩阵加减乘法,逆矩阵,伴随矩阵,转置矩阵等)可以参考维基百科 https://zh.wikipedia.org/wiki/ XNA MATRICES Matrix Types 在xna math中代表一个4*4的矩阵,我们使用XMMATRIX 当在类中存储数据时使用XMFLOAT4X4 用XMMatrixSet创建,原型为 XMMATRIX XMMatrixSet(FLOAT m00,F…
由于之前一直在看directx11龙书学习,因此sdk一直用的Microsoft DirectX SDK (June 2010) 版本,最近在stackoverflow上问dx11相关问题时,一直被大神吐槽为何还用已经废弃的directx sdk,由于directx sdk现在已经和windows sdk合并到一起了,只能去下windows sdk了.为了方便索性直接换了vs 2015社区版,里面自带了(windows sdk),既然sdk换了最新的,effect框架也要换最新的啊(Effect…
最近从廖雪峰老师的个人网站上学习git,做点笔记. ★★★★★ 先注册自己的username和email,否则会报如下错误: 注册:git config --global user.name "XXX"    -------这是注册username git config --global  user.email "XXX@XX.com"   -------这是注册email git config  --list    -------这是查看config信息 现在开始…
问题: 在jsp页面中添加了s:property标签,然而在页面始终未展示 解决: 经过搜索学习,发现只要添加语句 1 <%@ taglib prefix="s" uri="/struts-tags"%> 原因: @taglib表明引用标签.类似java中的import语句 prefix="s" 引用的名称在页面可以使用,就像java中生成的一个对象名,以后调用的时候直接使用<s:xxx/>就可以了 uri="/…
学习内容: 1.数学函数 2.日期时间函数 这些函数都是很常用的函数...在这里进行简单的介绍... 数学函数: mysql); //取绝对值函数 这个函数可安全地使用于 BIGINT 值. mysql);//判断一个数是正数,负数,还是0..根据实际情况返回指定的数值.. mysql, );//取模函数... mysql> SELECT FLOOR(1.23);//返回不大于给出数的最大整数值 mysql> SELECT CEILING(1.23);//返回不小于这个数的整数值 mysql&…
1.首先.需要学习C++ 模板的概念 2.C++ STL(标准模板库)是一套功能强大的 C++ 模板类,提供了通用的模板类和函数,这些模板类和函数可以实现多种流行和常用的算法和数据结构,如向量.链表.队列.栈. 3.C++ 标准模板库的核心包括以下三个组件: 组件 描述 容器(Containers) 容器是用来管理某一类对象的集合.C++ 提供了各种不同类型的容器,比如 deque.list.vector.map 等. 算法(Algorithms) 算法作用于容器.它们提供了执行各种操作的方式,…
容器 -> 数据的封装 函数 -> 语句的封装 类 -> 方法和属性的封装 模块 -> 模块就是程序 , 保存每个.py文件 # 创建了一个hello.py的文件,它的内容如下: def hi(): print("Hi,cxn,I love you!") # 然后在 Python Shell中,使用 import引入 模块名就是文件名,不要写扩展名 import hello # 最后调用 hi()方法 hello.hi() 模块的导入方式 1> impor…
安装Git 最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑.不过,慢慢地有人把它移植到了Windows上.现在,Git可以在Linux.Unix.Mac和Windows这几大平台上正常运行了. 在Linux上安装Git 首先,你可以试着输入 git ,看看系统有没有安装Git: $ git The program 'git' is currently not installed. You can install it by typing: sudo…
PCA目的:这里举个例子,如果假设我有m个点,{x(1),...,x(m)},那么我要将它们存在我的内存中,或者要对着m个点进行一次机器学习,但是这m个点的维度太大了,如果要进行机器学习的话参数太多,或者说我要存在内存中会占用我的较大内存,那么我就需要对这些个点想一个办法来降低它们的维度,或者说,如果把这些点的每一个维度看成是一个特征的话,我就要减少一些特征来减少我的内存或者是减少我的训练参数.但是要减少特征或者说是减少维度,那么肯定要损失一些信息量.这就要求我在减少特征或者维度的过程当中呢,尽…
一.Git下载 在Windows上安装git,一般为msysgit,官网地址:http://git-scm.com/ 我下载的是Git-1.9.2-preview20140411.exe 二.Git安装 下载后,默认安装在c盘 在Windows Explorer integration选项中将“Git Bash here”和“Git GUI here”打对勾. 其他默认即可,然后安装完成 三.创建仓库 打开Git快捷方式,版本信息如图,sogo 下一步,输入用户名和邮箱,创建一个版本库非常简单,…
一 安装curses库 如果你的Linux系统中curses库,直接敲入命令sudo apt-get install libncurses5-dev,然后就会自动安装curses库,安装好之后敲入命令: ls -l /usr/include/*curses.h,我上面显示的是这样: 二 curses库有什么作用 curses函数库能够优化光标的移动并最小化需要对屏幕进行的刷新,从而也减少了必须向字符终端发送的字符数目. 三 认识curses库 1:curses函数库用两个数据结构来映射终端屏幕,…
文章包含STM32固件库介绍和工程模板搭建两方面内容. 一.STM32固件库介绍 要建立工程模板,首先要对STM32的固件库有所了解.STM32的固件可以从ST官网下载,网址为:http://www.stmicroelectronics.com.cn/web/cn/catalog/tools/FM147/CL1794/SC961/SS1743,下载后的文件夹组织结构如图1所示. 图1 STM32固件库文件夹 为了更清楚的了解这个文件夹,我们把Libraries文件夹展开来看,如图2的所示.其中C…
本文由zhangbaochong原创,转载请注明出处http://www.cnblogs.com/zhangbaochong/p/5596180.html 在之前的例子中,我们实现了光照和材质使得场景大大增加了真实感,然而材质提供的细节只是在顶点级别上,要想在像素级别提供细节还得借助于纹理,这次让我们学习dx11中一些有关纹理的基础. 1.纹理坐标 1 在direct3d中,纹理坐标用一个二维向量(u,v)表示,纹理左上角为原点,u正方向沿纹理水平向右,v正方向沿纹理垂直向下,且0<=u,v<…
本文由zhangbaochong原创,转载请注明出处http://www.cnblogs.com/zhangbaochong/p/5579289.html 在之前的场景绘制中我们都是给每个顶点指定了单一颜色 ,然后由系统插值计算各个部分颜色,最终显示出来.接下来我们将学习dx11中比较有意思的一部分——光照,通过光照和材质的相互作用来实现更真实的场景. 1. 光照 1.1 光照效果 简单举个例子,看龙书中的一张图: a图没加光照看起来像一个2D图形,而加了光照的b图则看起来像一个3D图形.由此可…
本文由zhangbaochong原创,转载请注明出处http://www.cnblogs.com/zhangbaochong/p/5573970.html 前面实现简单地形的教程,我们只是绘制了一个网格,这一次我们来学习一下几种基本几何体的绘制,包括平面网格.立方体.圆柱和球体等. 原来在GeometryGenerator类中只给出了CreateGrid一个方法来绘制网格,现在让我们添加其他方法绘制一些几何体. 为了方便绘制几何体方法的调用,GeometryGenerator类我们使用了单例模式…
上一次我们学习了如何画一个2D三角形,现在让我们进一步学习如何画一个旋转的彩色立方体吧. 具体流程同画三角形类似,因此不再给出完整代码了,不同的部分会再说明. 由于我们要画彩色的立方体,所以顶点结构体中加入颜色变量 struct Vertex { XMFLOAT3 pos; XMFLOAT4 color; }; 着色器代码 cbuffer cbPerObject { float4x4 gWorldViewProj; }; struct VertexIn { float3 PosL : POSIT…