存档在 ‘《古月》引擎’ 分类

技术试验:迁移到Vulkan

2019年4月9日
https://github.com/hyzboy/ULRE/tree/devel_4_move_to_vulkan

Vulkan是Khronos寄于厚望的下一代图形API,我们在全新的试验工程ULRE(超轻量级渲染引擎)中,尝试将渲染API迁移到Vulkan。

未来ULRE的完善版本,将会取代CMGameEngine中老旧的渲染器。

全新渲染器

2018年10月1日

近十年,我们的渲染器设计都失败了!这其中,前期有各种各样的原因。后期由于服务器模块的重量化,倒导渲染器的工作也停滞了很多年。

此次的渲染器重新设计,将会对引擎本身带来很多革命性的变化。

  • 多平台支持: PC(Win/macOS/Linux),手机(iOS/Android)
  • 多线程设计: 每个窗口的渲染将完全开启独立线程处理,互不影响。主程序的所有操作都将转换为渲染指令提交给对应窗口的线程。
  • 多渲染API设计: 其实我们支持的还是只有OpenGL,只不过为了同时支持PC和手机,我们会实现OpenGL Core与OpenGL ES两套API支持。Vulkan做为未来可能的选项之一。而同时,我们会首发支持一种简易的软件渲染器(考虑使用SwiftShader的OpenGL/ES),用于一般2D界面的应用软件,比如在OpenGL无法初始化时的一些配置程序。
  • 异步资源加载支持: 此次我们将全面实现资源异步加载支持,资源加载不再同步执行。每一个硬体资源设备,将会有一个独立的线程执行加载任务。
  • 全新的GUI模块: GUI模块一直是我们的骄傲,但终究历史太久。此次我们将引入Qt/Metro/Material等GUI系统的设计概念,全面重新设计我们的GUI系统。更加现代化,同时适用于手机和PC。

静态模型显示

2017年6月30日

删除所有APR(Apache Portable Runtime)相关代码

2016年1月2日

从很多年前开始,我们使用APR来支持跨平台下对各种操作系统底层API的访问。

而今天,是我们与APR告诉的时刻。并不是APR有什么问题,而是我们需要轻装上阵,以更简洁的代码和依赖支持更多的平台和编译器。

同时因删除APR,将不再支持Win7以下的操作系统。以及SharedMemory模块、MemoryPool模块暂时删除。

 

再见!伟大的APR,伟大的Apache。

《古月》易语言封装(预览版)

2012年4月13日

点击图片可以链接到原文网址

新渲染器进度(WIP),已可正常渲染字符串

2011年3月18日

虽然看着和上一代引擎没有区别,唯一的改进是绘制时不再一个字一个字的绘制,而是整段文字一次绘制,大大提升了渲染速度。

虽然看着不如3D模型显示技术高超,但其实它凝聚了更多的技术成份,tile缓冲管理,字符自动频率调整等等。

 

另附射线查询测试程序截图:

一个需要Radeon HD5/GeForce GTX4显卡的纯色三角形

2011年1月27日

虽然这个程序只是简单的画了一个纯红色的三角形,但是这个程序的硬件需求却不低。AMD Radeon系列显卡最低需要HD5xxx系列,而NVIDIA  GeForce系列显卡也是最低需要GTX 4xx系列。

这一切都要源于它使用OpenGL 4.0 核心向前兼容模式绘制,GL_VERSION字串输出为“4.0.10317 Core Profile Forward-Compatible”。

《古月》R48头文件全部整理归类放置

2010年12月15日

经过慎重考虑,我方决定对《古月》R48版的头文件进行一次归类整理,以清晰化各种头文件所对应的类型,以及方便开发人员的查找。

目前已归类成立的:

  • 数据类型/数据结构:hgl/type
  • 基本对象:hgl/object
  • 流数据处理:hgl/stream
  • OpenGL原生类容实现:hgl/gl
  • 2D图形:hgl/2d
  • 音频类:hgl/audio
  • 影片类:hgl/movie
  • 影响器:hgl/affector
  • 脚本类:hgl/script
  • OpenGL Shader原生类容实现:hgl/gl/shader

如R48最终发布前有所变动,本文将跟随更新

下一代《古月》开始制定开发计划

2010年10月20日

起始于2003年末的《古月v18》终要告一段落了,在此感谢所有使用过《古月》的开发人员以及团体,以及对《古月》提出过意见的人员。正是你们的努力,才使《古月》有了今天的强大与实力。

再次表示感谢!

胡颖卓

2010-10-20 08:56于北京


  • 下一代开始开发,但并不代表当前V18一代会停止开发。会大量从V18这一代中移植代码过去,比如各种基础库和模板库、以及OpenAL、网络、GUI等等。以保证现有用户方便升级和移植。
  • C/C++头文件分布将细化,比如图形会全部放入graph,音频全部在audio
  • PC版将会全面注重并行多核多处理器运行,所有资源加载全部提供同步以及异步多线程处理方式
  • 全新的抽像渲染层,以支持多种级别和多种类型的渲染API,包括:Software2D、OpenGL 兼容模式(3.2及以下)、OpenGL核心模式(3.3/4.0或更高)、OpenGL ES 2.X、PlayStationPortable Gu、PlayStation3 PSGL
  • 将提供3D SceneGraph模块
  • 除标准PC的Windows、Linux、Mac外将支持PlayStation Portable平台、PlayStation3平台,亦可能会支持iOS、Android等手机平台
  • PC平台将提供X86-64位版本,并提供64位优化的数学库等等
  • 各种游戏运行时自有文件结构以及压缩算法向游戏机平台靠齐,以最高效能为目标设计,放弃高压缩率以及复杂数据结构,最大化提升解晰使用速度
  • 全64位文件及流处理,包括全64位的HAC包裹系统,支持超过4G的大包
  • 将会提供开发指南
  • 引导程序分离,即开发者可以自由选用glut/glfw/qt/wx/gtk/fltk/fox等进程序引导和封装,也提供自有的框架结构,但不是必须。
  • 各模式将相对独立,不再强制依赖,保证开发者可以取其独立模式进行使用。

《古月》R48将采用统一Library路径方式

2010年9月4日

在旧版中,我们需要根据编译器类型、是否调试、是否动态运行时态库,来确定Library文件的路径。这对一些初学者来讲,形成了不便。

于是,在《古月》即将发布的R48中,我们将使用统一的Library路径,将所有库文件存放于同一目录。在.h中依赖宏定义根据参数自动确定所需使用的库文件。

另,《古月》R48将支援最新的C++BuilderXE,同时放弃C++Builder 2009的支持。

至此,《古月》R48将支持C++Builder 2010、C++Builder XE、Visual C++ 2008、Visual C++ 2010四款开发工具。