Skip to content

Category: tutorials

tutorials 0

VECTOR REJECTION DERIVATION

VECTOR REJECTION DERIVATION Written by JP.Lee心动的 Technical Art team leader. VECTOR REJECTION 制作 Vector Rejection 函数。 Shader forge 里有 Vector rejection 内置函数。 但是 Amplify shader editor 里没有,所以要用 Custom expression 制作 […]

tutorials 0

Create maxscript threads by separating them

Create maxscript threads by separating them Written by JP.Lee心动的 Technical Art team leader. Max脚本通常表现为单线程。 因此,如果您有大量计算,则必须等待一会儿才能运行。 或者,您不能同时激活多个功能。 如果您通过分离线程来工作,则可以解决上述情况。 线程分开意味着您可以单独使用CPU的内核。 这是通过利用Windows支持的DotNet功能来完成的。 仅仅因为您可以分离线程并不意味着您可以对所有代码进行多线程处理。 但是,任何影响Max的区域都可能由于线程摄入它而引起问题。 这是一个冲突。 例如,我在线程A中创建了一个盒子,但线程B删除了它,但是线程A再次找到了该盒子 可能会发生这种情况,如果可能,最好单独使用这些功能。 它应用于与Max一起使用的其他功能,或用于完全独立的功能,例如使用Max-script连接到网络。 Max-script typically behaves as a […]

tutorials 0

通过新的任天堂Switch模式了解CPU、GPU和温度状态

通过新的任天堂Switch模式确定CPU,GPU和温度状态 Writing by JP.Lee Nintendo Switch是任天堂开发的小型游戏机。 我认为,作为纯游戏用途的Nintendo Switch卖得好的原因是比智能手机小,易于操作,并且还支持Wi-Fi,因此可以多重博弈。 ​ 任天堂 Switch的配置和规格如下。 可以说,现有的iphone11顶级版本或者iPad Pro第三代的性能与任天堂Switch相似。 但是我个人认为,任天堂Switch具有专注于游戏性的内部设计结构,所以更优秀一点。 此外,安装在扩展坞的时候和手持式状态的优化系统也非常优秀。 ​ * CPU : NVIDIA TEGRA X1+ T210B01 * GPU : NVIDIA GM20B * RAM […]

tutorials 0

Disable to bUseUnityBuild even building to UE4 source-code.

BuildConfiguration Download bUseUnityBuildWhether to unify C++ code into larger files for faster compilation. bForceUnityBuildWhether to force C++ source files to be combined into larger files for faster compilation. bUseAdaptiveUnityBuildUse a heuristic to determine which files are currently being iterated on and exclude them from unity blobs, result in faster incremental compile times. The current implementation uses the read-only flag to […]

tutorials 0

BENT NORMAL?

유니티 HDRP 에서 제공하고 있는 BentNormal 을 이용한 Ambient Occlusion 처리와 Reflection Occlusion 부분을 Custom URP 로 이식 해 보는 과정이다. 프로젝트에 따라 HDRP 의 특정 함수부는 활용이 가능하다고 생각한다. 예로 들어서 HDRP 에서만 작동 되는 Spherical Reflection Probe 같은 것들이다.모바일 게임개발 프로젝트라고 해도 특정 조건과 상황에 따라 HDRP 의 기능을 이식해서 활용 할 수 있는 하드웨어 환경이 되었기 때문이데 […]

tutorials 0

在GPU避免分支的方法

在GPU避免分支的方法Unity TechnologiesOrigianl Authored by Brandon Fogerty(XR Graphics Engineer at Unity Technologies.) Additional Organized by JP.Lee(李正彪)leegoonz@163.com概要这边来稿文章中,希望了解如何编写GPU着色器友好型代码,以避免和分支相关的性能费用。“分支”有着什么意义?使用明确的 if / then随时都可以产生分支。编译器遇到条件会作出命令。GPU可去的地方有两处。因此需要决定要使用哪种代码路径。以下示例展示了在汇编GPU里面运行的示例。运算变量设置为幻数7,则添加该数字。否则的话要减掉。 为什么要避免分支?为了增加CPU使用率,大多数计算机都尝试在管线上执行尽可能多的任务。汇编指令按顺序执行,CPU会尝试在尽可能多的CPU内核上执行尽可能多的指令。举个简单的例子。想象一下,在Twilight Zone内,我们就是世界上最高效的程序员! 用两行代码写了电子游戏! CPU会尽可能在每一个CPU内核上各执行一个,共计两个光荣的指令。这是计算机能够更有效的运行代码。 但是在分支时,计算机可能会花时间准备未运行的代码结果。从结论上看处理器时间被浪费,影响了游戏或应用程序的应答能力。CPU 侧分枝误诊通常会导致周期遗漏超过40次。– Charles Sanglimsuwan (集成开发人员相关工程师)运气不错,最新的CPU处理器速度惊人,实际分支预测出色,因此分支错失几乎不会有问题。但是GPU仍然存在性能问题。 GPU尝试并行解决大量计算,因此大部分GPU不支持分支预测GPU为什么会发生性能问题?GPU为生成美丽的图像,喜欢并行进行很多工作!GPU为进行多种固有的结果计算,进行了精心设计,解决了通过单一滤镜(例如:着色器程序)实施的多种输入和相关的问题。这就是渲染经常使用GPU(Graphics processor units)的原因。通过几个Shader程序运行位置,法线,贴图坐标等具有不同属性的固有顶点,该Shader程序输出在画面上表现的大量固有像素颜色。举个例子,显示器是1080 […]