iOS UITableView の選択削除のときのアニメーション
長さ:0.3f
TimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]
長さ:0.3f
TimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]
Mac OS X のウィンドウィング(複数のウィンドウを重ねる技術)は Quartz Compositor というOSの一部分で行われています.Quartz Compositor はもともとグラフィックスハードウェアを直接叩いて描画をしていましたが,Mac OS X バージョン10.2以降では画面描画の最下位レイヤーとしてOpenGLを使います.つまり,どんなグラフィックスもOpenGLを使って画面に描かれます.特にウィンドウィングはOpenGLテクスチャを平面ポリゴンに貼りつけて実現していました.(この技術をアップル社は Quartz Extreme と呼んでいました.)
一方,アンチエイリアシングをサポートした高度な2Dグラフィックスは Core Graphics というAPIを使います.Core Graphics ライブラリはベクタ描画命令を受け取り,ビットマップイメージを作成し(Mac OS X 10.4 の隠し機能 Quartz 2D Extreme や 10.5 の QuartzGL はこの処理にGPUを使います),作成したビットマップイメージをOpenGLを使って画面描画をするわけです.Mac OS X のCocoaライブラリには Core Graphics のObjective-Cラッパがあり,アップル社はこれらを含めて Quartz 2D と呼んでいます.
このように Mac OS X ではビットマップイメージは最終的にOpenGLテクスチャとして処理されるのですが,ということはここでOpenGLのフラグメントシェーダーが使えそうです.実際,OpenGLフラグメントシェーダーを扱いやすくしたライブラリが Core Image で,Mac OS X 10.4 で導入されました.
Core Video はビデオシーケンスをOpenGLテクスチャとして流しこむためのライブラリです.OpenGLテクスチャですから当然フラグメントシェーダーが使えるため,Core Image による実時間画像フィルタリングが可能です.
フィルタされたテクスチャはその後座標変換を経てフレームバッファに送られます.座標変換は単なるウィンドウィングのための変換(つまり2D描画)の場合もありますし,OpenGL 3D を用いた3Dシーンにおけるポリゴンのテクスチャの場合もあります.
Posted 25th January by Ichiroh Kanaya
—

Core Video Mac OS X によるリアルタイム画像処理の解
Mac OS X のウィンドウィング(複数のウィンドウを重ねる技術)は Quartz Compositor というOSの一部分で行われています.Quartz Compositor はもともとグラフィックスハードウェアを直接叩いて描画をしていましたが,Mac OS X バージョン10.2以降では画面描画の最下位レイヤーとしてOpenGLを使います.つまり,どんなグラフィックスもOpenGLを使って画面に描かれます.特にウィンドウィングはOpenGLテクスチャを平面ポリゴンに貼りつけて実現していました.(この技術をアップル社は Quartz Extreme と呼んでいました.)
一方,アンチエイリアシングをサポートした高度な2Dグラフィックスは Core Graphics というAPIを使います.Core Graphics ライブラリはベクタ描画命令を受け取り,ビットマップイメージを作成し(Mac OS X 10.4 の隠し機能 Quartz 2D Extreme や 10.5 の QuartzGL はこの処理にGPUを使います),作成したビットマップイメージをOpenGLを使って画面描画をするわけです.Mac OS X のCocoaライブラリには Core Graphics のObjective-Cラッパがあり,アップル社はこれらを含めて Quartz 2D と呼んでいます.
このように Mac OS X ではビットマップイメージは最終的にOpenGLテクスチャとして処理されるのですが,ということはここでOpenGLのフラグメントシェーダーが使えそうです.実際,OpenGLフラグメントシェーダーを扱いやすくしたライブラリが Core Image で,Mac OS X 10.4 で導入されました.
Core Video はビデオシーケンスをOpenGLテクスチャとして流しこむためのライブラリです.OpenGLテクスチャですから当然フラグメントシェーダーが使えるため,Core Image による実時間画像フィルタリングが可能です.
フィルタされたテクスチャはその後座標変換を経てフレームバッファに送られます.座標変換は単なるウィンドウィングのための変換(つまり2D描画)の場合もありますし,OpenGL 3D を用いた3Dシーンにおけるポリゴンのテクスチャの場合もあります.
Posted 25th January by Ichiroh Kanaya
—

Core Video Mac OS X によるリアルタイム画像処理の解
UIScrollView.contentOffset のアニメーション速度を指定する方法:
[UIView animateWithDuration:2.0 animations:^{
scrollView.contentOffset = point;
}];
UIViewAnimation ブロックでも同様。
【GMGridView の例】
https://github.com/gmoledina/GMGridView
GMGridView は UIScrollView のサブクラスで、UITableView をマルチカラム化したような UI を提供してくれる。だがセルの幅を画面いっぱいにしてスクロールインジケータがセルと被るようにすると、画像のような現象が起こってしまう。

要は、使い回されたセルが新たに挿入されたときにそのセルが “スクロールインジケータの上” に行ってしまうのだ。これを回避する為には以下のような対策をとる。