Skip to content

Readme in Chinese

Zhou edited this page Apr 9, 2016 · 11 revisions

#PURESOFT3D

中文自述文档 ##概述

探索显卡背后的世界

这是一个软件图形渲染管线项目,它旨在:

  • 满足个人兴趣;
  • 辅助初学者自学。

如果你刚刚学会OpenGL/Direct3D,能渲染一些有趣的场景,但是显卡和图形API对你来说仍然是个黑盒,那么不如来玩一下这个项目,将黑盒打开。

或者如果你是个图形管线的老司机,并且乐于挑战一下我或给我上上课,那么也非常欢迎进入这个项目。“源码面前了无秘密”[1],当然也包括了我所有的愚钝。我不怕出丑,只怕如入无人之境。
[1] 《STL源码剖析》,侯捷。

##想整一把?

若你真想试一下,那么容我简介一下系统要求

  • 这个项目写于VisualStudio 2010 Pro,并在Windows 7 and Vista上测试。由于后天家里要添丁,所以近期实在没有时间把它移植到其他平台。你必须先准备好这套开发环境再来玩。

  • 虽然这个项目与GPU无关,但你必须有一颗强劲的CPU,它毕竟是计算密集型的程序,所以双核是最低要求。我的机器里有一颗2核4线的i5,画上图中的场景只有7帧。我猜一颗4核8线的i7差不多能达到10到14帧速度,那样应该看起来更好些。

在VS里打开项目的slo文件后可以看到6个vcproj,其中'Puresoft3D'是包含了90%图形管线程序的主模块。 更多细节请阅读项目WIKI.

另外有两个名为'test'和'test2'的测试程序vcproj。你可以设定其中一个为启动项,切换到Release模式,然后按F5去生成slo并跑一下[2]。你可能注意到上一段中的'90%'了。剩下的10%在测试程序里 —— shaders,你懂的。
[2] 生成slo之前,请先执行一下项目根目录下的initdirs.bat谢谢。

'libobjx'和'objcvt'是两个辅助工具程序,用于将Wavefront OBJ文件转换为OBJX扩展格式。它们不重要,来自于4年前我的硕士毕设的一部分。我在这个项目里凑合用它们来转换和加载场景。时间太紧张了,我本计划支持FBX,但是小孩要出生了,我必须先凑合一下。请不要花时间去琢磨这两个模块

最后一个vcproj叫'mcemaths',顾名思义,是这个项目的数学计算库。请别介意名字里那个奇怪的前缀,因为这个库也是来自于以前的毕设。数学计算库对每一个渲染程序都很重要,因为绝大部分线性代数计算都在里面实现,但是这个库对你重不重要你自己看,毕竟网上这种库有很多。不过如果你想读本项目的代码,建议还是看一看mcemaths.h,了解该库函数的功能才能扫除理解其他部分代码的障碍

项目WIKI目前暂时只有英文版。等我弄完家里的事,会回来补上中文版的。要不,您先凑合一下?

##想说点啥?

如果发信到我的工作邮箱那么我每早都会看到邮件。 同时我的个人邮箱也在盼着你的来信,不过我每周只会查阅一到两次。

Clone this wiki locally