macOS、iOS与Cocoa Framework
文章平均质量分 57
zenny_chen
GitHub: https://github.com/zenny-chen/
Gitee: https://gitee.com/zenny-chen/
【CPU Dasher X】https://itunes.apple.com/cn/app/cpu-dasherx/id1168527539?l=en&mt=8
《OpenCL异构并行》:https://item.jd.com/11818715.html
《C语言编程魔法书》:https://item.jd.com/12737899067.html
展开
-
macOS中如何使用OpenGL 3.2 Core Profile
从macOS Lion(10.7)开始,Apple支持了对OpenGL 3.2 Core Profile的支持。不过Core Profile与Compatible相比有比较大幅度的改变。从主机端的API到OpenGL接口,再到GLSL(OpenGL Shading Language),这些方面都有些变化。原创 2023-06-18 17:29:50 · 1772 阅读 · 0 评论 -
Quartz2D之Path使用初步
我们直接看以下代码原创 2023-05-10 18:27:36 · 657 阅读 · 0 评论 -
Quartz2D之渐变使用初步
上一篇我们谈到如何使用 Quartz2D 中的 Path 实现各种图形的绘制。本篇我们介绍 Quartz2D 提供的两种渐变填充方法。第一种是使用 Quartz 自带的 Gradient 填充方法;第二种是使用自定义的着色器。原创 2023-05-10 18:03:56 · 606 阅读 · 0 评论 -
Quartz2D之着色器使用初步
上一讲谈到了如何使用 CGGradient 来做线性渐变效果。那么本讲将介绍如何使用 CGShader 来做线性渐变效果。原创 2023-05-10 17:33:01 · 85 阅读 · 0 评论 -
CoreAnimation之制作阴影
我们可以利用 QuartzCore 中的 CoreAnimation 库来制作视图的阴影效果。原创 2023-05-10 17:27:41 · 934 阅读 · 0 评论 -
Core Animation+Quartz2D使用CALayer.mask来裁减图形
我们在做iOS应用时会有这么个需求:想对一个UIView视图做部分裁减,使得被裁减部分显示其子视图部分,即其底图。我们一般可以通过让美术人员做一个相同尺寸的图,将裁减部分做成透明即可。另一种可以通过程序来做。下面我将介绍如何通过Cocoa Framework中的QuartzCore Framework来实现这个效果。原创 2023-05-10 00:59:27 · 112 阅读 · 0 评论 -
macOS下使用OpenGL做离屏渲染
有时,我们想通过GPU做一些视频、图像处理,而处理的结果不需要显示在显示器上,而是直接交给主存,这时候我们可以通过OpenGL的离屏渲染(Offscreen Rendering)来实现。原创 2023-05-10 00:54:10 · 982 阅读 · 0 评论 -
macOS的CAOpenGLLayer中如何启用OpenGL3.2 core profile
在macOS的openGL编程中,我们有时为了想在自己的OpenGL图层上再加些自己的某些图层,必须得用 CAOpenGLLayer 而不是 NSOpenGLView,由于在 NSOpenGLView 上添加任何子视图都会变得无效。原创 2023-05-09 00:21:17 · 1934 阅读 · 0 评论 -
iOS如何将RGB565的原始图像数据转为UIImage对象
我们在做一些图像处理时,往往会涉及到RGB565这种图像数据格式。由于其每个像素仅占2个字节,对于不需要像素透明度的情况下使用RGB565既能基本能保证图像的色彩,又能降低图像数据尺寸,节省带宽。因此,RGB565将会是一种常用的比较经济的图像处理的格式。原创 2023-05-09 00:12:22 · 209 阅读 · 0 评论 -
Cocoa Framework中GB2312与UTF16编码之间的相互转换
上述代码片段中,dummyStr仅用于测试,这个对象最后结果为空。原创 2023-05-08 20:54:15 · 131 阅读 · 0 评论 -
OpenGL ES3使用MSAA(多重采样抗锯齿)的方法
昨晚花费了我2个多小时的时间终于把OpenGL ES3.0中的MSAA给搞定了。原创 2023-05-08 20:48:01 · 1616 阅读 · 0 评论 -
如何使用OpenGL来绘制一个圆角矩形
iOS系统的流行带来了一阵圆角矩形的热风。许多设计狮与产品汪都对圆角矩形比较感冒,那作为程序猿该如何应付呢?幸好,当前无论是iOS还是Android系统,系统框架库都带了一些API能让我们比较便利地实现圆角矩形的功能。这里,笔者将利用OpenGL更底层的图形API来实现“磨圆”一个矩形的四个角,使得我们对圆角矩形有一个更理性的认识。原创 2023-04-24 00:49:56 · 1670 阅读 · 0 评论 -
OpenGL与Metal API的Point Sprite
我们在实际用OpenGL等3D图形渲染API时点图元往往用得不多,而在粒子系统中可能也是用一个正方形来绘制一单个粒子。不过在当前大部分3D图形渲染API中都能支持用点图元来绘制一个具有纹理贴图的粒子原创 2023-04-24 00:39:15 · 885 阅读 · 0 评论 -
OpenCL与Metal API下如何合理地安排线程组大小
我们玩过OpenCL的朋友都知道,我们可以通过`clGetDeviceInfo`接口来查询当前计算设备的几乎所有属性,包括当前计算单元的个数、最大工作组大小、本地存储器大小等等。但这些属性值都是基于当前计算设备的最大可支持能力,而不是当前内核程序执行上下文。原创 2023-04-23 17:11:41 · 924 阅读 · 0 评论 -
Objective-C如何使自定义对象类作为NSDictionary的key
我们通常会通过Objective-C中Foundation库的NSDictionary与NSMutableDictionary来存放键值对。然而并不是所有Objective-C类都能作为NSDictionary的key来用的,这里将介绍如何将我们自己定义的Objective-C类可作为NSDictionary的键。原创 2016-09-11 22:22:51 · 4285 阅读 · 0 评论 -
macOS上如何通过iCloud Drive便利地同步文稿
在macOS、iOS上,使用iCloud能方便地同步各类文件。而在Mac上,我们通过iCloud Drive还能把iCloud当网盘使用。使用方法非常简单:原创 2016-09-27 13:42:09 · 10114 阅读 · 0 评论 -
Metal API随着iOS 10与macOS 10.12新引入的Tessellation特性
Tessellation——中文一般译作“细分曲面”,一般用于将由少量顶点构成的面生成细节度更高的面。这其中的原理是将一个三角形或四边形,由GPU根据我们编程的控制点生成规则,自动生成更多的顶点,然后将这些顶点根据一定规则生成更多的三角形。这么一来,我们可以在3D游戏中在远处的敌人使用低模也能做出精细度较高的模型出来了,而且也省顶点数据传输带宽。原创 2016-09-23 22:24:20 · 5681 阅读 · 2 评论