自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (2)
  • 收藏
  • 关注

原创 智能指针shared_ptr

在加载X文件是,需要保存将模型中的每个subset的纹理指针,使用数据指针保存的话,不能确定数组的长度;这时,想到使用vector管理这些指针,可是纹理的指针释放时不是delete,而是Release,想来想去,最终想到用shared_ptr替换IDirect3DTexture9*,即std::vector m_Texture; --》std::vector> m_Texture;

2011-11-27 19:00:38 535

原创 DirectX模板学习

模板,Stencil。说到模板缓存就不能不提深度缓存;模版缓存和深度缓存分享同一个离屏表面缓存;如果要绘制640*480分辨率的图片,那么就会有640*480个深度值,也就会有640*480个模版值,当然,格式必须有模版缓冲深度缓冲为每一个像素计算深度值,并进行深度测试。通过深度测试,我们可以比较出哪个像素离照相机更近,并将它画出来。这样就可以只绘制最靠近照相机的像素,被遮

2011-11-14 22:59:46 1402

原创 DirectX混合技术学习

混合,即像素的混合,将几种像素合成新的像素。下面的公式是用来混合两个像素值的:SourcePixel——通常被计算的像素,它是利用在后缓存中的像素来被混合的,把它看作当前要渲染的物体。DestPixel——在后缓存中的像素,把它看作已经渲染的物体。源像素乘以在混合中的百分比 + 目的像素以在混合中的百分比就得到了混合像素;通过设置不同的源和目的要素(

2011-11-13 12:04:28 1609

原创 保存64位十六进制运算

#include typedef struct QUADWORD{ unsigned int low; unsigned int high; }QUADWORD;QUADWORD sub(QUADWORD left,QUADWORD right){ QUADWORD result = {0}; resul

2010-03-15 20:53:00 968

转载 字符串与数值之间的相互转换

VC:atof、atoi、atol、gcvt、strtod、strtol、strtoul的详细介绍 atof(将字符串转换成浮点型数)相关函数atoi,atol,strtod,strtol,strtoul表头文件#include定义函数double atof(const char *nptr);函数说明atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇

2010-03-14 15:00:00 552

转载 网络游戏外挂制作

在几年前我看到别人玩网络游戏用上了外挂,做为程序员的我心里实在是不爽,想搞清楚这到底是怎么回事。就拿了一些来研究,小有心得,拿出来与大家共享,外挂无非就是分几种罢了(依制作难度):1、动作式,所谓动作式,就是指用API发命令给窗口或API控制鼠标、键盘等,使游戏里的人物进行流动或者攻击,最早以前的“石器”外挂就是这种方式。2、本地修改式,这种外挂跟传统上的一些游戏修改器没有两样,做这种外挂

2009-12-15 11:42:00 941

原创 HOOK 钩子拦截WM_DEVICECHANGE消息

 钩子的类型总共15种,每种钩子处理不同的消息(这个资料很多,自己看下)。    钩子用SetWindowsHookEx安装,放在DDL中,有全局钩子的,比如键盘,鼠标等,也可以是线程的,指定窗口的(不是很准确,但实用)。是全局还是指定,主要是看SetWindowsHookEx中的参数设置:全局时:第三个参数为DLL的hInstance,第四个参数为NULL。线程时:第三个参数NULL

2009-11-13 18:04:00 1866

转载 追根究底,MFC六大关键技术剖析(第三部分)(转)

三、动态创建动态创建就是运行时创建指定类的对象,在MFC中大量使用。如框架窗口对象、视对象,还有文档对象都需要由文档模板类对象来动态的创建。我觉得这是每个MFC的学习者很希望理解的问题。初次接触MFC的时候,很容易有这样的迷惘。MFC的几大类不用我们设计也就罢了,但最疑惑的是不用我们实例化对象。本来最直观的理解就是,我们需要框架的时候,亲手写上CFrameWnd myFrame;需要视的时

2009-10-14 15:50:00 296

转载 追根究底,MFC六大关键技术之剖析(第二部分)(转)

追根究底,MFC六大关键技术之剖析(第二部分)小李先生二、运行时类型识别(RTTI)运行时类型识别(RTTI)即是程序执行过程中知道某个对象属于某个类,我们平时用C++编程接触的RTTI一般是编译器的RTTI,即是在新版本的VC++编译器里面选用“使能RTTI”,然后载入typeinfo.h文件,就可以使用一个叫typeid()的运算子,它的地位与在C++编程中的sizeof()运算子类似的地方(

2009-10-14 15:47:00 257

转载 追根究底,剖析MFC六大关键技术(第一部分)(转)

追根究底,剖析MFC六大关键技术题外话:我并不认为MFC减轻了程序员们的负担,MFC出现的目的虽然似乎是为了让程序员不用懂得太多就可以进行视窗编程,但本人在MFC里徘徊了很久很久(因为那时没有书本详细介绍MFC的原理),毫无收获。可能朋友们会说,怎么一定要了解MFC的具体呢,“黑箱”作业不行吗?这不是微软的初衷吗?不行!!!如果这样,我宁愿永远不选择MFC!在学电脑之前,本人学习的东西大都与艺术不

2009-10-14 15:45:00 338

原创 初学进程和线程之心得

我自从上大2之后,学习的很多课程都提到了进程和线程,老师们的介绍大多一样,我对于进程和线程只是有一个概念上的认识,对于其他很是模糊。在学习MFC过程中,我开始学习了这两个很想了解的知识。1.进程就是正在执行的程序,程序是静态的代码和数据,操作系统创建进程后,会为他创建一个主线程,主线程之外的线程称为该进程的辅助线程。2.线程里面需要注意的就是临界资源,可以被多个线程访问的代码,数据等资源叫做临界资

2009-09-11 10:34:00 660

原创 初学GDI绘图之心得

1.GDI绘图提供了逻辑绘图设备与物理输出设备的分离。2.设备上下文,这个概念从字面上有点难以理解,其实它是一个windows数据结构,MFC把包装成了CDC对象,设备上下文提供了应用程序的绘图的环境,也是应用程序的绘图输出设备,我个人是这么理解的:设备上下文在MFC中就是CDC对象,CDC就是一个很厉害的纸,这个纸可以对应你窗口的客户区,也能是你看不见的内存。3.API可以用HDC,在MFC中都

2009-09-10 07:45:00 1052 1

原创 串行化(转)

串行化是微软提供的用于对对象进行文件I/O的一种机制,该机制在框架(Frame)/文档(Document)/视图(View) 模式中得到了很好的应用。很多人对什么是串行化、怎么使对象具有串行化能力和如何使用串行化功能等问题都不甚明了。本文试图对串行化做一个简单的解释。由于本人对串行化功能使用的也不多,不足之处敬请谅解。 MFC 框架/文档/视图结构中的文件读写CFile是MFC类库中所有文件类

2009-08-23 08:54:00 575

原创 在对话框中加入属性页(转)

当一个基于对话框的程序中有相当多的控件时,你一定会想到使用属性页来将这些控件分类放置。本文针对这种方法来讨论几种可能实现的方案。 方案一本方案的例子请见源代码打包文件中的Property1部分在对话框上放置一个Tab Control的控件,再在对话框上放置所需的控件(本例放置了2个按钮,试图在每个标签中显示一个)。然后利用Class Wizard来为Tab Control控件创建一个控件变

2009-08-16 14:47:00 326

原创 在SDI应用程序中如何添加Button并响应

1.在视图类中添加一个CButton成员变量,然后为视图类添加WM_CREATE事件响应函数,在该函数中创CButton(注:如果在创建时Button的样式有WS_VISIBLE就可不用再调用ShowWindow)。2.在视图类中的头文件中定义#define   ID_YOUBUTTON   123 ,  在类中手动添加  protected:     //{{AFX_MSG(CTestMainM

2009-08-16 13:15:00 584 1

原创 有感而发

      我准备开始学vc了,我很喜欢编程,希望自己将来能成为一个很牛的程序员!最近个人感情进展不是很好,所以与其在那郁闷,不如把精力放在学习上,我要把VC学好,将来找个如意的工作。男儿当自强,以后应努力工作,努力做人,不愧对父母,不愧对自己,不愧对朋友,要过平淡而不寂寞的生活。希望我能实现。

2009-08-15 23:38:00 222

原创 c++ 虚函数的实现机制(转)

1、c++实现多态的方法其实很多人都知道,虚函数在c++中的实现机制就是用虚表和虚指针,但是具体是怎样的呢?从more effecive c++其中一篇文章里面可以知道:是每个类用了一个虚表,每个类的对象用了一个虚指针。具体的用法如下:class A{public:    virtual void f();    virtual void g();private:    int a};

2009-08-10 15:24:00 214

原创 初学者入门:消息循环(转)

一、传统SDK程序的消息循环 在传统的SDK程序中,消息循环是很简单的,也许你不信,那我们就看看下面这段代码吧: #include LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ; int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,           P

2009-08-09 20:27:00 256

原创 epoll使用详解(转)

在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:#define __FD_S

2009-08-09 19:50:00 268

WDM式驱动程序实例源码

WDM式驱动程序实例源码很少,本源码呈现WDM式驱动程序的结构。

2009-10-20

USB识别,禁用,启用源代码加注释

识别U盘,可移动硬盘,禁止USB服务,启动USB服务

2009-10-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除