IT Managed Launcher (Enterprise Launcher) User Guide
Install and Configure Enterprise Launcher
Protocol Commands omniverse-launcher://
Omniverse Cache Overview, Workstation Cache and Entrprise Cache
Authenticate SSO w/o interactive logins
ACLs and Permissions Management
Deploy Nucleus on Amazon EC2 and AWS github sample
Deploy an Omniverse Virtual Workstation on AWS
Deploy Nucleus on Microsoft Azure
Configuring SSL/TLS with NGINX
Integrating with SSO, Azure AD SSO and Okta SSO
Building Full Fidelity Visualization for Warehouse Digital Twins
Deployments on AWS, Azure, Google Cloud and Remote Workstation
Carbonite Programming Guide and Carbonite SDK API
USD in Kit, omni.usd API and USD Python Snippets
Streaming Extensions and Streaming Client
F8 Profiler Window and Performance Tracing
Samples to Build Your Own Connector
Farm Queue and Farm Agent
On-Demand Video List on Youtube
How to develop your extension?
Understanding Simulation in Omniverse
vinjn.com - Democratizing Visual Computing
taptap / pkg-doctor 项目开源已经过去两周,在 github 上斩获 63 个点赞。
这两周,小张修复了微信群及公司内的用户反馈的三个 bug,本次发布的 1.1 版本 包含以下三个 fix:
有趣的是,这个工具在雪球上居然也引起了讨论。
pkg-doctor 是游戏相关工具开源的第一款,不和 TDS 绑定,也不要求注册 TapTap 账号。后续工具将更关注游戏性能的分析与优化。
不赚钱,交个朋友。
vinjn.com - Democratizing Visual Computing
本书终于和大家见面了。
小张依然会记得 10 多年前,作为图形学初学者在书店遇到《GPU 精粹》三部曲时的兴奋感。彼时固定管线还在向可编程管线转变,shader 是个新鲜概念,CUDA 更是尚未诞生。NVIDIA 深知新生事物在萌芽期需要额外呵护,因此召集行业精英撰写了这三本书,将业界最先进的技术和思想进行传播。文章质量之高,使得书名中的精粹一词当之无愧,其中部分文章到了今日依然有着参考意义。
后来有幸加入 NVIDIA 并工作了八年,见证了 RTX 这个疯狂的想法从萌芽、质疑到问世。全球各地工程师、研究员的智慧与协作使得 RTX ON 成为一种信仰。基于同样的逻辑,NVIDIA 也召集全球的大牛们撰写出了《光线追踪精粹》。
现在可能是开始学习光线追踪最好的时间点。经过 NVIDIA 两代显卡的普及,消费者开始接受并拥抱光追。桌面端的竞争对手们纷纷认可这个方向,甚至手机端也有厂商选择跟进。我在两年前决定翻译本书,也是希望能在合适的时间点对国内的图形行业做一些微小的贡献。
我在光线追踪领域涉猎广但是不深,有幸的是在本书的初稿阶段得到了众多网友的帮助。在此由衷地感谢参与翻译的伙伴们付出的劳动,在初稿之后我们又进行了多轮交叉审稿,最终才得以成稿。以下是本次参与翻译的小伙伴(按 github 账号首字母):AltmIce 张鹏飞、AmesingFlank 卢敦凡、Angiewei 魏安琪、bluesummer 王晓波、butterfly0923 张帅、ch3coohlink、chiantiYZY 颜卓仪、Cielrin、FaithZL 朱翎、FantasyVR 禹鹏、gigichq、haiyuem 麻海玥、jingjingshenye、lifangjie 李方杰、LIJIE 李杰、liyongnupt 李勇、Nicholas10128 金鑫、papalqi 黄琦、qingqhua 华清沁、RazorYhang 杨宇辰、renyuhuiharrison 任宇晖、rockyvon、skyfeiyun 董东、slongle 邓俊辰、tankijong 张天毅、tavechiang 蒋大为、vcl-pku 马雷、wubochang 吴博昌、XBOOS、YanFeiGao 刘龙腾、yuxing5555、zhan2586 张闻宇、zheng95z 曾峥、zzk224 钟凯。
要特别感谢 papalqi 黄琦在整个翻译前中后期的大力支持,他负责了与初稿译者们的沟通以及前中期进度的追踪。也要一并感谢 butterfly0923 张帅与 AltmIce 张鹏飞,他们带来了高质量的初稿并替我分担了后期繁重的审阅工作。此外要感谢本书编辑喻永光的支持和督(cui)促(gao),这是我俩的第二次合作,非常期待下一次。
感谢读者们的耐心等待。本书涵盖的内容之广,话题之深远远超过我立项时的估计,即便反复审稿也不免会有错误之处。也希望大家能多多谅解,遇到 bug 可以发我邮件 vinjn@qq.com。
最后要感谢妻子 M 和女儿 BLB 的支持,你们的微笑给了我深夜肝书的动力。
vinjn.com - Democratizing Visual Computing
在 NVIDIA 做性能分析的时候,接触的 PC 大作基本很多都是 10G 以上的,因此也从没有想过包体大小会是个重要的优化项目。来到心动网络后,与自研的项目进行过合作,也和 TapTap 上的独家游戏团队有过交流,这才意识到包体大小对于手游的重要性,总结下有两点:
在 10 多年的工作历程中小张遇到过各种难缠问题,每次小张都会将问题的解决过程拆成三步
对于优化手游包体的大小这个问题,最难的是第一步。你可能会问了,对于拥有源代码的自研项目,为什么收集数据会是个难点呢?这是因为心动是一家非主流的游戏公司,它拥有 TapTap 这个互联网平台。因此当我在帮助内部项目组,就在思考对外发布的可行性。一个工具,能够解决自身的痛点固然是好事,但是如果能帮助到 TapTap 上的游戏,甚至没有在 TapTap 上发布的游戏,那么这件事情的意义就会大更多。
在这个假设下,我开发的工具需要有无敌的适应性,只要有 apk 文件,不论是 Unity 还是 Unreal 游戏,不论是否有游戏的源代码都应该支持。
这个软件我取名为 pkg-doctor / 包体医生,对于游戏包体它就像个医生,望闻问切、抽血CT,一番操作后给出报告。
使用方法也非常简单粗暴
pkg-doctor.exe /path/to/game.apk
对于 Unity 项目,我使用 Perfare 的 Asset Studio 来解决收集资源文件名、尺寸、格式等数据的需求。以下是它的用户界面,能看到文件名、类型、尺寸、内容预览等信息,可以满足第一步的需求。
经过我修改后的 Asset Studio 有能力读取一个 Unity 游戏的 apk 文件,输出包含资产名称、类型、尺寸、预览等信息的 CSV 文件,供下一步使用。下图是由 Unity 官方范例产生的 CSV 文件:
Name,Container,Type,Dimension,Format,Size,FileName,Hash,OriginalFile
AreaTex,,Texture2D,160x560,RGB24,268948,,b86fcc9bb386113bd09eaf566973b0e0,globalgamemanagers.assets
Arial,,Font,,,286,,,Resources/default
box,,Texture2D,12x12,ARGB4444,400,,fad9a48b7bec21aaa79672dee0cbcaa9,Resources/default
brush_low,,Mesh,vtx:456 idx:1911 uv:912 n:1824,,4260,,e9d2f24e17bc510d2b627520ab149e5e,sharedassets0.assets
button,,Texture2D,12x12,ARGB4444,404,,9999ba253411b30f30f33fb360dab1e3,Resources/default
button active,,Texture2D,12x12,RGBA32,700,,69d58ba7c15aedb7bec58d84826293aa,Resources/default
button hover,,Texture2D,12x12,ARGB4444,408,,39a14ee6b2de862a7627e85f6436be22,Resources/default
button on,,Texture2D,12x12,ARGB4444,408,,d1cdbbe0c16aff9b693d261b66e1d630,Resources/default
button on hover,,Texture2D,12x12,ARGB4444,412,,fe15605fca2f0fd5d3f56ae013b031ec,Resources/default
Capsule,,Mesh,vtx:550 idx:2496 uv:1100 n:1650,,36196,,eb6e9adcd5af6b8c90bdced7c02055fa,Resources/default
Combined Mesh (root: scene) 2,,Mesh,vtx:30360 idx:85401 uv:60720 n:121440,,172972,Mesh/\Combined_Mesh__root__scene__2_802.obj,,level0
第二步和第三步都在 Python 端 进行,这两部分的改动频率较高,随着我经手的游戏变多,新的优化方向会浮出水面;来自开发者的反馈也令我改进数据的展示方式。
来看一款用来测试工具的项目,首先看下包体医生报告中的 包体概览
部分:
从这里能看到这款游戏的包体重头戏是 贴图 / Texture,而重中之重是未经压缩的图片;此外还有大量不可忽视的重复入包资产。
知道这些信息后,我们可以查看 重复入包 TOP 榜单
找到出问题的资产名称、浪费的包体尺寸、预览、prefab 名称等等。
然后是 未压缩贴图 TOP 榜
,也是体贴地给出了资产名称、浪费的包体尺寸、预览、prefab 名称等等。
对于这个测试项目,包体医生现有的功能便可以大幅地降低包体尺寸。
下一阶段优先级最高的任务是增加对 Unreal 项目的支持,而由于我将解决问题的过程分成了三步,第 2 步和第 3 步几乎是可以复用的。
希望这个工具(以后之后会开源的一系列工具)能够帮助广大的开发者更好地制作游戏,因此我也建了个微信群来进行客服工作,欢迎加入。
vinjn.com - Democratizing Visual Computing
大家好,失踪人口小张回归了,失踪的这段日子里发生了一些事(比如我离开了 NVIDIA),这些事回头再聊。今天,乘着赛博朋克2077的热点还在,小张想先聊聊实时光线追踪(下文省略为 RTX)里的一个知识点——BVH 盒子(为了减少术语的数量,以下简称为盒子)。RTX 的开发风格特别硬核,英文缩写不胜可数,繁文缛节苦不堪言。脱离代码在中文的语境里聊,更是容易引起场面尴尬,这次小张先拿游戏里的夜之城场景作为切入点试试手,如果没崩,日后接着聊 SBT、RTPSO 等更硬核的知识点。
有部分读者是被我的标题吸引进来的,不懂图形没关系。这篇文章足够接地气,看完后你可能会爱上图形渲染。我想通过这篇文章传达的信息其实已经在标题里都写好了,正文的内容都是为了提供论点来支撑标题里抛出的观点,下面的内容你们看完忘记也没事,记住这个标题,尤其是前五个字。
大力出奇迹
赛博朋克 2077 是将 RTX 技术推广得最成功的一款游戏,水面、玻璃、金属,这些老黄发布会上最爱的视觉元素和谐地充斥在 赛博朋克 2077 的场景,即位于美国西海岸的夜之城(Night City)中。RTX 打破了传统绘制方式的局限性,即
绘制场景中某一个物体时,无法获得周围其他物体的信息。
为了绕开这个限制,机智的图形程序员们曾发明各种奇技淫巧来增加真实感。比如水面、金属表面常见的反射效果,在 RTX 的 真反射 出现前,游戏中普遍用的是 假反射 。假反射 通常基于屏幕上出现的颜色来近似反射,对于屏幕外的颜色值无能为力。
作为对比,我们看下 真反射 ,屏幕中下方的小水坑中能观察到屏幕以外的颜色值。