加载中…
分类
个人资料
fred
fred
  • 博客等级:
  • 博客积分:0
  • 博客访问:26,930
  • 关注人气:7
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
51啦
我要啦免费统计
博文
(2012-08-31 01:50)
标签:

windos

event

loop

杂谈

分类: windows
windows 事件循环流程:

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2012-08-29 01:33)
标签:

windows

directx

ddraw

lib

分类: game
最近开始在看 windows 下的 directx 编程,为了运行一段示例代码(Windows游戏编程大师技巧(第二版)第一个例子 freakout.cpp),可把我郁闷死了,下面介绍一下我是怎么把这段示例代码运行成功的吧。

1,首先安装 vs2005(我是用 vs2005 开发的),这个就不用多说了,我想大家都没问题吧。

2,安装 directx 的 sdk,在这一块我傻 x 了,花了三个晚上。我先是上网搜 “directx 安装”,很好,搜到了 http://www.microsoft.com/en-us/download/details.aspx?id=19743(继续往下看),直接下载安装。嗯,安装好了,还是不成功,为什么呢,很简单,这是运行时的动态库,一般都是游戏玩家玩不了游戏时,安装这么一个库来支持游戏的。而我们的目的是开发程序,我们应该安装的是 directx 的 sdk。

3,我从 http://www.microsoft.com/en-us/download/details.aspx?id=6812 下载了 directx 的 sdk,下载后直接安装,然后运行程序,还是不行,为什么呢?报的错是没有 ddraw 库。好了,这里需要说一下,我下的是 DXSDK_Jun10.exe,这个是新版
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

directx

杂谈

分类: game
directx 程序结构:


阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

windows

game

分类: game
1,不要怕使用全局变量。对时间要求严格的函数,可以使用全局变量来传递参数,如函数 void plot(int x, int y, int color),由于参数要被压栈和出栈,执行这个函数所需的时间可能小于调用函数所需的时间,在这种情况下,可以使用全局变量,也就是函数写成 void plot(),变量 x、y、color 在函数外面定义,在调用这个函数之前对这些全局变量赋值即可 

2,使用 inline 来摆脱函数调用,inline 指示编辑器用函数体代码去替换函数调用,这样会使编译后的程序变大,但能提高运行速度。

3,尽量使用 32 位变量而不用 8 位或 16 位变量。由于高速缓存和其他相关内存储器的寻址变得较不规则,较小的数据可能会使速度下降。如下结构体#pragam pack(1)
struct CPOINT {
    short x, y;
    unsigned char c;
}
上面
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

三维投影

图形学额

分类: 图形学
透视投影:
透视投影的视线(投影线)是从视点(观察点)出发,视线是不平行的。不平行于投影平面的视线汇聚的一点称为灭点,在坐标轴上的灭点叫做主灭点。主灭点数和投影平面切割坐标轴的数量相对应。按照主灭点的个数,透视投影可分为一点透视、二点透视和三点透视。


一点透视:
Z 轴上有一个观察点 V(0,0,h),由 V 点出发将物体的点 P(x,y,z)投影到 XOY 平面上得到(X,Y,Z)。
灭点在 Z 轴上(0,0,-h):
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

图形学

投影变换

分类: 图形学
在三维空间中,选择一个点,记该点为投影中心,不经过这个点再定义一个平面,称该平面为投影面,从投影中心向投影面引出任意条射线,称这些射线为投影线;穿过物体的投影线将与投影面相交,在投影面上形成物体的像,称这个像为三维物体在二维投影面上的投影。这样将三维空间的物体变换到二维平面上的过程称为投影变换。

投影分类:

投影变换:
分为透视投影和平行投影,其主要区别在于透视投影的投影中心到投影面之间的距离是有限的,而平行投影的投影中心到投影面之间的距离是无限的。当投影中心在无穷远时,投影线互相平行,所以,平行投影表示时只给出投影线方向即可,而透视投影要明确指定投影中心的位置。

平行投影:
平行投影根据投影方向与投影
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2012-08-19 01:52)
标签:

三维

图形学

杂谈

分类: 图形学
1

2

3

4
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
标签:

图形学

mfc

杂谈

分类: 图形学
(1)文档类(Document)
文档即应用程序处理的数据对象,文档一般从 MFC 中类 CDocument 中派生。CDocument 类用于相应数据文件的读取以及存储 Cview 类所需要观察和处理的信息。

(2)视类(View)
视相当于文档在应用程序中的观察窗口,它确定了用户对文档的观察方式和用户编辑文档的方式。对于图形来说视就好比我们进行绘图工作的画布,对图形的操作都是在视上进行的。另外,视类中有一个重要的成员函数 OnDraw() 函数。重载的 OnDraw() 函数要完成两件事,即调用相应的文档的函数获取文档数据和调用 GDI 图形设备接口的函数在视中画出文档数据。

(3)主窗口类(Main Frame Window)
主窗口是 Windows 应用程序中限定其所有窗口范围的最外边框。应用程序中的所用其它窗口都直接或间接地为主窗口的子窗口,视占文档窗口的客户区,而文档窗口又是主窗口的子窗口。

(4)文档模板类(Document Template)
文档模板类用于协调文档对象、视对象、和主窗口对象的创建过程。它是从类 CDocTemplate 或其派生类中派生的。一个文档模
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2012-08-18 01:27)
标签:

图形学

二维变换

杂谈

分类: 图形学
1
2

3
4
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
(2012-05-24 01:22)
标签:

linux

path

/etc/profile

分类: linux
今天中午在 mac 机器上做项目的时候遇到一个 path 的问题,没有完全解决,现在在 redhat 又遇到了一个 path 的问题。刚看了一下 redhat 中的 /etc/profile 文件,下面按照我的理解梳理一遍。

在脚本开始是一个 pathmunge 函数,它在后面调用,作用等一下再说。

if [ `id -u` = 0 ]; then
        pathmunge /sbin
        pathmunge /usr/sbin
        pathmunge /usr/local/sbin
fi
这是在脚本中最先运行的命令,主要需要说一下 if 后面的中括号里的代码。首先在中括号里需要执行一个命令 id -u,在 if 条件里执行的命令需要用 `` 号包起来,注意这不是英文的单引号。id 命令查看当前用户的 id 号。root用户的 id 是 0。从 1~499 大多是系统服务或软件厂商自定议的 id,而普通的用户的 id 是从 500 开始往后依次加 1,-u 显示用户 id,-n 显示用户名称。

pathmunge () {
 
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
评论
加载中…
  

新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

新浪公司 版权所有