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

GPUPPURの進捗

最近日記を全然更新してませんが、GPUPPURの開発が進んでないというわけではありません。ただ、面倒なので更新してないだけですorz とりあえず今までのところできたのは、 ・レイトレーシングするGPUPPURayとラスタライジングするGPUPPURasで(いくつか制約は…

GPUPPURの配布の仕方

多くのC++のライブラリは、ライブラリファイルをプログラムにリンクし、ライブラリ内の関数やクラスを使うソースコードではライブラリのヘッダファイルをインクルードするというふうになっています。GPUPPURでもお世話になっているBoost C++ libraryはインス…

stanford bunny

GPUPPURでstanford bunnyをレンダリングしたのでそのキャプチャ画像を未踏ユースのwikiの自己紹介のページに貼りました。 stanford bunnyは約70k個の三角形からなる図形です。今のGPUPPURのGPUPPURayでレイトレーシング法でstanford bunnyをレンダリングした…

テンプレートとvirtual

しばらく、忙しかったり疲れてたりして更新してませんでした。GPUPPURのほうは予定よりも遅れていますが大きな問題も特に無く開発が進んでいます。 GPUPPURのようにDirectXを使った実装とOpenGLを使った実装の両方を使いたい場合は、普通以下のように書くと…

浮動小数点型でビット演算

人間には波があり、調子のいい日、悪い日があると思いますが、どうやら今日は調子の悪い日のようでした。それでもGPUPPURを開発し続けなければならないので、できるだけ自分の好きなことをやることにしました。そこで最適化をやることにしました。もちろんタ…

他人の書いたコードの警告を出力しない

VisualC++2005を使っているとコンパイル時に標準ライブラリ、boost library, PhysXSDK等のヘッダファイルから大量の警告が発生します。少しでもバグを無くす為に常に警告レベルを最大にしてコンパイルするようにしているのですが、他人の書いた、あまり自分…

openglの仕様書

GPUPPURでOpenGLやDirect3Dのテクスチャを同じように扱えるようなクラスを作ろうと思いどのように設計するか迷ったので、OpenGLのSpecificationsを読んでいました。ちなみに仕様書では関数や定数名の頭にあるgl*やGL_*は省略されて書いてあります。ですので…

文字コード

やっとGPUPPURUTでの泥臭いところから少し3Dに近いGPUPPURayの実装をできるかと思ったら、現実はそうはいきませんでした。 DirectX関連のエラー処理をするマクロでエラーをファイルに書き出すようにしてたので、OpenGLのエラーもエラーログに書き出すことに…

未踏ユースのブースト会議行ってきました

少し遅れて午後からの参加でしたが、いろいろ面白いとか凄い話がいろいろ聴けました。 こんな凄い人々がこれだけ集まったのは生まれ初めて見ました。やはり自分の住んでいるところが田舎だなぁと思いました。 提案内容がよくわからなかったのを具体的に知る…

未踏ユースのブースト会議

明日・・・ではなく今日、未踏ユースのブースト会議があります。プレゼンとデモはちゃんとちゃんと用意したから、会場までDVDを壊さず持っていくことができれば大丈夫なはず。デモを凝ったものにしようかとか考えていたのですが結局時間があんまり無く、リフ…

ブースト会議のプレゼン

今日はブースト会議でのプレゼンを作ったりしてました。自己紹介とか今までのプロジェクトでの話しとかDemo上演とかあるのでGPUPPURを説明する時間は10分ぐらいになるでしょうか。あんまり時間がないので、3Dの基本的なところの説明を少し端折ってるので3Dの…

GPUPPURay開発

今日はGPUPPURayの開発をしたのですが、以前開発したOpenGL+PhysXの関数でレイトレーシングするプログラムをGPUPPURUTを使うように修正したところ、GPUPPURUTにあるいくつかのバグを発見し、修正しました。もしかするとGPUPPURUTにまだバグあるかも。もうす…

新PC

今日開発用の新しいPCが届きました。以前作成したGPUでレイトレーシングを行うプログラムは処理の大半がpixel shaderで行われるので、このプログラムで新PCのグラフィックスカードGeforce7600GTのベンチマークをしてみました。Geforce6600GTではが約32fpsだ…

GPUPPURUTファイなる?

もうそろそろGPUPPURUT開発が終わりそうとだいぶ前から言ってた気がするけど、後はstatic libraryを出力できるように設定とかすれば完了しそうです。なんかかなり長かったな。 そして新たなるAPI地獄への幕開けか?!

今日はちょっとだけ開発

今日は数時間しか開発してませんが、テストプログラムが上手くいったのであともう少しで終わりそうです。

今日はお休み

最近GPUPPURUTの開発ばかりやってたので、今日はプログラミングしないことにしました。 結局ゲームばかりして1日が過ぎていった・・・・

GPUPPURUT開発もうすぐ完了か?!

やる気があまりなく、だらだらとコーディングし、テストプログラムが一つ完成しました。一つのスレッドで、Direct3Dでteapotをレンダリングするウィンドウと、OpenGLでteapotをレンダリングするウィンドウを複数同時に表示できました。マウスでteapotを移動…

visual studio + viemu

今日、viemuのお試し版を下記サイトからダウンロードしてインストールして使ってみました。 http://www.viemu.com/お試し版は30日の期限付きなんですが、ライセンスを買えばずっと使えるようになります。 これでVisual Studioのエディタがviのようになり、快…

GPUPPURUT開発8

やはりGDXUTのフルスクリーン処理にまだバグがあるようです。一度フルスクリーン化した後にAlt+Tabを押した後、またフルスクリーンに戻ると、見た目はちゃんとフルスクリーンされているように見えます。ですがマウスポインタを画面の端へ持っていくとウィン…

GPUPPURUT開発7

Direct3Dでフルスクリーンの時、Alt+Tabを押すとDirect3DのDeviceがLost Device状態になります。Lost Deviceの時にWndProc関数内でIDirect3DDevice9->Reset()を呼び出すようにしたいとき、DefWindowProcを呼び出した後にReset()を呼ばないとちゃんとフルスク…

GPUPPURUT開発6

GPUPPURUTのDirect3Dで実装したほうのGDXUTでteapotを描画するテストプログラムを書いていたのですが、3つ目の窓を作ったときteapot描画でおかしくなるバグが発生しました。 この原因を探すのに数時間掛かってしまったのですが、結局teapotのメッシュを作成…

GPUPPURUT開発5

今日もGPUPPURUTの開発をしてたのですが、まだ終わりそうにありません。 win32api関連で複数ウィンドウを作るときのバグがまだ残ってます。 やはり後2,3日以上かかりそう。ブースト会議までにそこそこまともなデモを作ることができるだろうか。 一応デモにな…

GPUPPURUT開発4

土日はGPUPPUR開発はやらない予定だったのですが、予定が遅れているため少しGPUPPUURUTの開発をしました。 趣味のプログラミングと仕事のプログラミングで大きく違うことの一つは、仕事のプログラミングだと期限までにある程度完成させないといけないという…

GPUPPURUT開発3

今日もGPUPPURUTの開発を行っていました。 だるくてあまり進んでないですが、GDXUTとGGLUTを一つのVC++2005のプロジェクトにまとめまり、要らないコードやファイルを削除したりしました。 GPUPPURが将来日本人だけでなく、外国の人にも使ってもらうかもしれ…

GPUPPURUT開発2

GPUPPURUTにはDirect3D用のGDXUTとOpenGL用のGGLUTがあって、両者のインターフェースは同じものとなっています。(というかなる予定です) typdef GDXUT GUT;GUT ut;ut.initialize(500, 500, std::string("title")); //縦横が500x500のサイズでウィンドウのタ…

GPUPPURUT開発

Direct3DのDXUTとOpenGLのGLUTのような3D描画に必要だけど面倒なウィンドウ作成、破棄やイベント処理等をやってくれて、Direct3DとOpenGLの両方に対応していて、マルチウィンドウに対応していて、さらにDXUTやGLUTより機能が少ない(必要最低限なことしか実装…

また忘れてしまった

ついこの前に学校で作業したものをそのままにして家で作業の続きができないという痛い目に会ったのに、昨日も同じ事をしてしまいました。 そういうわけで、今度からソースコードをDVD-RWにでも焼いて持ち運ぶことにしようと思います。ソースコードのバックア…

ACとは

未踏ユース採択者のブログとかを読むとACの人やACらしい人がいるようです。 ACについては登さんのブログ http://d.hatena.ne.jp/softether/ に詳しく書いてあるのですが、簡単に言うとhackerみたいな者だと思います。自分はhackerに憧れているのでAC度試験と…

GPUでレイトレーシング

はてなだいやりーで日記を書くを選ぶと22日なのにデフォルトで21日と書かれるのと、夜遅くて注意力が落ちてるせいで、この日に書いた日記を22日の日記で間違えて上書きしてしまった。 バックアップとか、ブラウザのキャッシュとかは無いので、私の記憶が蘇り…

Cgが・・・

昨日、cgGLLoadProgram関数でエラーでて困ってたのですがfragment shaderのdo while文をとったプログラムだと動きました。Cg言語のバグかドライバのバグかは知りませんが、とりあえずこのバグを回避するためcgc.exeでコンパイルしたファイルを使ってみること…