rmapc.v0.4
所属分类:游戏
开发工具:Visual C++
文件大小:99KB
下载次数:50
上传日期:2009-02-01 15:11:15
上 传 者:
shiqinghua
说明: 3D游戏开发需要用到BSP树来经行场景渲染的管理。本代码包含完整的BSP及文件生成实现
(3D game development needed to BSP tree rendering scenes by line management. The code contains the complete realization of BSP and documents generated)
文件列表:
rmapc.v0.4 (0, 2008-12-15)
rmapc.v0.4\bugs.txt (279, 2008-12-15)
rmapc.v0.4\rmapc.exe (69632, 2008-12-14)
rmapc.v0.4\rvisc.exe (18944, 2008-12-15)
rmapc.v0.4\src (0, 2008-12-15)
rmapc.v0.4\src\bitstring.h (2476, 2008-12-13)
rmapc.v0.4\src\brush.cpp (2236, 2008-09-24)
rmapc.v0.4\src\brush.h (1755, 2008-09-23)
rmapc.v0.4\src\bsp.cpp (2576, 2008-09-24)
rmapc.v0.4\src\bsp.h (890, 2008-10-07)
rmapc.v0.4\src\bspbrush.cpp (5439, 2008-10-05)
rmapc.v0.4\src\bspbrush.h (3360, 2008-09-29)
rmapc.v0.4\src\bspconv.cpp (6692, 2008-12-14)
rmapc.v0.4\src\bspconv.h (5070, 2008-11-04)
rmapc.v0.4\src\bspdata.h (2674, 2008-10-07)
rmapc.v0.4\src\bspfilter.cpp (704, 2008-09-29)
rmapc.v0.4\src\buildbsp.cpp (5502, 2008-11-04)
rmapc.v0.4\src\buildbsp.h (1192, 2008-09-24)
rmapc.v0.4\src\clist.h (325, 2008-07-15)
rmapc.v0.4\src\cmdlib.h (456, 2008-09-23)
rmapc.v0.4\src\gamesys.h (216, 2008-12-14)
rmapc.v0.4\src\hashtable.h (2147, 2008-07-23)
rmapc.v0.4\src\hashtablevec.h (1868, 2008-09-23)
rmapc.v0.4\src\keyvalpair.h (1241, 2008-08-23)
rmapc.v0.4\src\lexer.cpp (4294, 2008-09-23)
rmapc.v0.4\src\lexer.h (1125, 2008-08-17)
rmapc.v0.4\src\list.h (1179, 2008-07-06)
rmapc.v0.4\src\log.cpp (1957, 2008-12-13)
rmapc.v0.4\src\log.h (695, 2008-09-24)
rmapc.v0.4\src\main.cpp (505, 2008-12-14)
rmapc.v0.4\src\map.cpp (1580, 2008-12-14)
rmapc.v0.4\src\map.h (1951, 2008-11-04)
rmapc.v0.4\src\math.cpp (9055, 2008-10-05)
rmapc.v0.4\src\math.h (8899, 2008-12-14)
rmapc.v0.4\src\matrix.asm (1821, 2008-10-05)
rmapc.v0.4\src\memalloc.cpp (63, 2008-08-17)
rmapc.v0.4\src\memalloc.h (862, 2008-08-17)
rmapc.v0.4\src\memcopy.h (117, 2008-06-24)
rmapc.v0.4\src\memcpy.asm (1933, 2008-10-05)
... ...
rmapc
2008 Rouslan Dimitrov
Intent
------
This project is my educational tool to deepen my knowledge in computer
architecture, computer graphics, game engine technology, compiler
design, and programming.
Acknowledgements
----------------
This work is strongly influenced and inspired by id's Quake 3.
The sources have greatly helped me in my attempt to dive into
the art of game programming. Although influenced by id Software's
quake map compiler q3map, rmapc is developed from scratch and
does not reuse code with similar utilities.
Issues
------
Quake 3 compatibility issue 1 (plane equation):
Quake uses Ax + By + Cz - D = 0 and this compiler uses "+ D".
Quake 3 compatibility issue 2 (brush sides):
The game expects every brush to have at least 6 sides
(order: left, right, bottom, top, far, near), even though some
are never reachable. The only way to optimize this is to set
sBSPBrush.numSides to less then 6, but still sBSPBrush.firstSide
to index into at least 6 valid brush sides. While not perfect,
this could still save some work. Note: this way, all left brush
sides are always checked, but we could get a speed-up from not
reachable near sides.
近期下载者:
相关文件:
收藏者: