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

中学生制作网站怎么做武汉网站排名推广

中学生制作网站怎么做,武汉网站排名推广,东坑网站仿做,苏州企业网站什么是MSL? MSL是Metal Shading Language 的简称,为了更好的在GPU执行程序,苹果公司定义了一套类C的语言(Metal Shading Language ),在GPU运行的程序都是用这个语言来编写的。 什么是MTLLibrary? .metal后缀的文件…

什么是MSL?

MSL是Metal Shading Language 的简称,为了更好的在GPU执行程序,苹果公司定义了一套类C++的语言(Metal Shading Language ),在GPU运行的程序都是用这个语言来编写的。

什么是MTLLibrary?

.metal后缀的文件编译后会生成metallib文件,MTLLibrary通过metallib文件来创建实例,提供了swift,oc调用metal文件中的函数能力,更多的可以看到做cpu与gpu通信的一个桥梁。

MTLLibrary加载的方式有哪些

MTLLibrary 加载的方式有很多种,这里给大家分享经常使用的两种方式

1,字符串方式加载

代码如下:

func createLibrary(_ device:MTLDevice) -> MTLLibrary?{let shader = """#include <metal_stdlib>using namespace metal;struct VertexIn {float4 position [[ attribute(0) ]];float4 color [[ attribute(1) ]];};struct VertexOut {float4 position [[position]];float4 color; // 确保输出与片段着色器的输入匹配};vertex VertexOut vertex_main(const VertexIn in [[stage_in]]) {VertexOut out;out.position = in.position;out.color = in.color; // 将颜色从输入复制到输出return out;}fragment float4 fragment_main([[stage_in]] VertexOut in) {// 直接使用顶点着色器传递过来的颜色值return in.color;}"""// metal使用shaderdo {let library = try device.makeLibrary(source: shader, options: nil)return library} catch let error {#if DEBUGfatalError()#endifreturn nil}}

特点:使用简单,无需额外创建metal文件,无需担心结构体,方法名重复,适合简单逻辑的处理,缺点是MSL语法错误没有高亮提示,不适合处理复杂逻辑,是运行时编译

2,metal文件方式加载

代码如下:


func createLibrary(_ device:MTLDevice) -> MTLLibrary?{//项目中已经有了metal文件了guard let libraryURL = Bundle.main.url(forResource: "default", withExtension: "metallib") else {return nil}let library = try! device.makeLibrary(URL: libraryURL)return library}

特点:适合复杂的业务场景,MSL能够高亮显示语法错误,每个业务模块都可以单独创建一个单独的metal文件,通过命令单独编译为独立的metallib文件,避免创建library对象时导入过多不需要的内容,编译好的metallib和在ipa包的目录下,每次创建library时不用再运行时编译了。

注意:默认情况下不论有多少个metal文件,打包时都会编译为默认的default.metallib文件,此时需要注意不同文件中结构体,函数名不要重复,如果通过命令行编译不同的metallib文件则不需要考虑这种问题,使用命令行编译metal文件参考这篇博客《使用 Metal 命令行来构建库》网址:https://blog.csdn.net/SkyNullCode/article/details/122190736

http://www.hengruixuexiao.com/news/10600.html

相关文章:

  • 梅州做网站wlwl宜昌网站seo收费
  • 品牌搭建网站 官网武汉网络推广广告公司
  • 大气手机网站模板百度笔记排名优化
  • 常州网站推广软件自学seo能找到工作吗
  • 做网站的人广州seo关键词优化外包
  • 网站二级目录 修改路径常州网站制作维护
  • 广州大型网站建设google翻译
  • wordpress站6个月300mb天天外链官网
  • 外贸网站优化免费渠道新闻头条最新消息10条
  • 怎么搭建免费网站北京seo
  • 广州网站建设(信科分公司)常州seo招聘
  • wordpress添加分类筛选手表东莞seo建站优化工具
  • 建站公司外包百度认证号码平台
  • 长沙网站推广优化搜狗引擎
  • 政府官网关键词seo是什么
  • 网站建设公司怎么样北京云无限优化
  • 专业做全景图的网站平台怎么买域名自己做网站
  • 阿里云网站建设——部署与发布百度客户端下载安装
  • 汽车用品网站规划app优化
  • 网站权重怎么做的网站竞价推广
  • 建立个人网站流程企业网站推广策划
  • 网页设计的元素seo页面优化公司
  • 深圳网站排名优化公司搜索app下载安装
  • 专业设计网站排名百度seo招聘
  • 无锡微信网站建设线上教育培训机构十大排名
  • 资源网站如何做百度旧版本下载
  • 个人网站做导购可以吗网络营销的未来6个发展趋势
  • 自己做短视频网站宁波seo排名优化价格
  • 虚拟商品自动发货网站搭建教程网站首页seo关键词布局
  • 福州网站开发系列谷歌推广效果怎么样