強火で進め

このブログではプログラム関連の記事を中心に書いてます。

2008-01-01から1年間の記事一覧

(Mac・iPhone)プリミティブについて

今回はプリミティブについて解説です。OpenGLでプリミティブと言えば点やライン、三角形、四角形、多角形などのことを表します。OpenGLで使用できるプリミティブには以下のものがあります。 GL_POINTS GL_LINES GL_LINE_STRIP GL_LINE_LOOP GL_TRIANGLES GL_…

(Mac・iPhone)glArrayElement() と glDrawElements() について

glArrayElement() と glDrawElements() を使った描画方法について解説します(OpenGLは描画方法が多すぎだと思います。こんなにいるのかなぁ?(^_^;))今回のサンプルコードはこちらにMac版、iPhone版がありますのでダウンロードして下さい。ここでは以下の4つ…

テクスチャ圧縮(PVRTC)のクオリティを徹底比較してみた

Appleの人達が事あるごとにOpenGL ESの最適化にはテクスチャ圧縮使えとプッシュしてるのでいい加減、テクスチャ圧縮に手を付ける事にしました。iPhoneの開発環境にはテクスチャ圧縮作成(PVRTC圧縮)ツールが付属していて簡単に作ることができます。iPhone SDK…

はちゅねを複数出したときのFPS値をチェックした

こちらで紹介した様にはちゅねのiPhoneアプリに文字列を表示できるようになりました。 テクスチャ上にビットマップフォントを準備して文字列を描画 - 強火で進め http://d.hatena.ne.jp/nakamura001/20081228/1230474743 そこでさっそく以前、ベンチマーク代…

テクスチャ上にビットマップフォントを準備して文字列を描画

どうやらiPhoneのOpenGL ESでは文字列の描画処理用のコマンドが見当たらなかったので自前でテクスチャ上にビットマップフォントを準備し、文字列を描画することにしました。 フォント選定 フォントはフリーのものでもビットマップデータ化を禁止しているもの…

Boost本やBlender物理シミュレーション本などを買った

とりあえずサンプルコードも動いたのでガッツリBoostの勉強をしようかと以下の2冊を購入。Boost C++をチューンアップする最先端ライブラリ作者: ビョルン・カールソン,村上雅章出版社/メーカー: ピアソンエデュケーション発売日: 2008/10/07メディア: 単行本…

MacのXcodeでBoostを使う

MacにC++の高速ライブラリBoostをインストールした - 強火で進め http://d.hatena.ne.jp/nakamura001/20081225/1230195789 こちらでインストールの解説をしましたが実際に使うときも色々と設定を行わないと上手く行かないところがあったのでそちらについても…

MacにC++の高速ライブラリBoostをインストールした

C++の凄腕ハッカーたちが作り上げたBoostライブラリ、以前から名前だけは聞いたことがあったのですが最近、Boostに正規表現のライブラリが有ると聞いて俄然やる気がでてMacにインストールすることにしました。公式サイトはこちら Boost C++ Libraries http:/…

(Mac・iPhone)頂点配列を使った色付き三角形の描画

前回解説したこちらの「頂点配列を使った三角形の描画」では色が設定されていません(デフォルトの白のまま)でした。 (Mac・iPhone)頂点配列を使った三角形の描画 - 強火で進め http://d.hatena.ne.jp/nakamura001/20081221/1229857148 今回はこちらの三角形…

GoogleのC++スタイルガイドの翻訳登場

C++

Google C++ Style Guide http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml こちらのGoogleのC++スタイルガイドの翻訳された様なので早速見てみました。 ※翻訳された方には感謝、感謝です。 Google C++スタイルガイド 日本語訳 | textdrop ht…

テクスチャでアルファ(透過)を使用する

OpenGLのテクスチャでアルファ(透過)処理を行う方法を解説します。※ソースコードはこちらです。こちらを表示しながら読み進めて下さい。まず画像として奥に描画(背景)する為にこちらの画像back.png - 「背景用(アルファ無し)画像」 手前にアルファ付きで描画…

(Mac・iPhone)頂点配列を使った三角形の描画

OpenGLでは前回行った様な glBegin() 〜 glEnd() での描画方法の他に頂点配列を使った描画方法があります。なお、iPhone(OpenGL ES)では glBegin() 〜 glEnd() 形式の描画は対応していません、今回紹介する頂点配列で描画する必要が有ります。 Macで頂点配列…

アイコンのツヤ(テカリ)を付けないようにする

iPhoneアプリのアイコンのツヤ(テカリ)は自分で作成したアイコンに自動的に追加されます。自分でツヤの部分をデザインしたい場合などにはこの機能をOFFにすることが可能です。この方法自体は以前からドキュメントに記載があったのですが前やったときは上手く…

同一アプリが開いているウィンドウを順番に切り替えるショートカット

Mac

Xcodeなどで複数のウィンドウを開いているときの切り替えをマウスでやっていてかなり面倒だなぁと思っていたので「ショートカット無いかなぁ?」と思って調べてみたところ発見しました。 Command+F1 ※環境によっては Fn キーも同時押し。 で良いみたいです。…

Ctrl+スクロール以外の画面拡大方法

Mac

Macは「Ctrl+スクロール(トラックパッドに二本指を置いて上下)」すると画面を拡大したり、元に戻したりできます。今日、何気なくキー操作していたら以下のキーの組み合わせでも拡大可能で有る事を発見しました(ちなみに機種はMacBook Air、多分他のMacでも大…

(Mac)三角形の描画

MacでOpenGLを使って三角形の描画を行います。 最終的にレンダリングされる画像はこの様なものになります。 プロジェクトの作成 Xcodeのプロジェクトを作成します。ここではMacプログラムでよく使用される「Cocoa Application」テンプレートではなく「Standa…

法線、面の向きについて

3DCGをやったことが無い人には初めて聞く用語だと思いますが「法線」というものがあります。 こちらはこのような特徴を持っています。 面と垂直な線 面の向きを表す。法線の向きが面の表 主にライティングの計算時に利用される この白い線が法線です。もちろ…

石井 裕(いしい ひろし) - タンジブル・ビット

石井 裕さんっていう凄い日本人がMITで活躍してるみたいです。 コンピュータを直感的に使えるようにする研究されてるみたいですが一般の人が考えるユビキタスなどの一歩も二歩も先を行ってます。この動画一瞬、石井さんとは関係ないのかな?とも思いましたが…

NeHe ProductionsのOpenGLチュートリアルがiPhoneに移植されたみたいです

海外ではOpenGLのチュートリアルの定番サイトである。 NeHe Productions に掲載させているサンプルをiPhoneに移植した人が登場しました。 iPhone Development: OpenGL Postings http://iphonedevelopment.blogspot.com/2008/12/opengl-postings.html すばら…

座標系について

OpenGLでは主に3DCGでよく使われる 直交座標系(デカルト座標系) を使います。 直交座標系とは 3次元を表すX、Y、Zそれぞれの軸が互いに 90度で交わっている座標系です。直交座標系には以下の2つのものが有ります。 右手系 左手系 右手座標系 主にOpenGLで使…

はじめに

これからiPhone向けの3Dプログラミング講座を書いて行く予定です。 内容としては3DCG入門からiPhoneで「はちゅね」が表示できるまでを解説して行こうと思います。主な内容としては以下のものになります。 3D CGの基礎知識 Mac向けのOpenGLプログラミング iPh…

日本Androidの会の「コンテンツWG祭り!!!」の資料公開

先日あった日本Androidの会の「コンテンツWG祭り!!!」の資料が早速、アップされてました。サンプルもついてるみたいでなかなかよさげ。参考にさせてもらいます。 勉強会/2008年12月のイベント - 日本Androidの会(日本アンドロイドの会) http://www.andr…

iPhoneではちゅねを動かすサンプルコード公開

今回、iPhoneではちゅねを動かすプログラムを作ろうと色々とOpenGL ESの情報を調べたところとにかく情報が少ないなぁ。という印象がありました。少しでもOpenGL ESが盛り上がれば良いなと思い、ソースコードを公開することにしました。よろしければOpenGL ES…

日本Androidの会の「コンテンツWG祭り!!!」に行ってきた

こちらのAndroidのイベントに参加しました。報告ヨロとのリクエストがあったので内容報告。 勉強会/2008年12月のイベント - 日本Androidの会(日本アンドロイドの会) http://www.android-group.jp/index.php?%CA%D9%B6%AF%B2%F1%2F2008%C7%AF12%B7%EE%A4%CE…

GLUTの読み方

GLUTの読み方ですが今まで「グルト」と読んでました。今日、「グラット」だと教えて貰いました。とっさに言うときに「グルト」と言いそうで怖い。 GLUTとは - はてなキーワード http://d.hatena.ne.jp/keyword/GLUT

Macで「はちゅね」を動かしてみた

色々な環境で「はちゅね」を動かしていながら一番標準的なMacで動かすって事をしていないなぁ。と思い出し、iPhoneのプログラムをMacに移植という何か変なことしてみた。さすがOpenGL、ちょっと修正しただけで完成しました。初代Air使ってますが問題ない速度…

バージョンやOpenGL拡張を確認する

今更(NDAの関連で書いちゃまずいかなと思ったので自粛してました)ですがiPhoneのOpenGL ESのバージョンやOpenGL拡張の情報の取得方法について書いておきます。今回はOpenGL ESのプロジェクトを作成した後、ファイル EAGLView.m の - (BOOL)createFramebuffer…

iPhoneのOpenGL ESのテクスチャ読み込み処理を修正した

現在、iPhoneのOpenGL ESでテクスチャ使用時の読み込みの関数はAppleのサンプルを一部抜き出して使っています。元々はクラスになっていたものから一部のメソッドを抽出したものを使っているためイマイチ使い勝手が悪いので今回リニューアルを計画しました。B…

MacでCやC++のリファレンス(ヘルプ)がほしいとき

MacでちょっとCやC++の関数を調べたいな?ってときに意外なことにXcodeにはリファレンスが付いてなかったりするんですよね。まぁ、ターミナル上で man printf とか打てば出るにはでますが、 GUI派なんでターミナル立ち上げるのメンドクサイしw 英語だし って…

木下さんのiPhone本の予約が開始されたみたいです

Macプログラム入門としておすすめの良書「たのしいCocoaプログラミング」の筆者、HMDTの木下誠さんがついにiPhone本をリリースされるそうです。 December 2008 | HMDT Journal http://hmdt.jp/archives/2008_12.html#2008121001 自作アプリをApp Storeで世界…