2009-08-01から1ヶ月間の記事一覧

Cocoaへ移植中

OpenGLを表示するWindowをひらくサンプルはすでに見付けてあったから、そこからC++で書いた描画コードを呼びだすようにすればOKなはず。 それ自体はそんなに面倒ではなくて、もうほとんどできた。しかしtextureを読みにいくコードがうまくファイルを開けない…

Cocoaアプリにしてみる

[Cocoa]Cocoaアプリにしてみる…つもりだったのだが、Objective-Cについてわからない事だらけで、調べているうちに時間がなくなってしまった。で、わかった事。 アップルの Objective-C コンパイラでは、C++ のコードと Objective-C のコードを同じソースファ…

ようやくちゃんと表示できた…

ちゃんとテクスチャーが出た。 拡大したところ。木目みたいのは脚の部分だったのか… うまく行っていなかった原因は、テクスチャのバイトオーダーが問題だった。こうなってたのを glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, t->xSize, t->ySize, 0, GL_BGRA_EX…

未完成だけど画面写真を貼ってみる

今日はあんまり作業しなかったのでほとんど進展がない。 何箇所かコードをいじってみて、テクスチャは一応貼れているという認識になった。ただし、テクスチャはこれなのに…表示はこれ 背もたれあたりの模様がなんとなくわかる。色がおかしいだけなのかイメー…

続き

まだおわらず。昨日クラッシュしていた原因は、OpenGLコンテキストが生成される前にtextureを作ろうとしていたせいだった。 texture cacheを初期化するコードをwindow生成後に実行するようにして無理矢理クラッシュはしないようにしてみた。しかしtextureが…

テクスチャがちょっとだけわかった…

作業内容 今日書いたコードはほとんどオリジナルのRenderer.cppからコピーしてD3DをOepnGLにおきかえただけ。 ピクセルフォーマットの対応とかを調べるのに時間がかかった。 これ書いたおかげでTextureの扱いがちょっとわかった。最初にRedbookを読んだとき…

終らず…

textureの部分を作ろうと思ったが、終らず。 rendererのtextureの扱い、OpenGLでの扱い、というのを調べている家に時間になってしまった。 途中までコードを書きかけたけど、正直まったくテストしてない状態でメソッドをずらずら並べるのは怖いな、という感…

ポリゴンが表示できるようになった

3D CG本のサンプルをOpenGLに移植する作業に戻りました。このデモ動いてもオブジェクトがぐるぐる回転するだけなので、それ自体はあんまり面白くなさそうだな。 という事で半ば興味を失いつつも、一応最後までやる事に。といっても今日は淡々とコードを書い…

ひさびさにライフハック本を読んだ(続き)

昨日のattention controlを今日もやってみた経過: わかった事 気になる事があってついついそっちに思考が逸れてしまう、という状況には効果がない そういう場合はもうその問題とがっつり向き合うしかないのかな。 あとBGMで切り替えるというのはなかなか難し…

ひさびさにライフハック本を読んだ

今日は移植作業しなかったので、趣向を変えて最近読んだ本について書いてみる。仕事をするのにオフィスは入らない http://www.amazon.co.jp/exec/obidos/ASIN/4334035159/mdmk-22/ref=nosimいわゆるライフハックの本で、無茶苦茶具体的な内容が書かれている…

クリップマトリックスについて復習した(2)

今日はちょっと趣向を変えて、昨日わからなかったクリップマトリックスのZの列がどうして決まるのかについて考える事にした。 あと、めずらしく考えた過程を詳細にメモする事に。はてなで数式を書く練習です。 この行列に [x, y, z, w] を書けた結果を [x', …

クリップマトリックスについて復習した

昨日謎だった「Z軸の符号を反転すると回転の方向が逆になる理由」はちょっと絵をかいてみたら理解できた。 簡単に言葉でメモっておくと、要は鏡に移った時計の回転が逆になった様に見えるのと同じ理由だ。 実際には回転が逆になっているというより、同じ回転…

今日の作業

Zを反転する行列を設定したらうまく描画できた。ただ、これをやったら角度の符号を反転させる処理も不要になってしまった。理由がいまいちのみこめていない。 そこを理解するのは宿題という事にして、とりあえずいくつかのメソッドを実装。 ライティングをON…

昨日の続き

サンプルで想定しているモデルとOpenGLでZ軸の向きが逆な件について。 これは、最初にModelViewを単位行列で初期化する代りに、Z方向にマイナス1倍するような行列で初期化すればOKではないだろうか。回転角が逆になっている件はあきらめて角度を解釈する度に…

座標系の違いでハマった…

3D Math Primerサンプル移植の続き。今日は以下を実装した。 init beginScene endScene setCamera ほとんど進んでないな。もっとサクサク進むつもりだったのに…ハマったのはsetCameraというカメラの向きを指定するメソッド。実装してみたものの、カメラがあ…

準備

3000行近くあるRenderer.cppを一気に移植して、それからテストってのはゾッとしない。小さなテストプログラムで動作を確認しながら進めていきたい。とりあえず、Renderer.cpp以外を全部コンパイルして一つの.aファイルに放り込んだ。その際に気付いた点をメ…

目標設定

アカウントとったままほったらかしてきたはてなダイアリーを、ついに活用する事にした私がきましたよ。最近Macを買って環境が一新したのを機に、前から興味のあった3D CGをやってみる事にしました。「勉強した事はblogに書くと良く身に付くYO」とどっかで読…