JSX で WebGL

JSX

 とりあえず JSX なる言語が出来たということは、WebGL を書かねばならないということで。


 毎度おなじみマンデルブロ。終わり。JSX がウリにしている高速さとか、何も関係ねえ!全部 GPU の速さだよ! GPU IS POWERRRRRRRRRR!! 汚くてマジックいけど一応ソースコードは以下に。

WebGL

 とりあえず WebGL を触ってみたいのならこういうサイトがオススメかな。

 リアルタイム 3DCG のコードを初めて触る人にとってはちょっと敷居が高い気がするけど、解りやすい。

悪魔的 JavaScript その1

iOSSafari は○○

 日頃ウェブブラウジングを行なっていると、ブラウザが判別できずに文字化けを起こすサイトに出くわすことがある。最近のブラウザでは精度も向上し、遭遇することも稀になったが……
 しかし、iPhoneiPad のデフォルトブラウザであるところの Safari for iOS というのは困ったもので、例え文字化けを起こしていたとしても再エンコーディングのアクションが起こせない。そこで再エンコーディングを行うブックマークレットを書いてみた。あまりにも雑な内容なので、セキュアなサイトで使うと破綻してしまうかもしれない。

  なお、iOSSafari で問題を起こしているのは EUC-JP の自動判別らしい。また中身は単純なもので、XMLHttpRequest で当該ページをもう一度 GET して DOM 要素をすべて置き換えている。実に頭が悪い。

AtCoder Regular Contest #002 に参加してみた

http://arc002.contest.atcoder.jp/
面白かったです(小学生並みの感想)

 いわゆる競技プログラミングというやつですね。僕は Ruby で A, B, C の3問を解きました。Dを解くには明らかに時間が足りなかったです……

僕は上のようなコードになりましたが、
http://arc002.contest.atcoder.jp/submissions/all?task_screen_name=arc002_3&language_screen_name=ruby&status=AC
例えばこのように問題CをRubyで解いた人のコードを見ることができ非常に良いですね。

Bootcamp で起動している Windows7 のグラフィックドライバー更新

更新しようと思うに至った問題

 Bootcamp4.0 をインストールして導入される Radeon ドライバー ( Catalyst Control Center ) では、Windows7 の色の管理で指定したカラープロファイル ( .icc ) を適用しても効果を得られない。

環境

解決法

既存ドライバのアンインストール
  • Catalyst Control Center アンインストーラにおいてカスタムを選び、 Catalyst Control Center だけをアンインストールする。
  • その他の Radeon ドライバーをアンインストールする。
  • dllファイルやレジストリのゴミが残っているので、DriverSweeper をセーフモードで実行する。
    • 絶対に必要という訳ではない(未確認)が、ゴミが残るのは気持ち悪い。
    • セーフモードは起動時に F8 キーを押し続けていれば良い。
最新ドライバのインストール

結果

 見事 Windows7 の設定で指定したカラープロファイルが適用され、目に優しい表示の Windows にすることができた。

備考

 この原因は Bootcamp の最終更新が Lion リリース時であり、ドライバが古いからだと思われる。AMD のサイトに Bootcamp 用ドライバのページがあるという情報にたどり着くまで時間がかかったので、記事にしておくことにした。

MMD Shader for Unity

作りました

 僕が開発に携わっている 3DCGArts のオープンソースプロジェクトとして、リリースしました。以下の画像は僕がはるか昔に作ったMMD用モデルですが、ちゃんと描画されています。


Github のページ
GitHub - 3dcgarts/MMD-Shader-for-Unity

 ここに至るまでは、 Unity3D の遅延ライティングモデルを Unity 無料版で理解するという苦行がありましたがなんとか。Lat式ミクのような裏面ポリゴンを利用した特殊メッシュ、スフィアマップ等の描画もきちんとできます。PMD形式からのモデルコンバートは、 @GRGSIBERIA さんが中心になって製作されている "MMD for Unity" を利用してください。近いうちにこのシェーダもこちらに取り入れられると思います。

MMD for Unity
UnityでMMDを動かす会 (ミクミクダンスフォーユニティー) プロジェクト日本語トップページ - OSDN

GitHub.app を使おう

バージョン管理してますか?

 プログラムコードしかり、文章しかり、テキストファイルを編集することに携わる人ならファイルのバージョン管理は必須といえるでしょう。そのバージョン管理システムの一つに Git があります。この Git というものは大変素晴らしいものです。しかしその素晴らしさについての説明は他のページに投げます。ここでは、その Git を GUI インターフェースで使うことのできる Mac 向けのソフト、 "GitHub.app" というソフトの紹介を行います。

GitHub

 そもそも GitHub とは、Git で作られたリポジトリ*1をオンラインにホスティングするサービスです。最近のオープンソースプロジェクトはほとんど GitHub で公開されていることが多いと感じられます。また月額料金を払えば、GitHub 上に非公開のリポジトリを持つことができます。

GitHub.app

 通常、Git を使用するにはコマンドラインから "git" コマンドを叩かなくてはいけません。しかし僕は SVN や Git 等のバージョン管理、"tar" などの解凍圧縮操作はコマンドラインからは行いたくはありません。うっかりホームフォルダを tar で固めて削除してしまった人を僕は知っています(恐怖)そこで "GitHub.app" の出番です。

GitHub Desktop | Simple collaboration from your desktop
Announcing GitHub for Mac - The GitHub Blog

 このソフトは GitHub との連携のみならず、ローカルに置かれた Git リポジトリを管理することができます。例えば Xcode4 ではプロジェクトを作成したときに Git リポジトリを作成する機能が追加されました。このプロジェクトのフォルダを "GitHub.app" にドラック&ドロップすることで、Xcode4 のよく分からないウインドウを開くこと無くバージョン管理を行うことができます。また、とても重要なことですが外観は Cocoa フレームワークを利用した MacOS X らしいソフトウェアになっています。

 バージョン管理をしていないあなたもバージョン管理を始めて、「ア、なんかこのコード動かなくなっちゃった/(^o^)\」「1週間前のコードに戻したい……」「どこ変更したのか分からない」などの残念さから脱却してみましょう!

*1:バージョン管理対象のフォルダの過去ファイル・差分・ログ等を貯めておくものですね。そのフォルダにおけるバージョン管理システムそのものとも言えます。