Swift の列挙型 (enum) では列挙子に Int などの Raw 値を設定してプログラムで使えるようになっています。 そんな Raw 値には独自のクラスも使用できます。
XCode7でSwiftでもOpenGLESが使えるようになったのでとりあえず四角形を描いてみます。 1.XCodeでiOS->Application->GameでSwiftとOpenGLESを選んでプロジェクトを作ります。 2.GameViewController.swiftに下のコードを上書きして実行してみます。 ソースの中身は http://enamelsystems.com/0017/ とかにObjective-Cの場合の解説があります。 import GLKit import OpenGLES let gVertices: [GLfloat] = [ -0.5, -0.5, 0.0, -0.5, 0.5, 0.0, 0.5, -0.5, 0.0, 0.5, 0.5, 0.0, ] let gIndices: [GLubyte] = [ 0,1,2,3 ] let gColors:
現在のプロジェクトでMetalに触れる必要があったのでざっくり調べてみました。 以下の記事を最初に読んでおくと色々と理解しやすくてオススメです。 Metalの「shared CPU/GPU memory buffer」について Metalのコードを読む前に知っておくと楽なこと Metalのスピードアップの要員のひとつはCPU/GPUのメモリ共有 上記の記事のざっくり概要だけを書くと、Metalのスピードアップの秘訣は、CPU/GPU間でのメモリ共有です。(それだけじゃないですが) そのため、OpenGLではいちいちデータのやりとりを小難しくセットアップする必要がありましたが、Metalではそれがありません。 しかしMetalはiOS端末の、さらに限られたチップが搭載された端末に限定している技術です。 (逆に言うと、だからこそ実現できている技術です) 細かい話をすると、本来GPUとCPUは物
IE6以下のブラウザでは上手く表示できない可能性があります また、IE6には多くのバグがあるためブラウザの変更を強く推奨します はい、水面第3弾! 今度はすごいぜ! 屈折をリアルに表現してるぜ! とにかく↓コイツを見やがれ え?カクカクして見づらい? 画像が小さいだって? まぁ実際動かした方がいいかもしんない ダウンロード(ソースコード,exe 186KB) え~、これまでのはこのプログラムのための布石です 今回の水面は波による影響はかなりごまかしだが 波の立っていない状態ではかなりリアルな屈折を表現しています 屈折率によってもちゃんと見え方が変わるし、見る角度によっても屈折具合が変わります! 水面に入っていく物体も中で自由に動き回ってもリアルに屈折します! しかも、オフスクリーンレンダリング1回と投影マッピングで表現できます(ドン!) ふぅ、落ち着こう と、ここまでいっておいてなんだけど
内容はGLKit ー ハローOpenGL 三角形を書いてみるにコメントを足しただけのものです。 基本的に以下のような流れになります。 頂点情報→頂点処理(バーテックス・シェーダ)→描画→面処理(フラグメント・シェーダ)→最終出力 今回は頂点処理も面処理も行っていません。 まず一画面アプリケーションを作成する。 ターゲットに OpenGLES.framework と GLKit.framework を追加する。 コードを以下のように編集してxibを排除する。 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen m
Objective-Cに替わる新しいプログラミング言語Swiftの登場 WWDC2014で発表された新しいプログラミング言語Swiftでできることを紹介したいと思います。 今までとこれから Swift使うとこんなにコードが短くなるぜという例です。 今まで これから 確かにスマートですね。 言語ガイドをダウンロード iBookでガイドを読めますのでダウンロードしてみましょう。 変数の宣言 varは変数、letは定数 var myVar = 42 myVar = 50 let myConst = 42 コントロール if,switch,for-in,for,while,do-while let individualScores = [76, 43, 103, 87, 12] var teamScore = 0 for score in individualScores { if score >
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く