- 博客(27)
- 资源 (1)
- 收藏
- 关注

原创 基本DirectX程序的绘制流水线的学习心德
学习一个最简单的directx程序时,首先需要了解下win32程序的框架该怎么写,最关键得是要搞清楚windows程序里面的消息映射机制,搞清楚了这一点,在熟悉下具体的win API基本上一个简单的窗口程序框架就被你写出来了。在写directx之前,你首先要保证你的VS IDE中,已进行了相关的设置。通过工具->选项下的项目与解决方案里选vc++目录,进行包含文件,库文件两项的相关设置,一
2009-11-14 22:44:00
1076
2
原创 应用程序调用dll组件,及dll组件之间的关系,dll中类及函数的导入导出;dll的导出方式和链接方式分析(一)
我们在建立一个应用程序时会有这样的思考,如何才能让应用程序的架构看起来清晰明确,让其它开发人员可以快速了解框架,代码结构,从而提高开发效率。从这些思考中, 我们便产生了分层次的思想。 1.应用程序 应用尽量使应用程序足够小,所以采用dll组件或者静态lib的方式,按业务分割将所有相关的部分组成一个dll进行调用。这样做的好处当然是显而易见的。比如:可以将整个应用程序的数据层做成一个
2012-11-03 23:08:39
1032
原创 第六章:二叉树
1.基础知识:二叉树是一种非线性结构,而前面讨论的都是线性结构,两种是有本质区别的。它在现实社会中存在着很多的模型。例如,人类社会的族谱,社会的各种组织分层,国家,学校,单位的各种机构,这些都是用树和二叉树来表示的。其中二叉树相当的实用。我为什么这么说呢,因为二叉树很有规则性,它的一系列操作都是相当有规律的,操作相对来讲比较简单,而其他的树则较二叉树要复杂得多,并且各个分支之间都没有固定的规律
2010-04-26 21:04:00
709
原创 第五章:循环链表
1.循环链表具体实现代码:///////////////////////////////////////////////////////////////////////////////// Book name : C++ structure and algorithm// FileName : CirList.cpp// Version : 1.0// Aut
2010-04-26 20:59:00
403
原创 第四章:双向循环链表
双向循环链表,说穿了其实是单链表的一个变种。结点结构比单链表多了一个指向头一个结点的前驱结点,由于要实现循环。所以链表的尾结点需要与头结点形成一个环状,就跟蛇用头咬住自己尾巴是类似的。双向循环链表在现实生活中的应用是极其多的,这里实现了一个简单的模板,如有bug,请及时告诉我。 下面给出代码实现://////////////////////////////////////////////
2010-04-26 20:48:00
584
原创 c语言经典入门题
C入门必做的一些题目,有兴趣的来看 1. 给定等式 A B C D E 其中每个字母代表一个数字,且不同数字对应不 D F G 同字母。编程求出这些数字并且打出这个数字的 +
2010-04-26 19:57:00
871
原创 第三章:堆栈
1.基础知识:堆栈可以实现很多的应用,递归的问题转化成非递归形式,在本质上也是堆栈的问题.它是一种"FILO"操作的数据结构,一般也有两种存储方式:数组跟链表实现形式,这里我给出了链表形式的堆栈模板,里面包括了基本的堆栈所有的操作,还有两个比较著名的应用例子,时间仓促,精力比较有限,关于迷宫老鼠还没有实现.尽请各位原谅,哈哈,我的目标是复习一下堆栈的基本操作及实现,已经达到,就不作进一步细化了.有
2010-04-12 21:07:00
421
原创 第二章:单链表
1.基础知识回顾:单链表结点结构包括数据域和一个指向另一结点的指针域,如果你要访问单链表中任意的一个元素时,需要将指针从头到尾的往下搜索,所以此时单链表的平均时间复杂度为O(n/2), 而要得到某一结点的后继结点,则只需要o(1),时间复杂度,你要得到前一个结点,不好意思,此时将非常麻烦,因为在单链表中,没前存储头一结点的指针,所以此时你需要从头到尾的进行遍历一次,此时的时间复杂度将是O(
2010-04-12 20:50:00
515
原创 第一章:C++程序设计
今天终于下定决心将数据结构与算法重新在复习一遍,先是C++的一些比较容易忘记的特性简单的温习一遍:包括递归调用,异常操作,类模板,函数模板等等,这三天写得源码如下: ///////////////////////////////////////////////////////////////////////////////// Book name : C++ structure
2010-04-04 21:57:00
502
转载 C++类模板及友元类模板,友元函数模板
C++类模板友元分为以下几种情况1.非模板友元类或友元函数。 书上给了一个例子:class Foo{ void bar();};template class QueueItem{ friend class foobar; friend void foo(); friend void Foo::bar(); //....};很简单,跟非模板类没什么区别,有一点需要注意,
2010-04-03 23:34:00
2274
转载 看懂这些故事 你做人就很成功了
第一课一个男人在他妻子洗完澡后准备进浴室洗澡。这时,门铃响了。妻子迅速用浴巾裹住自己冲到门口。当她打开门时,邻居鲍勃站在那儿。在她开口前,鲍勃说,“你如果把浴巾拿掉,我给你800美元。”想了一会儿,这个女人拿掉浴巾赤裸地站在鲍勃面前。几秒钟后,鲍勃递给她800美元然后离开了。女人重新裹好浴巾回到屋里。当她踏进浴室时,丈夫问她,“是谁呀?”“是邻居鲍勃。”她回答。“哦,”丈
2010-03-26 00:02:00
623
原创 网格(一)
要创建一个网格,首先需要知道ID3DXMesh这个网格接口,它继承了ID3DXBaseMesh的大部分功能,这一点很重要,因为其他类型的网格接口,如ID3DXPMesh(渐近网格),也继承自该接口。ID3DXMesh接口包含有一个顶点缓存(用于存储顶点数据),一个索引缓存(用于定义顶点以何种方式构成网格的三角形单元),还有一个属性缓存(其中每一项用于对应一个三角形单元,并指定面片所属的子集)。
2010-03-25 13:42:00
874
原创 指针数组,数组指针,指针函数,函数指针的区别及类型间的转换
/*************************************************此文件包含各种复杂指针用法的区分:指针数组数组指针指针函数函数指针 指向指针的指针 vector类型转换成vector类型vector型转换成vector类型注意:这里是Point*类型转换成Line*类型/********************************************
2010-03-24 19:58:00
698
转载 C++中的四种强制类型转换
使用标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast。1 static_cast用法:static_cast ( expression ) 该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法:①用于类层次结构中基类和子类之间指针或引用的转换。
2010-03-24 19:51:00
687
原创 extern用法详解
extern用法详解1 基本解释 extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。另外,extern也可用来进行链接指定。2 问题:extern 变量在一个源文件里定义了一个数组:char a[6];在另外一个文件里用下列语句进行了声明:extern char *a;请问,这样可以吗?答案与分析:1)、
2010-03-21 14:34:00
1212
转载 ID3DXEffect接口使用
ID3DXEffect接口上面介绍了很多fx文件相关内容,但是在程序中如何读取和分析这些fx文件呢?在程序中对于读取fx文件,控制渲染状态、设置Shader程序等工作都是通过D3DX库中的ID3DXEffect接口来实现的。ID3DXEffect接口提供了大量的方法,基本上分为几个方面:获得Effect参数变量信息 设置Effect参数变量 获得technique信息 设置当前使用的tec
2010-03-16 21:53:00
1021
转载 DirectSound 技术详解
首先分析directsound的接口对象的API创建函数,DirectSoundCreate8(LPCGUID lpcGuidDevice,LPDIRECTSOUND8 * ppDS8,LPUNKNOWN pUnkOuter); 函数DirectSoundCreate8后面的数字其实是该directx版本的最新支持的创建函数(这里我用的是directx 9.0 的SDK),以后见到的数字基本都
2010-03-04 14:38:00
3352
转载 VC中使用使用CRT调试内存泄漏总结
1、加入新的宏和头文件的引用 #define _CRTDBG_MAP_ALLOC #include #include包含 crtdbg.h 头文件,可以将 malloc 和 free 函数映射到其“调试”版本 _malloc_dbg 和 _free_dbg,这些函数会跟踪内存分配和释放。2、在需要检测内存泄漏的地方加入以下语句输出内存泄漏信息 _
2010-03-03 13:20:00
426
转载 基于GPU编程的粒子火焰
粒子火焰可以说是Particle System在2D图象上的经典应用,曾经有一个著名的粒子火焰屏幕保护,可以说是将2D Particle System的能力发挥到了及至。本文所介绍的程序MyPfire(左图)即是仿照该屏保所做,但是限于Imagic的时间和能力,MyPfire在任何方面都无法超越该屏保。Imagic希望你在阅读这篇文章之后,能够写出你自己的更加精彩的粒子火焰程
2010-02-13 16:21:00
760
原创 基于GPU的粒子系统实现概要
在学习粒子系统后,继续学习到shader编程时,我忽然想到:能不能把很多粒子运算从CPU上转移到GPU上去? 一般情况下计算粒子位置好解决,可是生命周期处理不好办,因为shader不能写顶点buffer,这个一时把我难住了,后来在网上看到篇GPU处理粒子系统的文章,受到点启发,再经过一翻思考,自己的实现方案产生了,遂整理出文章一篇,以抛砖引玉。 经常在网上看到一些翻译别人国
2010-02-08 23:11:00
930
原创 粒子介绍
Particle例子系统 许多自然现象都存在一些小的粒子做一些相似的运动。(例如,下落的雪花,火焰里的火苗,未来战争枪械里的子弹).粒子系统就使用这样的模型。目标学习在Direct3D中如何描述一个粒子设计灵活粒子系统的底层类来包括所有粒子的通用属性。具体出来粒子系统,命名为雪,爆炸,枪粒子。粒子和点精灵 在数学上粒子通常是些非常小的对象。它可以用原始的
2010-02-08 23:07:00
791
转载 A*寻路初探
A*寻路初探 GameDev.net<!---->译者序:很久以前就知道了A*算法,但是从未认真读过相关的文章,也没有看过代码,只是脑子里有个模糊的概念。这次决定从头开始,研究一下这个被人推崇备至的简单方法,作为学习人工智能的开始。这篇文章非常知名,国内应该有不少人翻译过它,我没有查找,觉得翻译本身也是对自身英文水平的锻炼。经过努力,终于完成了文档,也明白的A*算法的原理。毫无疑问
2010-02-07 10:12:00
488
原创 最近的学习点
HLSL语言的高级应用ASM类汇编语言进行效果的渲染;、DXUT控件,CDXUTDilog对话框用于统一管理DXUT控件;广告板技术和十字交叉纹理;广告板技术原理:广告板技术的基本原理就是将一幅包含物体图像的图片映射到一个二维矩形上,在渲染时根据观察方向旋转这个矩形,使其始终面向观察者,从而使观察者感觉看到的是一个三维物体,而不是一个二维矩形。这个帖有图像的矩形就是广告板。
2010-02-05 23:29:00
395
原创 stash程序示例
#include #include struct stash{ struct link { int data; link* next; void initialize(int Data,link* Next); }* head; void* pop(); void* peek(); void initialize(); void push(int data); void cleanup()
2010-01-29 13:45:00
558
原创 DB2 命令实用技术
DB2 命令实用技术 --建表create table aa( op_time date, user_id bigint )--指定表空间 DATA CAPTURE NONE IN TBS02 PARTITIONING KEY (PRODUCT_NO ) USING HASHING NOT LOGGED INITIALLY;--建表索引CREATE INDEX
2010-01-12 21:22:00
1955
原创 3D向量及矩阵变换简单剖析(1)
在学习游戏开发前,首先要有非常扎实的数学基础。所以最近,抽空在恶补这一块知识。特别是关于向量跟矩阵的内容,上大学的时候,这些在线性代数这一章里都讲到过,不过现在也忘得差不多。俗话说:温故而知新,对一些简单的东西又梳理了一遍。 首先看了关于向量部分的内容,大致的内容是关于向量的一些定义,包括几何定义,向量跟点的区别和关系,向量间的运算,加,减,乘,除,它们所代表的几何性质。
2009-11-20 16:36:00
524
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人