講演者募集 - 第08回 全日本学生ゲーム開発者連合(全ゲ連)交流会 - 全日本学生ゲーム開発者連合(全ゲ連) 公式サイト2月12日にやるそうで、僕は2回目の参加になりそうなのですが、高専カンファinサレジオ2と被ってやばいどうしようって感じです。 参加す…
ストリーミング再生でスレッドを回す必要があったりなど、まあスレッドを使わねばならない場合というのは比較的多いと思います。 僕はWinAPIなどの面倒なスレッドライブラリを使う気力がまったく持って起きませんのでboost.Threadを使うわけですが、Mutexを…
最近は早く寝て早く起きる(大体朝4時ぐらいに起きる)のが良い感じです。 睡眠時間も多いし、健康的です。後はランニングとか運動しましょうね。 多宗教だけどゲッタをconstメソッドにするぐらいは守ってほしい この間多宗教だからうんぬんかんぬん言ってた…
前回の記事内積と外積だって一応operatorで計算したいですよ - krustf の雑記がアレな反響を頂いたような気がしますが、私は別に面白がってやってるだけなので自己責任で使ってくださいね? グラムシュミットの直交化法をC++で書いてみた。 今日講義を受けて…
と思ってみると既に ベクトルの内積と外積 - 名古屋313の日記 にあるのですが。 operator*だけでやってるとどっちだかぱっと見て分かりづらいという話で。 今回は内積と外積だけに絞ってみると、外積はoperator*で良いです。内積をoperator,でできるよう…
一応、大学のサークルでゲーム作ってる身なので最初っから拝見させていただきました。 アメリカの平均的なゲームプレイ者(購入者だっけ?)が40歳程度には驚きました。見ている途中にもつぶやきましたが、日本じゃ多分20歳ぐらいだと思ってます(調べてない…
C++ Advent Calender 2010に参加して19日目に僕でその日ってクリスマスと気付いて嬉しいような悲しいような。兎にも角にも現在5日目ですが、みんなネタが濃すぎて場違いな気がしてきて非常に危機感を感じておりますどうも。 『今のうちに書けるなら書いとこ…
ここ最近大学サークル内でのゲーム開発企画でなぜかプログラム班長に選ばれてしまい、プログラマ向け仕様書やら最低限のコーディング規約やらその他プログラマの為の環境整備やらで忙殺されてます。おかげでNornを書く時間がなくて大変な目に…orz 一番困るの…
Luabindは使っていたんですが、「やっぱりビルドしなきゃダメだろ」と思いやってみることに。今回の話はWindows上で、D:\Systemの中にLuaとかLuabindとかBoostが入っていることにしてます。 今回はDLL版のライブラリはビルドしません(別にいらないと思った)…
各々のVoiceは何ができるのか、みたいなのはわかりますが、全般的にどういった機能があるのか。 というのを最近真面目に調べたのでメモ的な気分を含ませて書きます。そういえば、 krustf:うわー書いてあった。 - 「XAudio2 グラフ内のオーディオ データは、…
というのも、XAPOの処理は基本的なものであればXAPO::Processをオーバーライドしてちょっとした操作をするだけだからです。 それ以外のメソッドはCXAPOBaseなどが用意する基本的な処理だけで十分事足ります。 // ゲイン値を半分にするだけ class gain_cut : …
現在XAPO APIの実装をしてます。 実装自体は比較的楽で、各メソッドの説明の通りの動作をするだけで良かった。 後はパラメータをスレッドセーフにするための処理をどう記述するとかもあるんですが、それよりも重大な事が。私が音響処理にそこまで精通してな…
ついでに書きます。スレッドを何とか使わない方向でストリーミング再生をしたい。 これはIXAudio2VoiceCallback::OnBufferStart/Endを用いるのが楽かも知れません。IXAudio2VoiceCallback::OnBufferStart IXAudio2VoiceCallback::OnBufferEnd2つのメソッドの…
ストリーミング再生となるとサブスレッドを用意する必要があります。ただ、_beginthreadexだとか、_beginthreadだとか、BeginThreadだとか面倒です。もっと手軽にかけないの?ということで今回はboost.threadを使いましょう。boost.threadで関数オブジェクト…
WAVEファイルの解析にMMIO使ってましたけど、あれに依存するのもなんだか嫌になってきたので手動でガリガリ解析することにしました。昔は面倒だったんですが、今見ると全然普通でしたね。wav ファイルフォーマットWAVEFORMATEXの全データをfmtチャンクから取…
25日の記事のコメントで default_delete の特殊化で解決する方法を教えていただきました。ありがとうございます。個人的メモとして今の所知ってる unique_ptr のデリータ指定方法を纏めておきます。 1.関数オブジェクトを渡す一番メジャーな方法。関数オブ…
「人生は勉強である」に似たような何かを感じますが、それは置いといて。 作ってたライブラリを利用者に障って欲しくないものを名前空間を2重にして隠しました。krustf::detail::*の中に。 これで分かってる人ぐらいしか使わないでしょう。多分。 フェードの…
前回の記事のクラスのお陰で製作中のライブラリの問題を半分ぐらい駆逐できました。という訳でいい加減にサウンドライブラリの作成を始めてます。std::unique_ptrのお陰で相当楽できてますが、デリータを指定すると変数型が以上に長い。ボイス用のやつを用意…
先日書いた記事 - Singletonクラスのアクセスを簡単にマルチスレッド対応させたい - krustf の雑記 で書きましたけど、最終的に今書いてるライブラリに追加したものです。 MSVC10, boost1.44.0で動作確認しました。 #include <utility> #include <boost/thread/mutex.hpp> // マルチスレッド /</boost/thread/mutex.hpp></utility>…
Singletonクラスを作るたびにそのクラスのメンバ変数としてMutexとかを宣言したくないんです。冗長だし。Lock, UnLockの方法もきっと面倒なんですよね。アクセスするたびにロックを手動で書くような。そういったものを書かせないで、これまでみたいにget_ins…
と、僕なんかよりC++0xの規格に詳しい友人と話して思いました。ようは、 rvalue で const Hoge&& ってなんであるのよ。って話なのですが。const Hoge&& は const Hoge& に暗黙的に変換されるらしい(?)。N1377にも書いてあった気がする。恐らく、解釈的に…
恐らく、初心者向けを謳っているので小難しいものは隠したかったのかも知れないのですが。まるぺけつくろーどっとコムには「高速フォント描画」っていう記事があって、そいつはD3DXFontだと拡張性に乏しかったり、描画命令を送るたびにフォント作ってたりあ…
ムーブコンストラクタを何故かリムーブ*1といってしまうのが私です。それはともかく、unique_ptrでムーブコンストラクタが上手く働かないなんでとか言ってたら単純にムーブしたunique_ptrを持つオブジェクトもムーブしなきゃいけないからでした。 class hoge…
【MSVC】 C++0x Core Language Features In VC10: The Table - Visual C++ Team Blog - Site Home - MSDN Blogs【GCC】 C++0x/C++11 Support in GCC - GNU Project - Free Software Foundation (FSF)【各種C++の対応表】 C++0xCompilerSupport - Stdcxx Wiki
昨日の記事でboostを無事MSVC10で使えるようにしたのですが、どうもおかしい。shared-runtime版のライブラリを使った場合だったら問題ないのですが、static-runtime版ライブラリを使ってboost.threadを組み込んだときに変な事態になりました。boost.threadラ…
手動コンパイルが簡単にできたので面白かったのですが、やっぱり真面目にやらないといけないようでした。まずstatic runtimeでコード生成ができない。boost.threadを使って、コード生成をMTdにしてビルドしたその時言われたのが、 'libboost_thread-vc100-mt…
闇の軍団からツッコミはあったものの、あるものは使う理論でとりあえずstd::priority_queueで現在作成中の描画システムに描画キューを実装してみました。このキューに毎フレーム描画したいものを挿入して、描画時に取り出す感じですか。描画キューに登録され…
さっそく、本を借りてネットと共に駆使してLuaの勉強をしてみました。テーブル、ハッシュテーブル、メタテーブル、クラス(っぽい書き方?)の辺りは読んだだけで終わらせたのですが、とりあえずコマンドラインから貰った数値の階乗を表示するプログラムをfo…
試験期間とかありますが、いい加減にやろうかと昨日バイナリ版を落として始めました。Luaの変数型が要らない、データのラベルみたいな使い方はRubyと同じなので扱いやすかったです。関数も全く同じ形で使えるのは良かったです。 -- データ hoge = 100; -- 関…
忙しいとかいいわけですが、18日ぶりぐらいに書きました。今度ECN(正式名称:学生間コンテンツネットワーク)というNPO団体がある高校のパソコン部対象に開催するワークショップ、平たく言うなら勉強会、と私は解釈しているのですが、それの勉強会講師とし…