程序的天空

我的学习心得

导航

08 2008 档案

摘要:前言 这几年,图形技术有了巨大的发展.先是Windows Vista界面部分抛弃了古董级的GDI,将DirectX9 API作为成熟的API使用,并在用户模式层增加了DirectX9的函数功能,通过新的驱动模型(WDDM)处理和内核模式的图形处理驱动交互,这样,就有了Vista的Aero界面和更好的图形处理能力. 不久,DirectX 10出世了,事实上DX9被Vista直接使... 阅读全文

posted @ 2008-08-18 03:29 帕托 阅读(2205) 评论(1) 推荐(0)

摘要:Ref_gl模块分析:(Ref_soft模块也很类似) ref模块负责图形渲染系统的工作,这一节我们来看ref_gl模块。ref模块的输出函数在文件ref.h中,这里不再列出。在gl_rmain.c文件中,我们直接找出ref_gl模块对输出函数的实现: re.api_version = API_VERSION; //API_VERSION为3 ... 阅读全文

posted @ 2008-08-17 02:17 帕托 阅读(1340) 评论(1) 推荐(0)

摘要:在前面的分析中,我们知道在quake2运行的函数框架中,最终每桢的执行会涉及到game(游戏逻辑)模块和ref_XXX(图形系统)模块的交互,这一节我们来看这两个模块的输出函数。 game模块的输出函数: 在文件game.h中,我们找到下面的代码: // // functions exported by the game subsystem,game系统的输出函数 // t... 阅读全文

posted @ 2008-08-16 02:02 帕托 阅读(1180) 评论(0) 推荐(0)

摘要:追踪SCR_UpdateScreen(客户端的主要负责渲染的函数): 为了追踪这个函数,我们给出了函数的每桢循环的主要部分: for ( i = 0; i value值不为0时有2桢 { re.BeginFrame( separation[i] ); //ref_export开始桢 if (scr_draw_loading == 2) ... 阅读全文

posted @ 2008-08-15 16:16 帕托 阅读(1518) 评论(1) 推荐(0)

摘要:Quake2引擎的主循环: 在sys_win.c中,我们找到了WinMain函数,它完成的功能主要如下: Qcommon_Init (argc, argv); //初始化Qcommon oldtime = Sys_Milliseconds (); //计时 /* main window message... 阅读全文

posted @ 2008-08-14 00:29 帕托 阅读(1968) 评论(4) 推荐(0)

摘要:简介: Quake2游戏是著名的Id Software公司的第一人称视角游戏,在网上的源代码是开放的(也有Quake3),这些代码使用的某些技术也许已经过时(如那时的GPU编程技术还不完备),但出自著名的FPS游戏之父John Carmark的Quake游戏源代码使我们今天在研究游戏框架,游戏引擎设计,C/S通信等方面都有着难得的借鉴和学习价值,更重要的是,这是一款商业程序的开源,在此... 阅读全文

posted @ 2008-08-13 01:34 帕托 阅读(2633) 评论(3) 推荐(0)