自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

罗朝辉(飘飘白云)

关注智能系统、移动开发、图形图像、程序语言

  • 博客(245)
  • 资源 (4)
  • 收藏
  • 关注

原创 工具coverity

Coverity:代码运行“诊疗师”  ,相当不错的工具官网:http://www.coverity.com/ 

2008-06-05 16:36:00 10262 1

原创 Url解码代码

Url解码代码Url编码与解码的代码,使用WTL的CString,支持日文字符~~ by 飘飘白云(http://blog.csdn.net/kesalin) CStringW ConvertUTF8ToUTF16(const CStringA& utf8){    int wLen = MultiByteToWideChar(CP_UTF8, 0, utf8, utf

2008-06-02 17:18:00 2871 1

转载 DLL中调用约定和名称修饰(__cdecl,__stdcall,__fastcall)

       [转]DLL中调用约定和名称修饰(__cdecl,__stdcall,__fastcall)调用约定(Calling Convention)是指在程序设计语言中为了实现函数调用而建立的一种协议。这种协议规定了该语言的函数中的参数传送方式、参数是否可变和由谁来处理堆栈等问题。不同的语言定义了不同的调用约定。 在C++中,为了允许操作符重载和函数重载,C++编译器往往

2008-05-15 10:33:00 4030 1

转载 [转]wav文件结构解析

WAVE是录音时用的标准的WINDOWS文件格式,文件的扩展名为“WAV”,数据本身的格式为PCM或压缩型。   WAV文件格式是一种由微软和IBM联合开发的用于音频数字存储的标准,它采用RIFF文件格式结构,非常接近于AIFF和IFF格式。符合 PIFF Resource Interchange File Format规范。所有的WAV都有一个文件头,这个文件头音频流的编码参数。   WAV文件

2008-04-15 12:58:00 6049 2

原创 utf,unicode,ascii字符串之间的相互转换

utf,unicode,ascii字符串之间的相互转换 作者:飘飘白云 utf8 转换到 utf16 :CStringW ConvertUTF8ToUTF16(const CStringA& utf8){ int wLen = MultiByteToWideChar(CP_UTF8, 0, utf8, -1, 0, 0); CStringW buf; WCH

2008-04-08 15:06:00 2589 3

原创 如何列举目录下的文件

 如何列举一个目录下的文件飘飘白云 2008.04.04取得一个目录路径之后,使用FindFirstFile与FindNextFile就可以列举该目录的所有子目录以及所有文件。下面贴段列举指定目录下所有特定后缀(.txt)文件。 1void getTxtFileByDirectory(const CStringW& dirPath) 2{ 3    nutVec.clear(); 4   

2008-04-04 12:01:00 2187

翻译 各种光照的算法原理

Per Pixel Lighting Techniques         飘飘白云译  2008-03-22原文链接:http://www.nitrogen.za.org/viewtutorial.asp?id=5这个教程用到了向量数学知识,如果你对向量数学还不是很了解,请先阅读向量教程:read the tutorial。光照与物体表面的相互作用可以通过将一些数学公式应用于基于pe

2008-03-30 16:02:00 7383

原创 Direct3D中的纹理应用示例

本文列举了Direct3D中各种纹理应用实现:黑暗贴图,发光贴图,漫反射映射贴图,细节纹理,纹理混合,有较详尽的注解。其中黑暗贴图,发光贴图,细节纹理都是采用多重纹理的方法实现(也可以采用多次渲染混合实现)。示例代码使用Beginning direct3D game programming中的框架,省去不少事情,可以专注纹理话题。代码:点此下载下面来看代码与效果:正常的纹理贴图效果:正常的纹理贴图

2008-03-23 14:18:00 3149 4

原创 简单的纹理管理器

游戏中的资源一般都是由资源管理器来处理的,资源管理器负责载入,释放,以及根据资源ID返回相关资源供游戏程序使用。下面改写spheregames的纹理管理示例,使用dx9的common框架简单地实现了一个纹理资源管理器,权且贴出来一下。实现功能:纹理管理,log输出,按F4调用打开文件对话框载入纹理。代码下载:点此下载下面贴个截图:

2008-03-22 22:18:00 1980

原创 如何限制CRichEditCtrl换行

如何限制CRichEditCtrl换行飘飘白云 2008/03/19用WTL在自制的窗口里加了个文本框,但要限制用户输入不能超过三行,即便是按enter或ctrl+enter换行也不能超过三行,浏览了下MSDN,实现这个功能,顺便mark一下。首先创建CRichEditCtrl对象,创建文本框,并设置相关的属性(ES_MULTILINE必须要有),具体看代码:WTL::CRichE

2008-03-18 15:52:00 4287

原创 四元数-Quaterion

  四元数(Quaterion)  飘飘白云  2008-03-16   1843年,William Rowan Hamilton发明了四元数,但直到1985年才有一个叫Ken Shoemake的人将四元数引入计算机图形学处理领域。四元数在3D图形学中主要用于旋转,骨骼动画等。简单地来说,四元数描述了一次旋转:绕任意一个轴旋转一个角度。 四元数的定义形式:(w, x, y, z

2008-03-16 13:51:00 4399

转载 【转.译】关于万向节死锁(Gimbal Lock)

原文链接:http://www.cnblogs.com/soroman/archive/2006/10/12/526163.html在http://blog.donews.com/wanderpoet/archive/2005/07/04/453608.aspx看到一篇关于Gimbal Lock的E文,解释得挺清楚的,翻译如下:Gimbal LockWhats Gimbal Lock?G

2008-03-09 23:17:00 12992 4

原创 程序实现显示桌面

游戏中的有个显示桌面的菜单,其作用与点击快速启动栏的显示桌面图标是一样的。下面先摘录下微软的支持文档,说说显示图标的事情:如何在“快速启动”栏上重新创建“显示桌面”图标“显示桌面”图标不是一个普通的程序快捷方式。如果删除此图标,则不太容易找到重新创建该图标的过程。要重新创建“显示桌面”图标,请按照下列步骤操作: 1.

2008-03-06 15:42:00 2170 1

原创 学习Ogre

很久之前就知道有这个引擎,因为很多游戏招聘的布告里面都有它,而且在国内似乎用的还比较多。虽然工作中用的只是公司开发的一套比较简单的3D库(没法和DX和openGL比啊),但业余学习研究下3D游戏开发引擎也是很有乐趣和有价值的事情,someday要码套游戏引擎也有点底吧,呵呵,夸海口了~~下面列点有用的链接:官网:http://www.ogre3d.org/中文站:http://ogre3d.c

2008-02-26 21:43:00 1803

原创 模拟window桌面实现

 正在开发中的游戏有个全屏功能--可以在window桌面背景上运行,就像一些视频播放器在桌面背景上播放一样的,花了个上午整了个Demo放出来留个纪念。实现功能:显示图标,双击图标执行相应的程序,右击图标弹出该图标对应得菜单,点击非图标区则弹出桌面菜单。需要完整工程可以点此下载:DesktopWindow.rar。程序效果图如下: 在这个程序里,定义了一个XShellItem的数据结

2008-02-23 14:18:00 2978

原创 调用浏览器打开网址

 调用浏览器打开网址Mark一下HWND h = FindWindowEx(NULL, NULL, NULL, L"Microsoft Internet Explorer");ShellExecute(h, L"open", L"http://www.sega-pc.com/", NULL, NULL, SW_SHOWNORMAL); 

2008-02-19 14:52:00 1971

原创 指向数据成员的指针

指向数据成员的指针飘飘白云数据成员的指针有两种含义,一种是没有绑定具体对象的数据成员指针,其地址实际是该数据成员在类布局结构中的位移;另一种是绑定了具体对象的的数据成员指针,其地址是该对象的该数据成员在内存中的地址。下面参照书中的例子用vs2005中在32位的机器上写了个测试程序。输出结果:第一行是输出8,可以理解,前面有两个整型数据(4+4 = 8),故位移为8;第二行理应输出4

2008-02-15 10:40:00 1585 2

原创 认识Python

开发中的游戏需要使用脚本语言实现虚拟客户端(dummy client),这次的脚本选的是Python,用的是IromPython(通过它就可以在Python中利用强大的.Net库了)。以前没接触Python语法,但在接触一个小时之后我就喜欢上它了,真没想到还有这么考虑周到,使用简洁而方便的语言!基本上是你想怎么用,就有那样的语法。这门语言声称:There should be one-- and p

2008-01-21 14:49:00 2136

转载 【转】阴影锥(shadow volume)原理与展望---真实的游戏效果的实现

转记:找了不少关于shadow volume原理的资料,还是这个帖子讲解的一目了然,转帖在这里,方便查阅。引用链接:http://blog.donews.com/yyh/archive/2005/05/19/387143.aspx阴影锥(shadow volume)原理与展望---真实的游戏效果的实现作者:王浩         前言:真实的游戏效果shadow volume

2008-01-19 18:37:00 9273 2

原创 使用WinINet和WinHTTP实现Http访问

使用WinINet和WinHTTP实现Http访问飘飘白云 l_zhaohui@163.com 2007-11-30 Http访问有两种方式,GET和POST,就编程来说GET方式相对简单点,它不用向服务器提交数据,在这个例程中我使用POST方式,提交数据value1与value2,并从服务器得到他们的和(value1 + value2)。为实现Http访问,微软提供了二套API:

2007-11-30 19:21:00 4995

原创 利用IWebBrowser2接口的Navigate2方法实现Http POST传输

利用IWebBrowser2接口的Navigate2方法实现Http POST传输飘飘白云2007/11/8开发中的社区游戏,要求将原来的mini浏览器扩展成可以通过Http POST传输来打开网页,比如:通过提交用户id,password,用户的action(查看profile,查看日记,打开blog等等),从而在mini浏览器里打开相应的网页。具体实现是通过获取浏览器的IWebBr

2007-11-11 16:14:00 4434 3

原创 D3DXCreateFontIndirect参数的变化

 老版本的D3D使用LOGFONT作为参数创建字体,在D3D10里面改为使用D3DXFONT_DESC作为参数创建字体。这两个结构体大体是相同的。下面列举一个使用D3DXFONT_DESC作为参数的例子:       IDirect3DDevice9* Device = 0;      ID3DXFont* Font  = 0;       D3DXFONT_DESC

2007-10-11 16:42:00 4876

转载 透明窗口问题

如何让一个窗口实现淡入淡出效果或者半透明效果呢?codeproject的这边文章挺不错的,转链在这里。http://www.codeproject.com/w2k/QDWndTransparency.asp/************************************************************** * MakeWindowTrasparent(window, fa

2007-10-05 10:01:00 1560

原创 如何得到任务栏信息

 如何得到任务栏信息 这两天在做一个游戏开始按钮和开始菜单(模仿window自带的)的小模块,要求自制的start按钮始终跟随window的start按钮,即任务栏位置改变了,自制的start按钮也要相应的改变位置。这里涉及到几个api,列举在这里,方便大家查阅。 头文件:#include "shellapi.h"部分代码:具体api查看msdn。        A

2007-09-18 14:19:00 1502

原创 由文本生成透明的文本图片

这个函数使用GDI plus实现将文本进行简单的排版,写入内存DC ,保存为透明的png图片。文本格式自动根据行宽分行,并保持原有换行格式。//一些定义#define BITMAP_WIDTH = 256;#define BITMAP_HEIGHT = 256;#define MAX_TEXT_WIDTH  240 // must #define MAX_TEXT_HEIGHT  240 //

2007-07-17 12:05:00 2217

原创 binary was not built with debug information

 今天在vista上调试一个程序,引用了另一个工程生成的dll,结果在Debug 时出现这样的错误信息,“binary was not built with debug information.”,一时搞不懂是啥问题,而再xp上没有出错。Google了一下发现一个帖子专门讲述这个问题的,转帖在这里了。来自:http://forums.microsoft.com/MSDN/Sho

2007-06-22 10:16:00 12620 3

原创 文件路径以及相关字符格式转换

 VC.net中字符的格式可谓多如牛毛,今天在使用一下文件路径的时候就在这里绕了一下,先记录下来,免得日后又是懵懵懂懂地忘记了。关于路径的函数PathFindFileName等查看MSDN就OK了。已知:CStringW 格式的文件全路径,如:CString strPath = L”C://test.jpg”;要得到char[]类型的文件名以及路径。代码如下:      C

2007-06-05 15:37:00 3748 1

原创 使用SetWindowLongPtr与GetWindowLongPtr的问题

 最近在一个项目中使用SetWindowLongPtr() 与GetWindowLongPtr()这两个函数的时候,总是出现错误,因为这个项目的工程属性设置将所有警告信息当成错误来处理,所以我在Project->XXX property->Configuration Properties->C/C++->General设置页中,将Treat Warings As Errors属性设置为No

2007-06-05 10:26:00 7021 3

原创 嵌入式浏览器

最近做一个仿模拟人生的网络游戏,其中要实现一个功能:允许用户从硬盘或者网页上拖动图片或者链接到游戏窗口,从而把图片或者链接页的快照当成纹理贴在窗口的中的物体上。想了半天才想起如何实现从url到bitmap的转换。具体效果还没有实现,大体思路先理一理,根据url在游戏窗口中实现一个嵌入式的浏览器窗口(不在前台显示),在该浏览器窗口中显示网页内容,再将该窗口截屏生成bitmap。大体就是这个思路,一些

2007-05-17 21:31:00 2360 1

转载 回调函数

  回调函数  来自 yifanffs Blog原文链接:http://post.blog.hexun.com/yifanff/trackback.aspx?articleid=1123727&key=632643134864300000  回调函数是一个很有用,也很重要的概念。当发生某种事件时,系统或其他函数将会自动调用你定义的一段函数。回调函数在windows编程使用

2007-05-17 12:10:00 2413

转载 __declspec(dllexport)的意思

 __declspec(dllexport)的意思 先看代码:以下是在dev-c++里建立自已的dll时的dll.h里面的代码,这里面有一个:_declspec(dllexport)#ifndef _DLL_H_#define _DLL_H_//防重复定义#if BUILDING_DLL# define DLLIMPORT __declspec (dllexport)#el

2007-05-17 12:08:00 19758 4

转载 函数调用规范__cdecl和__stdcall的区别一目了然(表格形式)

 函数调用规范__cdecl和__stdcall的区别一目了然(表格形式)原作:葡萄架上的牵牛花原地址:http://blog.bcchinese.net/happyjet/archive/2005/05/24/22545.aspx    __cdecl

2007-03-26 09:41:00 1965

原创 Eclipse3.1 + struts + tomcat + lomboz安装配置过程

 Eclipse3.1 + struts + tomcat + lomboz安装配置过程                            飘飘白云 l_zhaohui@163.com(转载请保留此信息) 首先,下载文件:(有些文件不是最新版本,不容易找到,所以建议使用文件名搜索)1,Eclipse3.1(注意3.2目前无法安装strutsIDE插件,所以只好使用该版本),

2007-03-23 16:49:00 3148

原创 Vodafone 3GC & VGA 全屏问题

Vodafone 3GC & VGA 全屏问题 开发Vodafone MIDP2.0的游戏,可以在MIDlet属性值中设置MIDxlet-ScreenSize的值,来设定游戏画面的大小。根据softbank提供的开发资料,该值限制为以下几个数值:120,130 or 240,260 or 240,320 or 480,520。802SE机型是一个特例为:176,182。 昨天碰到一

2006-10-31 18:05:00 1741

原创 近期读书计划

        近期读书计划      自毕业以来,一直进行开发手机游戏的开发工作,随着对游戏开发的向往与日剧增,手机硬件上的各种限制以及各个平台的差异,逐渐消磨我的激情,还是操起日渐陌生的windows程序开发来,重新学习win32程序开发。虽然新一代操作系统Vista即将出世,带来的是支持64位的新一代windows 开发平台Winfx,然而,于我等尚在门口徘徊的人来说还是老老实实的学习些

2006-10-18 09:55:00 2034 1

原创 也论流氓软件

也论流氓软件飘飘白云 2006.10.15      如今流氓软件满天飞,喊打的,喊冤的,一片热闹。但是流氓软件就是流氓软件,狗改不了吃屎的本性(如今世道也有例外,有新闻道猫被鼠咬伤)。这两周我在公 司的电脑和自己的笔记本都相继中招,我使尽各路招数,删注册表,杀进程,结果还是流氓依旧张狂。没办法,公司的系统中的那个招太深,只好重装系统,怕怕 啊,现在搞的一个项目下周要发布alpha版本,要是为

2006-10-15 10:43:00 2090 2

转载 病例:不理解C/C++的函数指针

  一直对函数指针的概念一知半解的,于是搜索了一把,发现几个帖子讲解不错,就帖子这里了.                                       病例:不理解C/C++的函数指针作者:大怪兽原文链接:http://blog.joycode.com/bigmonster/articles/4396.aspx 病人:医生,我折腾了许久,无法理解函数指针。中医:能

2006-09-29 10:07:00 2288

转载 Vivendi Universal Games更名Vivendi Games

  在一行,熟悉一行,理解下有关游戏公司的情况.VU成立了手机游戏部了,嗯,最近接到一个活Eragon就是这个公司的. 来自 GameSpot  的消息: Vivendi Universal Games更名Vivendi Games  继母公司“Vivendi Universal”于日前宣布更名为“Vivendi”之后,Vivendi Universal Games同时

2006-09-27 10:04:00 2067

原创 2006东京游戏展游历

东京游戏展 有幸能参加2006东京游戏展十周年会展,哈哈,从公司拿到票,就直奔会场而去。 这次参展游戏软硬键开发商有KOEI,NETTS,NHN Japan,Vodafone,Cykan,SNK,NeoWiz Japan,Micosoft,NTT Docomo,SEGA,SQUARE ENIX,Sony,Konami,CAPCOM,NAMCO BanDai Games,KDDI,Mar

2006-09-23 10:13:00 2312 2

转载 BMP图像格式解析(转)

  BMP图像格式解析一,文件格式定义:BMP(Bitmap-File)图形文件是Windows采用的图形文件格式,在Windows环境下运行的所有图象处理软件都支持BMP图象文件格式。Windows系统内部各图像绘制操作都是以BMP为基础的。Windows 3.0以前的BMP图文件格式与显示设备有关,因此把这种BMP图象文件格式称为设备相关位图DDB(device-depende

2006-09-12 14:19:00 7215

深入浅出Cocoa教程

这是本人在学习和使用 Cocoa 开发过程中写过的一些文章,涵盖 runtime,class, message,KVO,多线程,core data,网络,framework,plugin等各方面。不仅研究了应该如何使用这些技术,还深入底层探究这些技术是如何实现的,及其 runtime 分析。整体上来说还比较成系列,所以整理出来,希望对大家有帮助。 CSDN移动开发专栏《深入浅出Cocoa》包含了这个pdf 中的所有文章,并会持续添加新的文章,欢迎大家访问该专栏(http://blog.csdn.net/column/details/cocoa.html),查看最新情况。

2012-11-29

VC10中的C++0x特性.pdf

这一系列文章介绍Microsoft Visual Studio 2010 中支持的C++ 0x特性。 Part 1 :介绍了Lambdas, 赋予新意义的auto,以及 static_assert; Part 2( 1 , 2 ):介绍了右值引用(Rvalue References); Part 3:介绍了表达式类型(decltype) 翻译:飘飘白云

2009-06-04

深度探索C++物件模型_中

深度探索C++物件模型,强烈推荐的C++高级系列书籍,

2008-08-04

空空如也

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

TA关注的人

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