COM

なんとなく書き始めたもの。

現場で若いエンジニアと話してると、 その子が「文系出身」なエンジニアだったりして、 ゲームを作る現場で必要となる数学の基礎が全然できてなかったりして、 場合によっちゃ数学アレルギー的な反応を見せたりして、 そんな自分でもUnity様が救済してくださ…

購入書籍についてなんとなく。

久しぶりに書く記事は、お昼の帰りに購入した書籍とその感想です。 プログラミング言語C++ 第4版 プログラミング言語C++ 第4版作者: ビャーネ・ストラウストラップ,Bjarne Stroustrup,柴田望洋出版社/メーカー: SBクリエイティブ発売日: 2015/02/28メディア:…

Androidの扱いにくいポイント

これまでAndroidではNDK+GLES2を使ってC++でゲームを作るなどはやったことがあったが、たまたま仕事でJavaを用いて標準UIのAndroidアプリを書く機会に恵まれた。その時に引っかかったななめ上の仕様に関する恨みつらみを並べ立ててみる。 この統一感に欠け、…

リプレース作業: Roland UA-25 から Roland QUAD-CAPTURE UA-55

YosemiteでサポートされなくなったUA-25に代わり、QUAD-CAPTURE UA-55 へのリプレース作業を行ったわけなのだが、両者の入出力系統仕様の違いにより、リプレース時にオーディオI/F以外の部分にも変更が必要になる。単にプラグの仕様が変わるだけの場合から、…

Roland QUAD-CAPTURE UA-55

「主役メカ交代」というイベントはそれこそ俺が知る限りでも「ジャンボーグA」の時代からあるわけだ。それらはアニメや特撮の中だけの話ではない。使用している機材が置き換わるとき、あなたは主役メカ交代イベントの当事者となる。 そんなわけで、先日 MacO…

EDIROL UA-25, Yosemite でサポートされず。

さて、長らく Mountain Lion のまま運用してきたうちのMBPを、iOSの開発環境であるxcode6の都合でYosemiteにしてみたわけだが… これまでDTM機材および音声系統のコアとして用いてきた EDIROL UA-25*1 が動作しない。Roland のページを確認したところ… Roland…

Surface Pro 3 購入

昨日突如思い立って買ってきた。現在自宅で使用しているPCがいわゆるゲーミングノートなので気軽に持って出歩くには適さず、かといってタブレットでは足りない要件も多々あるため、携行可能なPCは一台必要と思われたため。そして、どうせその方向性で買うな…

ASUS MemoPad7 ME572C の GLES2 周り

そろそろNexus7(2012)でもないだろうし、Intel Atom(x86)使用機種のような非ARM機が出てきたので、新たなAndroid端末として ASUS MeMO Pad7 ME572C を買ってきた。 ASUS MeMO Pad 7 (ME572C) | タブレット | ASUS 日本 今後はMIPS命令セット採用CPUなども含…

ja.stackoverflow.com

日本語版の Stack Overflow があるというので登録してみたですよ。 まあ、今のところ質問も回答もパラパラとある感じだけど盛り上がると良いね。

それは所詮ただの道具

http://www.asahi.com/articles/ASGC95RP3GC9UCVL11G.html こういう「創作に際する思考の働きを一定以上自動化する」試みは範囲の大小問わず昔からあって、「人が創作をする際の考え方」をフレームワーク化することはもちろん可能であろうと考えている。 つ…

Android Studio 1.0

表題のAndroid Studio 1.0が正式リリースされた模様。 Google Developers Japan: Android Studio 1.0 をリリースしました 初期のAndroid開発環境が、EclipseとSDKを別途拾ってきて諸々設定して…と大変に煩雑だったことを思えば、これまで配布されてきたADTだ…

近況らしきもの

twitterを始めてから数年に渡りこちらはほぼ放置の状態で時々思い出したかのように何か書く程度だったが、最近は見ての通りプログラムネタを書くのに重宝している。さすがに140文字のtwitterではコードを例示して云々とか余程短いものでなければできんものな…

Google ANGLEの描画領域をC#のForm Application に埋め込む

開発中エンジンの描画に用いているのはOpenGL ES 2.0であり、これをWindows上で使うためにGoogle ANGLEというGLES2/3ライブラリを使っている。これは元々GoogleがWebブラウザChrome上で安定した品質のWebGL対応を行うにあたり、WindowsにおけるOpenGL実装の…

2D描画系(その3)

プライオリティ管理は、シンプルにOT(OrderingTable)でいくことにした。これは各プライオリティ値に属するオブジェクトのリストを持ち、各リストを順に処理していくという方式。プライオリティが設定された段階で、各オブジェクトはそのプライオリティのリス…

2D描画系(その4)

上記の実装で試してみたところ、PC上ではCPUの爆速に支えられて何の問題もなかったが、Android実機にもっていったところ結構重かった。描画時にマトリクスを「キューに詰める」という動作は一回につきfloat値x9個のメモリコピー動作であり、さすがにまずかっ…

2D描画系(その2)

ひとまず、もっとも需要の多い矩形スプライトの描画について考える。 以前の仕事では、もっと複雑なものも作ったことがあるが、描画に用いられるほとんどのものは矩形であるため、その描画効率を最大化するのは必須だ。この部分をおさえた上で、より複雑なも…

2D描画まわりの設計

初期のUnity3dを批判するようで恐縮だが2D描画はゲームエンジンに必須の機能である。*12Dのゲームを作る上で必要なのは自明だし、3Dのゲームでも各種ゲージやスコア表示、メニュー、タイトルロゴなどで2D表示は必要となる。 …まあ、"sumotori-dreams" のよう…

描画の効率化

モバイル環境に対応するのはもちろんだが、全般的にPCより非力な(と考えられる)モバイルデバイスのこと。計算量の大きな描画処理は可能な限り効率的であるに越したことはない。ここまでの作業は とりあえずタスクから操作できるScenegraphを用意して、 操作…

モバイルデバイス対応

現在作っているエンジンは、いくつかのテーマを見据えたうえで作っている。 C++が使える大抵のプラットフォームに乗せられること。ファイルシステムが無かったり、あっても低速なプラットフォームでも使えること。 ポーティングレイヤへの個別機能追加が容易…

上記の件解決。

先の項の問題解決。実に単純な話で、 glEnableVertexAttribArray(m_a_bone); を忘れてるだけだったというオチ。基本レンダリング部分を先に作って後からスキニングの機能を追加しはじめたので、boneの対応を始めるまでそもそも attribute として存在しておら…

転送されない attribute ?

過去20年に渡り、同僚が書いたエンジンコアを使ったり、Unityのような出来合いのエンジンを使ったり、時には自分でエンジンコアを書いたりしてゲームを作ってきたが、その辺りの知見を踏まえて自分が使うゲームエンジンを作ってみようと10月半ばぐらいからち…

メモリ管理物語〜GCはあなたを解放するか〜

COM

表題は領域の解放と苦役からの解放の双方にかけて、適当につけてみた。 昨今自分が関与しているお仕事が Unity3d を用いたものだったりするのだけども、現在この環境における第一言語はC#となっている。C#は元々 Microsoft から出て来た言語であるけども、聞…

素数の歩き方

連休の直前まで連休の存在を認識していない人間が計画的な連休を過ごせる筈もなく、部屋でアニメのBDを見たりギターを弾いたりプログラム的なネタで遊んだりして過ごしている。そんな暇つぶしの一環として記事でも書こうかと久々にblogを見てみたら、前回書…

Graffiti 再び。

COM

Graffitiというテキスト入力インタフェースをご存じだろうか? かつてPalm社によって開発されたPDA 用OS "PalmOS"で採用されていた、簡略化された一筆書きによってテキストを入力できるという手書き入力インタフェースである(細かい経緯の解説は省略)。約10…

そんなんどっちもいらんわな。

COM

http://showyou41.dyndns.org/blog/?p=311 個人的にはfizzbuzz解けないのにエンジニア名乗る人は一発ぶん殴れば終わりますが、人の話全然聞かない人は雇いたくないですね。。。 いやそんなん、どっちも雇いたくないけども。で、まあいつもどおりに正面から捻…

iPad破損と導入

2週間ほど前、使用していたiPad2を落としてしまい、前面パネルが大破するという事件があった。 このため2週間ばかりiPad無しの生活を送っていたのだが、そろそろ耐えられなくなったので、あのふざけた解像度を持つ現行製品を買ってしまったわけだが、良い感…

#プログラム大喜利 文字列をカエサル暗号化する関数またはプログラム

COM

Twitter. It's what's happening. Twitter. It's what's happening. 朝食を終えてから書いたので「朝飯前」とは言えないが、内容はそのレベル。 妙に真面目に書いてしまって、前提に無い条件にも対応はしている。 /* caesar.c */ #include <stdio.h> #include <stdlib.h> #inclu</stdlib.h></stdio.h>…

#プログラム大喜利 内容不定Job実行系(わざわざCで書いてみる編)

COM

Twitter. It's what's happening. 上の回答例で「実はCでも出来んことはない」と書いた以上Cでも書いてみる。 jobmgr.h #ifndef jobmgr_h #define jobmgr_h typedef struct JOBHDR { struct JOBHDR * prev; struct JOBHDR * next; struct JOBHDR * rmv_next;…

#プログラム大喜利 内容不定Job実行系

COM

Twitter. It's what's happening. 実はオブジェクト指向問題だったりする。 JavaやC++, Ruby などのオブジェクト指向言語であれば非常にすっきりと実装できたりする。実はCでもできん事は無いのだけれども、スコープをファイル単位で分けねばならなかったり…

#プログラム大喜利 出題その(5)

COM

Twitter. It's what's happening. 誤答のため削除。