- 博客(125)
- 收藏
- 关注
转载 Directx11学习笔记【二十二】 用高度图实现地形
本文由zhangbaochong原创,转载请注明出处http://www.cnblogs.com/zhangbaochong/p/5827714.html 在前面我们曾经实现过简单的地形(Directx11学习笔记【十三】 实现一个简单地形),只不过原来使用一个固定的函数获得地形高度,这样跟真实的地形差距比较大。接下来让我们学习使用高度图来进行三维地形模拟。1.高度图 高...
2016-08-31 21:55:00
527
转载 Directx11学习笔记【二十】 使用DirectX Tool Kit加载mesh
本文由zhangbaochong原创,转载请注明出处:http://www.cnblogs.com/zhangbaochong/p/5788482.html 现在directx已经不再支持.x文件了,意味着D3DXLoadMeshFromX加载mesh的方法已经不能用了。要加载mesh除了自己解析文件外,最简单的方法是利用微软开源的工具DirectXTK中的Model类或者DX...
2016-08-19 17:39:00
440
转载 Directx11学习笔记【十九】 摄像机的实现
本文由zhangbaochong原创,转载请注明出处:http://www.cnblogs.com/zhangbaochong/p/5785100.html 之前为了方便观察场景,我们采用的方法是鼠标控制旋转视角和镜头拉伸,但是观察点依然限制在一个球面内,目标点也始终为坐标原点。为了能够自由的从各个角度、各个位置观察场景,实现一个第一人称摄像机是必不可少的。1.摄像机视角矩阵推...
2016-08-18 19:15:00
421
转载 在二叉树中找出和为某一值的所有路径
题目:请写一个程序创建一棵二叉树,并按照一定规则,输出二叉树根节点到叶子节点的路径。规则如下:1、从最顶端的根结点,到最下面的叶子节点,计算路径通过的所有节点的和,如果与设置的某一值的相同,那么输出这条路径上的所有节点。2、从根节点遍历树时,请请按照左到右遍历,即优先访问左子树的节点。二叉树创建规则:从上到下一层一层的,按照从左到右的顺序进行构造输入"...
2016-08-16 18:57:00
174
转载 字符串匹配的三种方法
字符串匹配,实现c++ strstr()函数1.蛮力法 1 int strStr(string haystack, string needle) { 2 3 int i, hSize = haystack.size(), nSize = needle.size(); 4 if(hSize < nSize)...
2016-08-10 23:26:00
291
转载 c++分割字符串(类似于boost::split)
由于c++字符串没有split函数,所以字符串分割单词的时候必须自己手写,也相当于自己实现一个split函数吧! 如果需要根据单一字符分割单词,直接用getline读取就好了,很简单 1 #include <iostream> 2 #include <vector> 3 #include <string> 4 #inclu...
2016-08-10 01:15:00
212
转载 开源一个简单的c++软光栅渲染器
本文由zhangbaochong原创,转载请注明出处http://www.cnblogs.com/zhangbaochong/p/5751111.html 由于开学就大四面临找工作了,为了整理下项目,最近又把上学期练手写的一个c++软光栅渲染demo拿出来重新改了改,稍微优化了一下,顺便增加了光照。虽然写的比较简单,但还是拿出来分享一下,希望能起个抛砖引玉的作用吧,...
2016-08-08 21:45:00
352
转载 win32加载图片获得像素值
在写光栅渲染器时,需要加载图片获得像素以便进行纹理插值,试了几种方法发现下面这种比价简单,效率也可以接受 Texture2D是我自己定义的类,其中m_pixelBuffer是一个动态二维数组,每个元素为ZCFLOAT3(自定义类型用来保存颜色rgb值)。 1 #include "LoadBitmap.h" 2 #include <windows.h>...
2016-08-06 23:53:00
211
转载 asp.net使用mysql数据库
Asp.net连接mysql 不推荐使用ODBC,推荐是用mysql官网提供的组件MySQL.Data.Dll,放在bin下面,添加引用即可下面是封装的几个常用操作 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web;...
2016-07-16 10:36:00
107
转载 Directx11学习笔记【十八】 Blending混合
本文由zhangbaochong原创,转载请注明出处http://www.cnblogs.com/zhangbaochong/p/5634580.html 在d3d11中是按frame来渲染物体的,在同一frame中又可能不止一种primitive,例如下图: gpu实际渲染时,会按帧渲染,像上图中的一帧中含有两个三角形 ,经过vs以后,PA(primi...
2016-07-01 23:54:00
256
转载 基于邻接表的拓扑排序实现
上一篇博客实现了图的基本操作(使用邻接表),包括图的创建、输出、遍历等,这次来实现一下拓扑排序。拓扑排序基本原理可以参考以前转载的一篇博客http://www.cnblogs.com/zhangbaochong/p/5406159.html 由于代码比较简单,就直接贴出来了 1 #include <queue> 2 #include <ve...
2016-06-30 21:05:00
345
转载 【转】游戏程序员养成计划
博客出处:www.cnblogs.com/clayman/archive/2009/05/17/1459001.html作者:clayman 与玩游戏相比,写游戏要复杂上千万倍,除了需要掌握通用的编程技巧以外,还要有相当的图形学,物理,数学基础,特别是在国内,由于相关资料的缺乏,更是让初学者无从下手。下面总结了一些入门方法和比较容易入手的资料。...
2016-06-28 22:33:00
121
转载 图的创建和遍历(BFS/DFS)
图的表示方法主要有邻接矩阵和邻接表。其中邻接表最为常用,因此这里便以邻接表为例介绍一下图的创建及遍历方法。 创建图用到的结构有两种:顶点及弧struct ArcNode { int vertexIndex; //该弧指向的顶点位置 struct ArcNode* next; //...
2016-06-23 22:18:00
220
转载 c++重载、覆盖和隐藏
c++成员函数的重载、覆盖和隐藏很容易混淆,因此我们必须搞清楚这一点。 1.重载 重载特点:同一访问区域(同类)、函数名称相同、函数参数不同(不关心返回类型)、virtual关键字可有可无。 代码示例: class OverLoad{public: void test() {} void test(int i) {}...
2016-06-19 23:17:00
79
转载 Directx11学习笔记【十七】纹理贴图
本文由zhangbaochong原创,转载请注明出处http://www.cnblogs.com/zhangbaochong/p/5596180.html 在之前的例子中,我们实现了光照和材质使得场景大大增加了真实感,然而材质提供的细节只是在顶点级别上,要想在像素级别提供细节还得借助于纹理,这次让我们学习dx11中一些有关纹理的基础。1.纹理坐标1...
2016-06-18 14:45:00
392
转载 directx11编程中遇到的错误及解决方法
(2016-05-10)xnamath.h 报错: 在标识符“XMConvertToRadians”的前面 报错如下: 1>d:\program files\microsoft directx sdk (june 2010)\include\xnamath.h(159): error C2146: 语法错误: 缺少“;”(在标识符“XMConvertToRadians”的前面)...
2016-06-17 11:52:00
435
转载 【转】法线贴图原理
原文地址http://www.cnblogs.com/flytrace/p/3387748.html 我算个笨人吧.笨人以前弄懂一些东西后,讲给笨人听往往更有效.看之前请自行具备图形学关于光照的基础知识. >> world/object space normal map 我们先讲基于世界或模型坐标的法线贴图(world/object space normal m...
2016-06-15 20:38:00
319
转载 Directx11学习笔记【十六】 光照模型的实现
本文由zhangbaochong原创,转载请注明出处http://www.cnblogs.com/zhangbaochong/p/5579289.html 在之前的场景绘制中我们都是给每个顶点指定了单一颜色 ,然后由系统插值计算各个部分颜色,最终显示出来。接下来我们将学习dx11中比较有意思的一部分——光照,通过光照和材质的相互作用来实现更真实的场景。1. 光照1.1...
2016-06-13 23:50:00
357
转载 c++11多线程简介
C++11开始支持多线程编程,之前多线程编程都需要系统的支持,在不同的系统下创建线程需要不同的API如pthread_create(),Createthread(),beginthread()等,使用起来都比较复杂,C++11提供了新头文件<thread>、<mutex>、<atomic>、<future>等用于支持多线程。使用C++1...
2016-06-12 20:42:00
62
转载 Directx11学习笔记【十五】 基本几何体的绘制
本文由zhangbaochong原创,转载请注明出处http://www.cnblogs.com/zhangbaochong/p/5573970.html 前面实现简单地形的教程,我们只是绘制了一个网格,这一次我们来学习一下几种基本几何体的绘制,包括平面网格、立方体、圆柱和球体等。原来在GeometryGenerator类中只给出了CreateGrid一个方法来绘制网格,现在让...
2016-06-10 17:35:00
499
转载 [LeetCode129]Sum Root to Leaf Numbers
题目:Given a binary tree containing digits from0-9only, each root-to-leaf path could represent a number.An example is the root-to-leaf path1->2->3which represents the number123.Fin...
2016-06-09 20:21:00
60
转载 对于COM对象使用ComPtr代替传统指针
对于COM对象来说使用传统指针比较麻烦,还要记得Release()防止内存泄漏,一不小心就会出现各种各样的问题。针对这种问题微软提供了对于COM对象的智能指针ComPtr,这里是官方文档https://github.com/Microsoft/DirectXTK/wiki/ComPtr举个例子,原先的代码: 1 ID3D11Buffer* ...
2016-05-31 18:01:00
366
转载 Directx11学习笔记【十四】 使用最新的Effect框架和SDK
由于之前一直在看directx11龙书学习,因此sdk一直用的Microsoft DirectX SDK (June 2010)版本,最近在stackoverflow上问dx11相关问题时,一直被大神吐槽为何还用已经废弃的directx sdk,由于directx sdk现在已经和windows sdk合并到一起了,只能去下windows sdk了。为了方便索性直接换了vs 201...
2016-05-28 15:00:00
426
转载 Directx11学习笔记【十三】 实现一个简单地形
本文由zhangbaochong原创,转载请注明出处http://www.cnblogs.com/zhangbaochong/p/5510294.html上一个教程我们实现了渲染一个会旋转的立方体,这次我们来实现一个简单地形。先来看看最终实现效果吧(蓝色是背景色,地形的不同高度分别渲染了不同颜色)实现原理其实很简单,我们现在xz平面定义一个二维网格,然后y...
2016-05-19 21:51:00
213
转载 [LeetCode107]Binary Tree Level Order Traversal II 二叉树层次遍历
题目:Given a binary tree, return thebottom-up level ordertraversal of its nodes' values. (ie, from left to right, level by level from leaf to root).For example:Given binary tree{3,9,20,#,#,1...
2016-05-17 20:00:00
96
转载 [LeetCode101]Symmetric Tree
题目:Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).For example, this binary tree is symmetric: 1 / \ 2 2 / \ / \3 4 4 3...
2016-05-14 17:29:00
51
转载 二叉树深度优先遍历和广度优先遍历
对于一颗二叉树,深度优先搜索(Depth First Search)是沿着树的深度遍历树的节点,尽可能深的搜索树的分支。以上面二叉树为例,深度优先搜索的顺序为:ABDECFG。怎么实现这个顺序呢 ?深度优先搜索二叉树是先访问根结点,然后遍历左子树接着是遍历右子树,因此我们可以利用堆栈的先进后出的特点,现将右子树压栈,再将左子树压栈,这样左子树就位于栈顶,可以保证结点...
2016-05-14 16:54:00
148
转载 [LeetCode3]Longest Substring Without Repeating Characters
题目:Given a string, find the length of thelongest substringwithout repeating characters.Examples:Given"abcabcbb", the answer is"abc", which the length is 3.Given"bbbbb", the answer is...
2016-05-12 21:32:00
57
转载 Directx11学习笔记【十二】 画一个旋转的彩色立方体
上一次我们学习了如何画一个2D三角形,现在让我们进一步学习如何画一个旋转的彩色立方体吧。具体流程同画三角形类似,因此不再给出完整代码了,不同的部分会再说明。由于我们要画彩色的立方体,所以顶点结构体中加入颜色变量struct Vertex{ XMFLOAT3 pos; XMFLOAT4 color;};着色器代码 1 cb...
2016-05-11 22:38:00
263
转载 [LeetCode82]Remove Duplicates from Sorted List II
题目:Given a sorted linked list, delete all nodes that have duplicate numbers, leaving onlydistinctnumbers from the original list.For example,Given1->2->3->3->4->4->5, retu...
2016-05-10 19:45:00
45
转载 Directx11学习笔记【十一】 画一个简单的三角形--effect框架的使用
这里不再介绍effect框架的具体使用,有关effect框架使用可参考http://www.cnblogs.com/zhangbaochong/p/5475961.html实现的功能依然是画一个简单的三角形,只不过使用了effect框架。为了体现使用effect框架方便变量绑定的优点,我们对着色器代码做了修改,增加了一个常量float4x4 gWorldViewProj...
2016-05-10 18:27:00
123
转载 Directx11 xnamath.h 报错
xnamath.h 报错:在标识符“XMConvertToRadians”的前面如下报错1>d:\program files\microsoft directx sdk (june 2010)\include\xnamath.h(159): error C2146: 语法错误: 缺少“;”(在标识符“XMConvertToRadians”的前面)1>d:\p...
2016-05-10 18:19:00
205
转载 [LeetCode145]Binary Tree Postorder Traversal
题目:Given a list, rotate the list to the right bykplaces, wherekis non-negative.For example:Given1->2->3->4->5->NULLandk=2,return4->5->1->2->3->NULL.G...
2016-05-09 20:24:00
55
转载 [LeetCode61]Rotate List
题目:Given a list, rotate the list to the right bykplaces, wherekis non-negative.For example:Given1->2->3->4->5->NULLandk=2,return4->5->1->2->3->NULL.分...
2016-05-07 20:45:00
65
转载 [LeetCode16]3Sum Closest
题目:Given an arraySofnintegers, find three integers inSsuch that the sum is closest to a given number, target. Return the sum of the three integers. You may assume that each input would ha...
2016-05-06 22:14:00
67
转载 Directx11学习笔记【十】 画一个简单的三角形
本篇笔记要实现的是在屏幕上渲染出一个三角形,重点要学习的是渲染一个几何体的流程方式。为了渲染几何图形,需要一个顶点缓存和一个描述顶点布局的输入层,还有着色器(主要是顶点着色器和像素着色器),下面来看看具体Demo的实现。新建一个Win32项目 ,新建一个类我们叫做TriangleDemo,继承自前面教程我们实现的基类Dx11DemoBase。TriangleDemo.h...
2016-04-24 22:56:00
198
转载 【转】HLSL基础
原文地址http://blog.youkuaiyun.com/chpdirect1984/article/details/1911622目录前言1.HLSL入门1.1什么是着色器1.2什么是HLSL1.3怎么写HLSL着色器1.4怎么用HLSL着色器2.顶点着色器2.1可编程数据流模型...
2016-04-21 21:07:00
214
转载 拓扑排序实现
以下内容转自http://www.cnblogs.com/newpanderking/archive/2012/10/18/2729552.html 一个较大的工程往往被划分成许多子工程,我们把这些子工程称作活动(activity)。在整个工程中,有些子工程(活动)必须在其它有关子工程完成之后才能开始,也就是说,一个子工程的开始是以它的所有前序子工程的结束为先决条件的,...
2016-04-19 21:19:00
93
转载 【转】Directx11 SDK文档
原文地址:http://blog.youkuaiyun.com/cmt100/article/details/6343274总结 这是一个初步的教程。我们将通过必要的步骤来创建一个Win32 Application。我们创建一个空白的窗口为DirectX 11做准备。创建窗口 每一个窗口应用程序需要至少一个窗口对象。甚至在开始获得DirectX 11的诸多细...
2016-04-19 14:30:00
128
转载 [LeetCode55]Jump Game
题目:Given an array of non-negative integers, you are initially positioned at the first index of the array.Each element in the array represents your maximum jump length at that position.Deter...
2016-04-18 20:58:00
50
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人