当前位置: 首页 > news >正文

检视Rage的着色器

狂怒Rage 的GLSL着色器代码下载地址
(完了看情况上传,我个人现在觉得,研究不研究无所谓),
乃是Rage 代码的一部分代码,
但是也是可以看到Rage的一些设计原理。
着色器代码,集中表现了动画混合,虚拟纹理的加载,反馈,
对于理解Rage 的megatexture有着很好的帮助。
Rage是由id software软件,
由传奇程序员卡马克,
使用id tech5技术megatexture技术打造了 新一代的画面,
能够在 配置 超低 的 机器配置上,
运行非常好的画面。
地址原文 ​​​​​​​ http://renderingpipeline.com/2012/03/inspecting-the-shaders-of-rage/r

Rage,

游戏由ID软件开发,玩得很开心。

但是玩起来更有趣。

我已经提出了检查id Tech 5的虚拟纹理或MegaTextures的机制的方法,

因为它们也被称为。

但是,如果您真的很好奇这是如何工作的,

您想要阅读用于解决MegaTexture的着色器文件。

由于id Tech 5 (Rage的引擎)在OpenGL 3.2中实现,

着色器必须作为源代码上传到驱动程序,

所以必须有一种方式让你的手 ,(此处翻译可能有误……)

但是在你想到拦截 OpenGL调用之前,

担心来源可能会被模糊化让(此处翻译可能有误……)

我告诉你,

这更简单:Rage 有一个 命令行选项 来 转储 着色文件:

只需将+ set r_dumpGeneratedGLSL 1

添加到命令行,

并将文件转储到您的蒸汽 目录 Steam \ steamapps \ common \ rage \ base \ generated \ glsl 。

他们显然是从 内部格式 生成的,

可以同时为GLSL(PC),CG(PS3)和HLSL(XBOX360)写入着色器。

这解释了为什么在所有着色器文件中总是具有相同的功能,

这些功能可以封装纹理访问和一些基本的数学函数 ,

使用这些包装器可以轻松地将代码转换成多个着色器语言。

我不会在这里引用任何着色器,

因为它们是受版权保护的,

但是如果你拥有这个游戏的PC版本,

你可以转储自己的设置并看看。

不要害怕 848个文件,其中一半是CG,

每个顶点着色器只有一个片段着色器 - 不会混合着色器。

最终会有212个着色器程序,

其中有很多的冗余 ……,

如果你有两个稍微不同的材料,你将得到两个共享99 %代码的着色器程序。

(译者注:Rage 的着色器,代码文件非常的多,

分为fvertex和fargment两大部分,

代码真是复杂,

没有源代码,只有着色器代码,也只能猜透 一小部分而已,)

有趣的是,

大多数 户外环境 基本上只是 纹理查找

(在具有 颜色空间 转换的 虚拟纹理 和 可选的 雾) ,

所有照明都是 预烘焙 的!

即使是人的 动态照明 也是非常简单的,

让我想起了 Half-Life 2的简单光模型。

你可能还想看一下 顶点着色器中的动画:这是一个很好的阅读方式,

尽可能地挤压尽可能多的有效载荷变成很少的变量。

你想了解更多吗?好。获取glintercept 的副本,

并将提供的OPENGL32.DLL与配置文件一起 放在 您 的RAGE 文件夹 中

(请参阅提供的文档)。

因此,您可以 转储用于 渲染一帧的所有 OpenGL调用。

在早期的Rage版本中,

您还可以使用此工具在游戏过程中修改所有着色器,

看看会发生什么。

可悲的是,这破坏了最近的更新之一 ,

我指的 统一缓冲区,

因为这似乎只是使用UBO的着色器程序发生,

并且 glintercept 可能不会在重新链接着色器之前查询统一的缓冲区绑定点,

所以找不到他们缓冲区了

请注意,这只是一个猜测,我没有时间来验证和修复。

但是如果你做了 -,或者一段时间没有更新你的steam ,

你可以在 照明或虚拟纹理代码 等方面“打呵欠”。

例如,整个环境并不是法线!载具 和人有他们,

但在环境中它是混合的(外围没有任何):

没有法线的物体是白色的,

另一个在RGB中显示 世界空间法线。

请注意,游戏中的 人物 有非常详细的法定地图和管道。

其中一个垃圾邮件具有正常的地图,

下一个不是 , Console和PC端口上 必须使用 相同资产的微量 内存的标志......

有可能操纵个人效果,

您可以看到他们的视觉影响有多大,

例如 广告牌:

如果 我们 停用 它们(通过将 阿尔法 设置为0.0),

场景 看起来更加 “钝”,

更少的动画( 当 云 移动时,这更加 明显):

要看看这是多么 强调 ROP让 我们将 阿尔法设置为1.0,

并查看所有生成的片段:

或者将 颜色设置为很好的 红色,看看所有的小灌木丛:

它还需要像这样的操作来 显示这些简单 广告牌 的问题:

如果 四边形相交,则找不到正确的 绘制顺序:

http://www.jsqmd.com/news/1157658/

相关文章:

  • Neovim 0.12.4 官方版下载(夸克网盘,SHA256校验)
  • 雅典中国官方售后服务中心|地址与客服服务热线权威信息声明(2026年7月更新) - 亨得利官方服务中心
  • OpenHarmony ArkUI 页面 组件生命周期完整解析(API Version23+)
  • 告别“断腿”交易:2026二手电动车托运全流程拆解 - 快递物流资讯
  • AI 数据分析脚手架:一个 Prompt 模板管一类分析场景
  • 2026年当前知名的1-氯丙烷制造厂:宜兴市骋源高新材料有限公司深度解析 - 品牌鉴赏官2026
  • 宝鸡离婚财产分割谈不拢怎么办?2026年这5家律师推荐 - 本地品牌推荐
  • Kimi LeetCode 3530. 有向无环图中合法拓扑排序的最大利润 Java实现
  • MelonLoader:Unity游戏Mod加载器的终极解决方案
  • doom3脚本部分
  • 【安全与故障排查】07-混沌工程落地:用故障注入提升系统韧性
  • 2026年新消息:青岛执行异议律师咨询选择指南与专业推荐 - 品牌鉴赏官2026
  • 7550稳压芯片24V应用为什么要串电阻?一文讲透LDO散热原理
  • 远程部署工具ZEQP-PSDeploy
  • MAX77654与PIC18LF46K40的嵌入式电源管理方案
  • 网盘直链下载助手终极指南:免费获取九大网盘真实下载链接的完整方案
  • STM32F042K6与CMT-8540S-SMT蜂鸣器实现嵌入式音频反馈方案
  • Go 语言初始化 MySQL 数据库实战指南:从零到生产环境部署
  • 猫抓浏览器插件:三步快速掌握网页视频下载的完整方案
  • 如何5分钟配置大麦网自动化抢票脚本:告别黄牛票的终极指南
  • ChatGPT GPTs商店上线前必做的7项合规检查:GDPR/数据主权/模型版权三重红线预警
  • S16.2第一性原理做产品(2):从《从0到1》看AI创业——在“能做“通胀时代,找到你的秘密
  • AGW 跨模态行人重识别:SYSU-MM01 数据集 80 Epoch 训练,Rank-1 达 77.8% 复现指南
  • 2026年河北车用润滑油实力厂家盘点:康耐琪为何备受关注? - 品牌鉴赏官2026
  • 影刀RPA Kubernetes自动化:Pod管理与日志采集
  • 终极指南:Tabby终端分屏功能如何彻底改变你的多任务工作流
  • nvidia-smi 命令行实战:5个高级查询技巧实现GPU监控自动化
  • SpringBoot常见问题:多环境配置的最佳实践
  • 2026年7月9日——武汉卫生间漏水到楼下怎么办?不用砸砖的方法 - 捷修防水
  • 计算机毕业设计之基于ssm的养老服务系统