找回密码
 初始化身份识别芯片
查看: 8694|回复: 35

[0.97a][C][前置] Box Util (2024.10.14)

    [复制链接]

星域军阀

mos管烫主控烫电感烫手

高级机师见习机师

见习Mod作者

发表于 2024-8-18 16:55:36 | 显示全部楼层 |阅读模式
原创Mod发布
Box Util 1.0.8a / ID:BoxUtil
Box Util
面向Modder的高自定义度近现代图形库
Mod作者: ShioZakana
Mod类别: 前置
Mod适用版本: 0.97 
Mod更新时间: 2024-10-14
可安全移除:
依赖Mod: 无 
其它依赖Mod:
冲突Mod:
Mod下载地址:
网盘提取码 / 解压密码:
本帖最后由 ShioZakana 于 2024-12-12 21:26 编辑

#无需前置或其余操作,安装即用#

#内置配置GUI#

#禁止在未经作者本人允许的情况下将本mod上传至其他任何地方#



==========================================



BOX UTIL

Mod_Icon

Mod_Icon







  • MOD简介:
  Box Util基于 OpenGL 4.2 进行开发,使用了 OpenGL 4.2~4.3 的核心特性。
  实例化渲染GPU计算 为中心,且大多数玩家的配置都能运行的前提下,实现各种更性能化与质量化的图形相关功能。

  对于Modder而言,该Mod为绝大多数静态类与实例类编写了较为丰富的各种方法,并尽可能地拥有一个接口类作为父类;在拥有简单易懂的各种渲染对象设定方法的同时,还可以借助部分方法进一步自定义该对象,或直接将其重写;且拥有数个管理类,集中处理各种数据或置入对象实现渲染。

  对于一般玩家而言,当前阶段的 Box Util 可为游戏提供两种性能消耗与画面质量不同的 FXAA 后处理抗锯齿,以便在启用 GraphicsLib 后,即便游戏原版的抗锯齿必须关闭的情况下,依然能获得较好的画面体验。


  • 主要功能:
 主要渲染类 - org.boxutil.units.standard.entity
  为Box Util的主要实现内容,也是该Mod通常来说的常用渲染对象;该路径下类皆实现了 org.boxutil.base.api.RenderDataAPI 接口类
    CommomEntity - 主要实现WaveFrontOBJ格式3D模型的渲染;拥有一个 无限光 光源配置,但不包括遮挡阴影;支持材质配置
    SpriteEntity - 主要实现平面纹理渲染;类似 原版SpriteAPI,支持Tiles配置;支持材质配置
    CurveEntity - 主要实现曲线光束等类似效果的渲染;基于三阶贝塞尔曲线;支持材质配置
    SegmentEntity - 主要实现曲线光束等类似效果的渲染;为 CurveEntity 的分支版本但设置方法与渲染方法有所不同
    FlareEntity - 主要实现闪光特效的渲染;类似 MagicLib的MagicLensFlare
    TextFieldEntity - 主要实现位图文本的渲染;类似 LazyLib的LazyFont,支持 斜体/下划线/删除线/反相 配置,并至多支持4种位图字体同一渲染
    DistortionEntity - 主要实现屏幕扭曲效果的渲染;类似 GraphicsLib的DistortionAPI

 简易渲染类 - org.boxutil.units.standard.misc
  近原版的功能类,其中VAO相关对象类需要 OpenGL 3.1 支持,其余最高需要 OpenGL 2.0 支持;VAO对象类皆实现了 org.boxutil.base.api.SimpleVAOAPI 接口类
    ArcObject - 在任意位置绘制 弧线/扇形/椭圆 等
    TexArcObject - 在任意位置绘制带有纹理的 弧线/扇形/椭圆 等
    NumberObject - 在任意位置绘制输入的 整形数/浮点数
    UIBorderObject - 在任意位置绘制类原版的UI框体
    TileMapSprite - 为节省显存实现的纹理类,实现了原版 SpriteAPI 方法,常用于替换默认的舰船纹理
    PointObject - 绘制一个点的VAO对象类
    LineObject - 绘制一个水平线段的VAO对象类
    QuadObject - 绘制一个正四边形的VAO对象类

 资源管理类 - org.boxutil.manager
  用于管理各种资源,或由该类集中进行渲染
    CampaignRenderingManager - 管理生涯模式地图中的渲染
    CombatRenderingManager - 管理舰船战斗内场景中的渲染
    ModelManager - 实现WaveFrontOBJ格式3D模型文件的加载与存储
    ShaderCore: 保存Box Util的各种着色器程序,或是其余相关OpenGL对象等

 实用工具类 - org.boxutil.util
  提供相关功能的简易实现方法
    CalculateUtil: 方便实现向量等数据的计算方法
    CommonUtil: 常见的渲染相关方法,或未归类方法
    RenderingUtil: 实现对主要渲染类的创建方法的包装
    ShaderUtil: 实现着色器程序的创建方法,或其余OpenGL相关的操作方法
    TransformUtil: 矩阵创建和计算的相关方法,主要用于 主要渲染类 的 位置/朝向/整体缩放 状态调整
    TrigUtil: 一些三角函数计算方法,主要为基于平方关系的三角函数求值

  关于实际的调用示例,可以参考Mod内 data.missions.BUtilTestMission 中代码,该文件中包含了多个主要内容的使用方法,且可以通过战役预览这些方法的效果。该测试战役在战役面板内中名为 Box Util Test


  • 主要功能框图:


  • 设定面板:
  该Mod成功安装并启用后,主菜单界面左下角会出现一个小型UI框体,包含 两个小图标 ,两个图标从左至右分别对应 BoxUtil基础功能OpenGL4.3 相关功能的可用情况。
  默认情况下,对应小图标显示 绿色 时为可用;而显示 橙红色 为不可用,届时相关功能将无法使用。

  将光标移动至该小型UI框体处,直至框体从两个小图标变为单个大图标后,可 左键单击 打开,并进入设定面板,如下图。
  面板默认为 英文语言 ,若需更改为中文语言,可在底下的 Config panel language 选项中进行调整。
  其中,除了全局设置的相关配置更改需要 完全重启游戏 才能生效外,其余设定通常都是保存后即有效的。
  如果某个设定项显示为 橙红色 时,则说明对应功能在当前设备环境下不可用。
  对于需要重新启动游戏才生效的选项,右侧显示的值为设定的值,而当前真正生效的值可以通过该选项栏的提示框获知。


  • 注意事项:
  对于Box Util的绝大多数功能,必须拥有一张至少支持 OpenGL 4.2 的显卡(例如NVIDIA GTX 460,基于Fermi架构,支持OpenGL 4.2),并且游戏进程使用了该显卡运行才能正常使用;而调用GPU进行实例化渲染的相关计算则至少需要 OpenGL 4.3 的支持。

  对于已安装的显卡,可以通过 GPU-Z 等类似软件进行查询,若显卡显示为支持 OpenGL 4.2 则仅支持 4.2 的核心特性,若显示为 OpenGL 4.3基本支持 4.24.3 的核心特性,若显示为 OpenGL 4.4 同支持4.3所述,依此类推。
  对于其他查询途径,可以通过 opengl.gpuinfo.orgtechpowerup.com/gpu-specs/ 等等查询。

  如果需要更改游戏的UI缩放倍率,请尽量以 50% 为步进进行调节,如 150% / 200% 等。

  对于自定义Bloom效果,当前阶段除了添加渲染实体(如 SpriteEntity )外,也可以手动绑定 ShaderCore.getRenderingBuffer() 的索引 0 上的FBO,在除开最顶层渲染层级外的层级内,将相关图形绘制至第三个颜色附件(GL_COLOR_ATTACHMENT2)实现。

  实现效果时,对于批量渲染尽量配合 InstanceDataAPI 相关类创建数据;对于部分需要控制的视觉效果,可以配合 ControlDataAPI 挂载到每个渲染类上实现状态控制。


  • 更新记录:
  



  • 下载直连:

  0.97a [当前维护版本] [C][前置]BoxUtil.7z (1.93 MB, 下载次数: 1633)







评分

参与人数 11星币 +65 收起 理由
酸奶狐狸条 + 5 非常强大鱼子哥,使我的尾巴旋转 ...
Nitori_Tachyon + 5 666
是大笨蛋的寒流 + 5 鱼门!
fofofo + 5 看不懂,但是旋转扭曲抽搐点赞.
homejerry99 + 5 POWER!
投石机批发商狼 + 5 好!
迪泠 + 5 终于出来哩!好耶!超级鱼子之力!.
议长不死于锉刀 + 10 期待已久!
Ajimu + 5 好耶!
AnyIDElse + 10 什么时候我能把graphicLib从我的前置树里完.
cjy4312 + 5 牛逼!

查看全部评分

英仙统领

在画女人

高级机师搬运能手战术专家通讯记者学院教员

Mod作者

发表于 2024-8-18 16:59:37 | 显示全部楼层
看不懂

巡洋大副

发表于 2024-8-18 17:00:23 | 显示全部楼层
鱼子哥伟大!

星域军阀

高级机师

发表于 2024-8-18 17:04:48 | 显示全部楼层

战列舰长

发表于 2024-8-18 17:11:27 | 显示全部楼层
听不懂思密达
不如直接讲讲普通玩家安装这玩意有什么用吧

点评

目前版本大概是 就算装了GraphicsLib,导致必须关闭游戏本身的抗锯齿时,也能通过该Mod的内置抗锯齿功能实现后处理抗锯齿  详情 回复 发表于 2024-8-18 17:15

星域军阀

mos管烫主控烫电感烫手

高级机师见习机师

 楼主| 发表于 2024-8-18 17:15:31 | 显示全部楼层
Tourist_翔 发表于 2024-8-18 17:11
听不懂思密达
不如直接讲讲普通玩家安装这玩意有什么用吧

目前版本大概是 就算装了GraphicsLib,导致必须关闭游戏本身的抗锯齿时,也能通过该Mod的内置抗锯齿功能实现后处理抗锯齿

点评

有这好事,我夸夸用  详情 回复 发表于 2024-10-31 20:59

势力巨擘

迪泠今天也在夸夸!

高级机师

发表于 2024-8-18 17:34:40 | 显示全部楼层
好耶!鱼子之力!

势力巨擘

发表于 2024-8-18 18:09:34 | 显示全部楼层
看起来好牛逼的

星域军阀

呱!是刻晶七音口牙!

发表于 2024-8-18 18:11:26 | 显示全部楼层
看起来很厉害的新时代前置!
相位洗衣机装配点五十六点耗散每分钟三百五十相位EMP电击瞬间完成,是洗衣机中的豪杰

势力巨擘

发表于 2024-8-18 18:22:58 | 显示全部楼层
看不懂,但牛逼

势力巨擘

舰船焊接技工

发表于 2024-8-18 18:33:07 | 显示全部楼层
鱼子哥,强大!

势力巨擘

发表于 2024-8-18 19:02:17 | 显示全部楼层
啊?

势力巨擘

发表于 2024-8-18 19:43:07 | 显示全部楼层
看不懂思密达
嗨嗨嗨,吃我攻势鱼雷啦

战列舰长

发表于 2024-8-18 20:20:33 | 显示全部楼层
wc 牛逼啊技术大佬

势力巨擘

发表于 2024-8-19 01:05:46 | 显示全部楼层
不明觉厉!

势力巨擘

发表于 2024-8-19 08:35:54 | 显示全部楼层
抗锯齿util

势力巨擘

发表于 2024-8-19 09:15:58 | 显示全部楼层
有个问题,我200%进游戏这个选项框大的屏幕都装不下,就显示了大概三分之二?

点评

ok,新的热修复版本已上传  详情 回复 发表于 2024-8-19 16:36
在修了,手头只有1080p的屏可能得等个一阵子才能调试好  详情 回复 发表于 2024-8-19 14:49

星域军阀

mos管烫主控烫电感烫手

高级机师见习机师

 楼主| 发表于 2024-8-19 14:49:33 | 显示全部楼层
老魂滚动环 发表于 2024-8-19 09:15
有个问题,我200%进游戏这个选项框大的屏幕都装不下,就显示了大概三分之二? ...

在修了,手头只有1080p的屏可能得等个一阵子才能调试好

星域军阀

mos管烫主控烫电感烫手

高级机师见习机师

 楼主| 发表于 2024-8-19 16:36:42 | 显示全部楼层
老魂滚动环 发表于 2024-8-19 09:15
有个问题,我200%进游戏这个选项框大的屏幕都装不下,就显示了大概三分之二? ...

ok,新的热修复版本已上传

势力巨擘

发表于 2024-8-21 08:40:16 | 显示全部楼层

战列舰长

发表于 2024-8-22 16:43:47 | 显示全部楼层

势力巨擘

发表于 2024-8-22 19:48:11 | 显示全部楼层
这东西理论上0.96能不能用啊0.O

点评

因为相关功能需要调用游戏内随版本变化较大的部分代码,出于安全考虑,该Mod是锁定版本使用的  详情 回复 发表于 2024-8-22 19:55

星域军阀

mos管烫主控烫电感烫手

高级机师见习机师

 楼主| 发表于 2024-8-22 19:55:58 | 显示全部楼层
维尔拉 发表于 2024-8-22 19:48
这东西理论上0.96能不能用啊0.O

因为相关功能需要调用游戏内随版本变化较大的部分代码,出于安全考虑,该Mod是锁定版本使用的

点评

感谢解答  详情 回复 发表于 2024-8-22 21:30

势力巨擘

发表于 2024-8-22 21:30:18 | 显示全部楼层
ShioZakana 发表于 2024-8-22 19:55
因为相关功能需要调用游戏内随版本变化较大的部分代码,出于安全考虑,该Mod是锁定版本使用的 ...

感谢解答

战列舰长

发表于 2024-8-25 15:23:01 | 显示全部楼层
晕晕,有无api文档

点评

你可以把源文件当doc用,大部分复杂方法都包含注释,具体使用例可参考源文件里的战役文件  详情 回复 发表于 2024-8-25 15:33

星域军阀

mos管烫主控烫电感烫手

高级机师见习机师

 楼主| 发表于 2024-8-25 15:33:31 | 显示全部楼层

你可以把源文件当doc用,大部分复杂方法都包含注释,具体使用例可参考源文件里的战役文件

点评

哦好的,我还没看源文件,有注释就方便了,谢谢回复  详情 回复 发表于 2024-8-25 15:44

战列舰长

发表于 2024-8-25 15:44:35 | 显示全部楼层
ShioZakana 发表于 2024-8-25 15:33
你可以把源文件当doc用,大部分复杂方法都包含注释,具体使用例可参考源文件里的战役文件 ...

哦好的,我还没看源文件,有注释就方便了,谢谢回复

星域军阀

发表于 2024-9-6 11:09:43 | 显示全部楼层
这是给34寸超大屏4K土豪专用的前置吧,,

但是这么多功能居然只有2M,技术太牛啦

巡洋大副

发表于 2024-9-11 21:19:35 | 显示全部楼层
核显使用这个会增强性能吗 还是导致帧数更低?

点评

当前阶段是主要面向创作者进行Mod开发的,单纯安装该Mod除了提供抗锯齿功能外并没有多少游玩影响。 对于同一种特效例如大量粒子,开发者使用该Mod进行创建时,对比原版调用存在压倒性的性能提升。 对于任何显卡而言  详情 回复 发表于 2024-9-11 21:52

星域军阀

mos管烫主控烫电感烫手

高级机师见习机师

 楼主| 发表于 2024-9-11 21:52:47 | 显示全部楼层
喵喵锤大魔王 发表于 2024-9-11 21:19
核显使用这个会增强性能吗 还是导致帧数更低?

当前阶段是主要面向创作者进行Mod开发的,单纯安装该Mod除了提供抗锯齿功能外并没有多少游玩影响。
对于同一种特效例如大量粒子,开发者使用该Mod进行创建时,对比原版调用存在压倒性的性能提升。
对于任何显卡而言只要设备支持则相关功能可用,否则自动禁用,也并不影响游玩

点评

原来是这样  详情 回复 发表于 2024-10-4 04:03

驱逐技师

发表于 2024-9-12 10:42:08 | 显示全部楼层
555555555555

巡洋大副

发表于 2024-10-4 04:03:39 | 显示全部楼层
ShioZakana 发表于 2024-9-11 21:52
当前阶段是主要面向创作者进行Mod开发的,单纯安装该Mod除了提供抗锯齿功能外并没有多少游玩影响。
对于 ...

原来是这样

战列舰长

发表于 2024-10-31 18:39:28 | 显示全部楼层
大佬有替换原版渲染逻辑优化渲染的想法吗

点评

你有兴趣的话可以去做一下,我目前还不打算对原版渲染相关代码做替换或者主动去更改之类的,只是做一个类似“功能/渲染拓展”的这种mod;并且原版渲染那块写的实在是一言难尽,实体的各种渲染还东一块西一块,看的头  详情 回复 发表于 2024-10-31 20:46

战列舰长

发表于 2024-10-31 18:40:58 | 显示全部楼层
我有办法不改动文件,只变启动脚本替换掉原本的代码

星域军阀

mos管烫主控烫电感烫手

高级机师见习机师

 楼主| 发表于 2024-10-31 20:46:55 | 显示全部楼层
zender 发表于 2024-10-31 18:39
大佬有替换原版渲染逻辑优化渲染的想法吗

你有兴趣的话可以去做一下,我目前还不打算对原版渲染相关代码做替换或者主动去更改之类的,只是做一个类似“功能/渲染拓展”的这种mod;并且原版渲染那块写的实在是一言难尽,实体的各种渲染还东一块西一块,看的头疼,完全没什么去折腾的欲望

战列舰长

G.E.M.联合总督

发表于 2024-10-31 20:59:58 | 显示全部楼层
ShioZakana 发表于 2024-8-18 17:15
目前版本大概是 就算装了GraphicsLib,导致必须关闭游戏本身的抗锯齿时,也能通过该Mod的内置抗锯齿功能 ...

有这好事,我夸夸用

本版积分规则

Archiver|手机版|小黑屋|远行星号中文论坛

GMT+8, 2024-12-22 02:35

Powered by Discuz! X3.5

© 2001-2077 Tencent Cloud | Durian Software Studio

快速回复 返回顶部 返回列表