データ解析

MMD(PMD,VMD)をロードして描画してみた

ネット上の先人の情報からMMDのデータ(PMDとVMD)のデータをロードして、DirectX11を使って描画してみることに成功しました。 色々と厄介な点もありましたが、今のところなんとか動いているようです。 基本形状を出すまでは結構早くに実現できたのですが、モーションデータの再生にとても時間を食われました。 特に、足の部分のIK処理と表情についてのモーフィン...
サーバー構築

GitLab

GitLab 4.1が先日公開されました。この4.1がなかなか魅力的だったのでここで紹介したいと思います。 今までのGitLabは無料のGitHubで出来ない、プライベートなリポジトリを持つことを前提として、 公開リポジトリに関してはサポートしないという位置づけでした。 これが今回の4.1では、パブリックなリポジトリをGitLab上で管理できるように機能が拡...
データ解析

MMDのデータをロードする(メモ)

MMDのデータ(PMDとVMD)をロードするということをやっていて、 今現在苦労中です。ここまでくるにも色々と気をつけなくてはいけない点がありました。防備録というかメモというか記しておきたいと思います。すごく今更ですが・・・。 座標系 データは左手座標系で格納されている。 右手座標系で処理している場合には、Z値の反転とポリゴン面の表裏が反転するので その補正...
プログラミング

Catmull-Clarkのサブディビジョン

先日のmqoでの曲面のこともあり、DX11世代ではテセレーションによる曲面分割のこともありとで、ちょっとCatmull-Clarkのサブディビジョンを計算するようなコードを書いてみました。詳しい理論はさておき以下のように実装できました。 なめらかな曲面が出来てくるのでなかなか楽しいです。最初はテセレーションの部分ってほとんど興味が無かったのですが、今回のよう...
プログラミング

mqo形式の読み込みにチャレンジ

2013年、あけましておめでとうございます。 今年はDirectX11世代(OpenGL含む)の勉強をしておかないとな、と思っています。 そんな2013年1つめのネタとして、メタセコイアのモデル形式mqoを読み込んで描画してみるということをやってみました。 mqoはファイルフォーマットが公開されていますし、単に形状を出すならそんなに難しいことはないと思います...
未分類

QNAPのNASにSubversionを入れてみる

QNAP TS439にApacheとSubversionをインストールする sshでログインして、以下のコマンドを実行します # ipkg install apache # ipkg install svn apacheではなにやら問題があるようで、 「mod_ext_filter.so」が読み込めないと意味のエラーが出る。 そのためこのモジュールをロードし...
OpenGL

(OpenGLの)シェーダーバイナリ(GLSL Binary)

そういえばOpenGL 4.xでシェーダーのコンパイル結果をバイナリとして取得、ロードできる機能が追加されたのですが、当時ドライバがまだ対応していなくて見送っていました。ようやくこれについて調べてみることが出来たので、ここに書いておこうと思います。 まず、DirectXではシェーダーをコンパイルすると各ベンダで共通なシェーダーアセンブリ状態になります。このア...
OpenGL

DirectXとOpenGLのテクスチャ圧縮対応付け

最近のDirectXはDXT1,DXT3,DXT5 という言い方をしなくなりました。 これらはそれぞれBC1, BC2, BC3 と呼ぶようです。 そして、このBCのナンバリングは続いて BC7まであります。 このBC4からBC7までOpenGLではどのような拡張が対応付くのかを調べてみました。 BC4GL_EXT_texture_compression_l...
プログラミング

JavaScriptをC++からのスクリプトとして使う(クラス編)

C++で定義してあるクラスをJavaScript側で使いたいことがあります。今回はその説明をしてJavaScript編を終了にしたいと思います。 var hoge = new Point(1,2); hoge.x = 100; hoge.y = 250; var foo = new Point; foo = null; こんな感じのJavaScriptを実行...
プログラミング

JavaScriptをC++からのスクリプトとして使う

前回にV8エンジンのライブラリビルドまで終わっているとして、今回はそのライブラリを用いて自分のC++プログラムからJavaScriptを実行させている風にします。 VisualStudio 2010を開いて、コンソールアプリケーションを1つ準備します。 そして、V8エンジンをビルドしてある場所を設定しておきます。 追加のインクルードディレクトリ: testV...