unity图文镶嵌_WWDC Unity金属镶嵌演示

2023-11-23 10:50

本文主要是介绍unity图文镶嵌_WWDC Unity金属镶嵌演示,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

unity图文镶嵌

This year, in the “What’s New in Metal” session at WWDC, Apple showed our Unity demo of adaptive tessellation written using Metal. The demo shows a low polygon sphere being tessellated with many more triangles as we shift between materials using displacement mapping, providing beautiful detail of each material.

今年,在 WWDC的“金属新功能”会议上 ,Apple展示了我们使用Metal编写的Unity自适应镶嵌的演示。 该演示展示了一个低多边形球体,当我们使用位移贴图在材质之间进行切换时,其上镶嵌了更多三角形,从而为每种材质提供了精美的细节。

image00

For this proof of concept, we added Metal Tessellation support to Unity, along with Metal Compute and native Metal shading language support. We can’t wait to ship support for these in future versions of Unity.

为证明这一概念,我们向Unity添加了Metal Tessellation支持,以及Metal Compute和本机Metal阴影语言支持。 我们迫不及待要在将来的Unity版本中提供对这些功能的支持。

image02

Metal Tessellation allows Unity to enable pre-existing tessellation shaders for Metal, yet opens up new possibilities by decoupling the generation of tessellation factors from draw calls. You can either pre-generate them or write a custom compute shader to do it efficiently per draw or as a separate pass. Regardless of how you choose to generate tessellation factors, the rendering pipeline for each draw remains the same,with just a vertex and fragment shader, while accounting for newly generated patches emitted by the tessellator.

Metal Tessellation允许Unity为Metal启用预先存在的Tessellation着色器,但通过从绘制调用中分离出生成Teselsellation因子的方式,开辟了新的可能性。 您可以预先生成它们,也可以编写自定义计算着色器以在每次绘制或单独传递时高效地进行处理。 无论您选择如何生成镶嵌细分因子,每个绘图的渲染管线都将保持不变,仅具有顶点和片段着色器,同时考虑到细分生成器发出的新生成的面片。

For the demo, we wrote a custom per draw “patch kernel” in a native Metal compute shader to calculate a tessellation factor buffer. We then cycled through a bunch of material properties set up in the Unity editor and displaced the triangles emitted by the tessellator in the “post tessellation vertex shader” (also written as a native Metal shader in Unity). The fragment shader is the same physically based Unitystandard shader currently existing in Unity, but with more triangles it really brings out the details in the material.

对于该演示,我们在本机Metal计算着色器中编写了一个自定义的“绘制”“补丁内核”,以计算细分因子缓冲区。 然后,我们循环浏览在Unity编辑器中设置的一堆材质属性,并在“后曲面细分顶点着色器”(也称为Unity中的本机Metal着色器)中置换了由镶嵌器发射的三角形。 片段着色器与Unity中当前存在的基于物理的Unitystandard着色器相同,但是带有更多的三角形,它确实带出了材质中的细节。

image01

Tessellation can be used to implement level of detail, efficiently adapt between materials (as in our demo), or for various other effects – limited only by your imagination! While tessellation has been around for a while, we’re excited to see it come to iOS as it can help produce extremely detailed meshes without storing/streaming large meshes on disk.

镶嵌可用于实现细节级别,有效地适应各种材料(如我们的演示中所示)或其他各种效果-仅受您的想象力限制! 尽管镶嵌技术已经存在了一段时间,但我们很高兴看到它出现在iOS上,因为它可以帮助生成极其详细的网格,而无需在磁盘上存储/流式传输大型网格。

This is only one of the many features Apple announced for Metal. Some of the others such as Metal Resource Heaps and Memoryless Render Targets, offer potential for performance and memory usage improvements so we are also excited to see what we can do with them. Meanwhile, we look forward to seeing you use Metal Tessellation in your projects, and welcome your feedback!

这只是Apple为Metal宣布的众多功能之一。 其他一些资源(例如金属资源堆和无内存渲染目标)具有提高性能和内存使用率的潜力,因此我们也很高兴看到我们可以使用它们做什么。 同时,我们期待着您在项目中使用金属镶嵌,并欢迎您提供反馈!

翻译自: https://blogs.unity3d.com/2016/06/17/wwdc-unity-metal-tessellation-demo/

unity图文镶嵌

这篇关于unity图文镶嵌_WWDC Unity金属镶嵌演示的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/417415

相关文章

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

JavaScript Array.from及其相关用法详解(示例演示)

《JavaScriptArray.from及其相关用法详解(示例演示)》Array.from方法是ES6引入的一个静态方法,用于从类数组对象或可迭代对象创建一个新的数组实例,本文将详细介绍Array... 目录一、Array.from 方法概述1. 方法介绍2. 示例演示二、结合实际场景的使用1. 初始化二

IDEA接入Deepseek的图文教程

《IDEA接入Deepseek的图文教程》在本篇文章中,我们将详细介绍如何在JetBrainsIDEA中使用Continue插件接入DeepSeek,让你的AI编程助手更智能,提高开发效率,感兴趣的小... 目录一、前置准备二、安装 Continue 插件三、配置 Continue 连接 DeepSeek四

JAVA集成本地部署的DeepSeek的图文教程

《JAVA集成本地部署的DeepSeek的图文教程》本文主要介绍了JAVA集成本地部署的DeepSeek的图文教程,包含配置环境变量及下载DeepSeek-R1模型并启动,具有一定的参考价值,感兴趣的... 目录一、下载部署DeepSeek1.下载ollama2.下载DeepSeek-R1模型并启动 二、J

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

PLsql Oracle 下载安装图文过程详解

《PLsqlOracle下载安装图文过程详解》PL/SQLDeveloper是一款用于开发Oracle数据库的集成开发环境,可以通过官网下载安装配置,并通过配置tnsnames.ora文件及环境变... 目录一、PL/SQL Developer 简介二、PL/SQL Developer 安装及配置详解1.下

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2

vscode保存代码时自动eslint格式化图文教程

《vscode保存代码时自动eslint格式化图文教程》:本文主要介绍vscode保存代码时自动eslint格式化的相关资料,包括打开设置文件并复制特定内容,文中通过代码介绍的非常详细,需要的朋友... 目录1、点击设置2、选择远程--->点击右上角打开设置3、会弹出settings.json文件,将以下内

Window Server创建2台服务器的故障转移群集的图文教程

《WindowServer创建2台服务器的故障转移群集的图文教程》本文主要介绍了在WindowsServer系统上创建一个包含两台成员服务器的故障转移群集,文中通过图文示例介绍的非常详细,对大家的... 目录一、 准备条件二、在ServerB安装故障转移群集三、在ServerC安装故障转移群集,操作与Ser