5
5

More than 5 years have passed since last update.

SceneKit日和(2)

Posted at

今回はSceneKitの2回目の記事として、10.9から新しく追加された、

「shaderModifiers」

というもので遊んでみましょう。
これはどういう機能かというと、
SceneKitの既定のシェーダーに、GLSLコードを挟み込んだり、上書きしてしまうものです。

数種類の定数によって、どのように書き換えを行うのか?を定義します。
今回はわかりやすく、WWDC2013で紹介されている、

SCNShaderModifierEntryPointGeometry

を試してみます。

これは頂点シェーダーを通過する際に、計算を挟み込むことができるものです。
使える変数としては、
ヘッダーファイルに以下のような記述がありました。

| struct SCNShaderGeometry {
| vec3 position;
| vec3 normal;
| vec4 tangent;
| vec2 texcoords[kSCNTexcoordCount];
| } _geometry;
|
| Access: ReadWrite
| Stages: Vertex shader only

今回は、これを使って、

「平面をねじる」

エフェクトにチャレンジします。

続きはこちらでどうぞ

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5