- 博客(18)
- 资源 (6)
- 收藏
- 关注
翻译 Metal 着色语言编程指南 十四
隐式类型转换 (Implicit type conversions) Metal 着色语言支持标量间的类型转换, 这种转换是试图用把等价的值用一种新的数据类型来表示, 比如:int的5 被转换为float的时候为5.0. 矢量的类型转换更为严格, 矢量到另一种矢量或者标量的转换是非法的,会引起编译错误, 例子如下: int4 i;float4 f = i; // c
2016-04-28 16:43:03 549
翻译 Metal 着色语言编程指南 十三
紧致矢量类型 (Packed Vector Data Type) 如前文所述, 矢量类型是有其规范的对齐方式(基于性能优化的考量). 但是你也许会有需要你所定义的矢量是被紧密地包装着的, 比如, 你定义了一个顶点的数据类型, 其成员有坐标, 法线矢量, 正切矢量和矩阵坐标, 并且希望它们是被紧密地包在一起作为给Vertex 函数的输入参数. Metal 着色语言
2016-04-28 15:37:20 826
翻译 Metal 着色语言编程指南 十二
数组与结构(Array and Structs) Metal 着色语言支持数组和结构, 但是有如下限制: 纹理和采样器不能声明为数组. 纹理和采样器不能定义在结构中 Graphics 和 Kernel 函数的参数不能为size_t 或者 ptrdiff_t 类型, 也不能为包含了这两种类型的结构. 结构中的成员必须被声明为属于同样的地址空间.
2016-04-26 20:09:22 603
翻译 Metal 着色语言编程指南 十一
采样器(Samplers) Metal 着色语言中, 采样器类型决定了如何对纹理进行采样. Metal 框架允许你创建一个采样器对象, 并将其作为参数传递给graphics 或者 kernel 函数, 除了在Metal 框架中创建采样器对象, Metal 着色语言中也可以创建采样器对象. 但是在着色语言中创建的采样器对象, 只能设定部分的采样器状态: 寻址模式, 滤波模式, 归一化坐标和比较函数.
2016-04-24 09:45:27 1530
翻译 Metal 着色语言编程指南 十
纹理(Texture) 纹理数据类型是一个指向1, 2 或者3维纹理数据的句柄. 纹理数据则是一个纹理的某个等级(level)的mipmap的全部或者部分数据. enum class access { sample, read, write };texture1dtexture1d_arraytexture2dtexture2d_arraytexture3dtex
2016-04-23 10:45:30 1495
翻译 Metal 着色语言编程指南 九
缓存(Buffer)Metal 着色语言中的缓存(buffer)指的是指向内建类型或者用户自定义类型, 并且被定义在device 或者 constant 的地址空间。 (关于device, constant 可以参看 Address Space Qualifiers for Variables and Arguments for a full description of these
2016-04-20 20:52:47 632
翻译 Metal 着色语言编程指南 八
构造矩阵对象同矢量对象的构造相似, 矩阵对象也可以从标量或者矢量集合来构造, 当矩阵初始化时,其构造器参数决定了它是如何被创建的。 例如, 如果构造器参数仅仅是一个标量, 那么这个矩阵的对角线上的成员被初始化为这个标量,其他成员被初始化为0.0。 下面的这个调用float4x4(fval);构造的矩阵为:fval 0.0 0.0 0.00.0 fval
2016-04-18 22:01:56 771
翻译 Metal 着色语言编程指南 七
访问矩阵成员 floatnxm 和 halfnxm 矩阵可以被看成是类型为floatm和halfm的数组. 类似二维数组, 矩阵的成员可以用二维下标来寻址. 矩阵对象后面跟一个下标可以被看作是一个列矢量. 如同数组, 列矢量的计数也是从0开始, 矩阵对象的第二个下标就如同是对矢量对象进行寻址。 所以, 矩阵对象后面跟两个下标就表示了矩阵其中一个成员, 第一个下标是
2016-04-17 20:14:30 633 1
翻译 Metal 着色语言编程指南 六
下面所描述的对矢量成员的访问是非法的, 会引起编译错误: 访问越界的矢量成员, 一个二维矢量只能访问 .xy 或者 .rg 成员, 三维矢量只能访问 .xyz 或者 rgb 成员:float2 pos;pos.x = 1.0f; // is legal; so is ypos.z = 1.0f; // is illegal; so is w float3 pos;po
2016-04-17 13:16:12 517
翻译 Metal 着色语言编程指南 五
(.) 操作符访问矢量成员 Metal 也支持(.) 操作符来访问矢量成员, (.) 操作符后面跟随字符来表示坐标或者颜色: .xyzw 或者 .rgba。 示例代码如下int4 test = int4(0, 1, 2, 3);int a = test.x; // a = 0int b = test.y; // b = 1int c = test.z; //
2016-04-16 19:16:03 477
翻译 Metal 着色语言编程指南 四
矢量和矩阵类型Metal Shading 语言的矢量数学库提供了对矢量和矩阵类型表示和运算的支持。 矢量的命名规则如下所示:booln, charn, shortn, intn, uncharn, ushortn, uintnhalfn, floatn这里 n 可以是 2, 3, 4 的其中一个数字, 表示 2-, 3-, 4- 维矢量。 矩阵的命名规
2016-04-16 09:15:37 582
翻译 Metal 着色语言编程指南 三
Data Type 这一章将会详细讲述Metal Shading 语言的数据类型, 包括矢量和矩阵, 原子类型, 缓存(buffer), 纹理(texture), 采样器(Samplers), 数组 和用户定义结构, 另外, 类型对齐和转换也会被提到.
2016-04-14 21:29:20 699
翻译 Metal 着色语言编程指南 二
Metal and C++11 Metal Shading 语言是基于C++11的标准[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3690.pdf]设计的, 在这个基础之上 增加了一些扩展和限制. 这些具体可以参考详细的语法描述. 本文会简单介绍Metal对C++11所做的一些修改和限制.
2016-04-13 21:52:11 979
转载 OpenMedia: 下一代免费的视频编解码器
Open. Fast. Royalty-free.WE ARE INDUSTRY LEADING COMPANIES FOCUSED ON DEVELOPING NEXT-GENERATION MEDIA CODECS, FORMATS AND TECHNOLOGIES IN THE PUBLIC INTEREST.Launched in 2015, the Alliance fo
2016-04-13 19:53:16 1644
翻译 Metal 着色语言编程指南 一
Metal Shading Language Guide 这篇文章讲述了Metal 图形绘制和计算 Shading 编程语言. Metal shading 语言是基于C++的编程语言, 使用Metal Shading 语言的代码可以在GPU上进行图形绘制或者通用并行计算。 由于Metal Shading 语言跟C++的语法很相似, 所以C++程序员可以轻松上手, 而且根据Metal Sha
2016-04-12 22:09:08 2113
转载 Tensorflow 官方版教程中文版
2015年11月9日,Google发布人工智能系统TensorFlow并宣布开源,同日,极客学院组织在线TensorFlow中文文档翻译。一个月后,30章文档全部翻译校对完成,上线并提供电子书下载,该文档的上线为国内外使用中文学习TensorFlow的工程及研究人员提供了更快的访问速度和更好的阅读体验,助力中国AI技术与世界同步。在线阅读地址为:http://wiki.jikexueyuan.co
2016-04-04 11:54:42 744
转载 3d 绘制中的光照
In order to start constructing realistic scenes, we need a way to model how light interacts with surfaces. Fortunately, much of computer graphics concerns itself with figuring out clever ways to appro
2016-04-04 09:37:37 607
原创 MTLRenderPassDescriptor
在创建MTLRenderCommandEncoder对象的时候需要传入 MTLRenderPassDescriptor 作为参数, 那么MTLRenderPassDescritpor 是个什么东西, 应该如何设置其中的参数呢? 1. 创建 MTLRenderPassDescriptor+ (MTLRenderPassDescriptor *)renderPassDescr
2016-04-03 13:38:21 1817
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人