|
|
MetaParser: 可配置LR(1)语法分析器 |
|
|
做完了正则表达式以及基于正则表达式的可配置词法分析器MetaLexer之后,继续做完了基于LR(1)语法分析表的可配置语法分析器MetaParser,二者联合起来可以迅速开发编译器的前端。
MetaParser和MetaLexer一样,作为库使用。与lex和yacc不同的是,你需要在代码中用字符串直接定义文法,并为每个文法绑定语义函数。语法分析表在编译开始时动态构造。这样可以允许文法随时更改。
|
|
|
|
|
MetaLexer: 可配置词法分析器 |
|
|
用前几天写完的正则表达式引擎完成了这个词法分析器。词法分析器接受一个配置文件和一个源代码文件,然后按照配置文件对记号的正则定义对源文件进行分析。从而实现了可配置的词法分析器。 |
|
|
|
|
数据结构大作业:Wave Simulator |
|
|
本人的数据结构大作业。用GPU模拟了水波效果。水波高度场的计算使用渲染到浮点纹理完成。高度场的渲染使用了 Vertex Texture Fetching。此程序可以在Geforce 9800GT以50fps模拟3000个粒子下落到256*256高度场的场景。此程序至少需要GeForce 8600GT以上的显卡。 |
|
|
|
|
GxRay 光线追踪渲染器 |
|
|
GxRay 是一个高品质的光线追踪渲染器,支持多种高级渲染技术。GxRay可以对各种基本几何体(球体、长方体、圆柱体、凸面体、平面等)以及复杂的三角形网格进行光线追踪。使用KD树加速追踪过程,优化渲染速度。支持多线程渲染,充分利用多核CPU的计算能力。GxRay支持多种复杂材质,通过综合使用多种光照模型,实现了完整的全局光照,包括间接漫反射颜色光照(Indirect lighting)以及焦散(Caustics)。 |
|
|
|
|
GxScript 3.0 IDE 发布 |
|
|
为了能够方便地编写和调试脚本,本人用了约两个星期的时间开发了这个简单的IDE。这个IDE可以:创建工程,管理工程文件,编写代码,编译工程,定位错误,运行代码,单步跟踪,监视变量,查看编译后指令等。 |
|
|
|
|
GxScript 3.0 发布 |
|
|
GxScript 3.0是一个基于函数闭包的面向对象的动态语言。现在提供GxScript 3.0的本地接口和托管接口以及相关开发工具和文档。较之前版本,GxScript3.0 支持面向对象,函数闭包,多重继承,构造函数和析构函数,更强大的for each语句,反射,运行时代码注入,操作符重载,函数重载,默认参数,运行时对象成员列表修改,主程序对象导入等高级功能。 |
|
|
|
|
GxScript 3.0 控制台 |
|
|
从10月3号到现在基本没参加什么活动,每天基本上都在写代码。终于在11月到来之前将此第三版本的脚本语言写完。这次是一次彻底的重写,系统较之前版本更加强大和稳定。GxScript 3.0在语法设计和核心代码上都已非常成熟,GxScript3.0的语法非常强大和灵活。 |
|
|
|
|
GxScript 2.0 完成 |
|
|
GxScript 2.0 脚本引擎完成。GxScript 2.0是一个面向对象的函数式语言。 |
|
|
|
|
GxScript 1.0 脚本引擎已发布 |
|
|
GxScript 1.0 脚本引擎DLL库文件和API文档已发布。现在提供引擎DLL库文件、DEMO程序以及API参考手册的下载。 |
|
|
|
|
GxScript 1.0 控制台 |
|
|
GxScript 1.0已趋于完善,编译器和虚拟机已进入最后的调试阶段。现在放出的GxScript 1.0的控制台。此程序从文件中加载脚本并编译运行,并输出脚本运行结果和汇编代码和垃圾收集报告。 |
|
|
|
|
Bean Collector -- UniBuilder应用案例 |
|
|
最近把场景编辑器连同上学期做的BSP库包在一起拿去参赛,为了演示整个这个所谓“实时场景渲染解决方案”,临时做了这么个游戏。游戏很简单,就是在规定时间内吃完指定数量以上的豆子。 |
|
|
|
|
BSP编译和渲染器与场景编辑器对接成功 |
|
|
花了几天时间把上学期的工作和场景编辑器对接了起来。在场景编辑器中做完场景后直接单击Compile命令即可将场景编译为gxbsp文件。执行Render命令即可启动渲染器渲染刚编译完的场景。PVS、Lightmap、HDR全都有了。 |
|
|
|
|
UniBuilder 通用场景编辑器 |
|
|
这是一个基于计算实体几何的建模工具兼场景编辑工具。通过对简单几何体进行布尔运算构造场景。在结构和使用上类似Q3 Radient工具。UniBuilder支持可扩展的实体属性编辑,使用户只要简单地编写配置文件就可以在编辑器中定义新的类型的实体对象,并维护它们的属性。 |
|
|
|
|
BSP开发日志3:高动态范围渲染(已改进) |
|
|
终于自己实现了期盼已久的所谓高动态范围(High Dynamic Range)渲染。高动态范围原理上由Tone Mapping和Bloom构成。实现起来比较复杂,目前也存在效率不高的问题。经过优化,这个程序在我的8600GT上的速度是200FPS左右。最新改进了HDR处理流程,解决了光晕抖动问题。 |
|
|
|
|
BSP场景管理开发日志2 |
|
|
对静态物体应用光照贴图是目前游戏中较为流行的做法。目前已实现了光照贴图的自动分配,打包,静态阴影以及Phong光照模型的计算。还实现了光照贴图的反锯齿/反走样。接下来实现Radiosity的计算。光照贴图均为浮点格式,以进行HDR渲染。 |
|
|
|
更多... |