凹みTips

C++、JavaScript、Unity、ガジェット等の Tips について雑多に書いています。

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

Oculus Rift が届いたので遊んでみた

VR

はじめに ついに Oculus Rift が届きました!(写真のヘッドホンは別) Oculus Rift とは Oculus VR 社によって開発された仮想現実を体験できるヘッドマウントディスプレイです。Nexus 7 相当の液晶(WXGA, 1280x800) に左右1枚ずつレンズを搭載するだけの…

QML で表示した WebView をシェーダでいじって遊んでみた

はじめに QML では ShaderEffect という要素を利用して、表示している要素をソースにシェーダでいじることが出来ます。 http://qt-project.org/doc/qt-5.0/qtquick/qml-qtquick2-shadereffect.html そこで WebView で表示した Web ページをソースに色々と遊…

Canvas を使ってみんなもお手軽に弾幕作ろうぜ!! - 其の伍 -

はじめに 1年間更新していなかったのですが、先日コメントを頂きまして再開しました。ゲーム用 JS ライブラリを使わずに弾幕シューティング作ってみる企画です。今回が最終回で、弾幕シューティングゲーム一番の醍醐味の弾幕を作ってみる回です。 第1回 〜 …

QML の WebView 内の JavaScript と外の JavaScript でやり取りをする

はじめに QML の WebView 内をゴニョゴニョしたいなと思って調べると、evaluateJavaScript すれば出来るよ!と書いてあったのですが、どうやら Qt Quick 2.0 の QtWebKit 3.0 からは API が変わったようです。 How to call JavaScript methods from HTML con…

Boost.勉強会 #11 東京 での質問への回答

はじめに Boost.勉強会 #11 東京での発表内容(Boost.勉強会 #11 東京で発表してきた - 凹みTips)で頂きましたご質問について、簡単にですが調査しましたのでまとめます。 質問の返答 Emscripten の行数が 12万行になった理由 結論としては「iostream の中…

Boost.勉強会 #11 東京で発表してきた

はじめに 本日、神保町の IIJ さんの本社で行われた Boost.勉強会 #11 東京にて「Hello, C++ + JavaScript World!」というタイトルで発表して来ました。 ちなみに Boost.勉強会ですが、本発表には Boost 成分は1ミリも含まれていないです。。 発表内容 当日…

QtQuick で簡単なファイルブラウザを作る

Qt

はじめに ファイルブラウザ欲しいな、と思ったところ FolderListModel という要素を見つけました。 QML FolderListModel Element これをリストビューで表示してちょっといじって移動できる簡単なファイルブラウザを作成したというお話です。 環境 Mac OS X Q…

Qt Quick での C++ × QML バインディングについてまとめてみた

はじめに QML で特定のフォルダ内に含まれる画像をスライドショーする処理を書いてみた - 凹みTips でもチラッと書きましたが、もう少し詳細に Qt Quick での C++ バインディングについて調べてみたのでまとめてみました。 Qt 始めたてなので幾つか間違い含…

QtQuick 2 でフルスクリーン表示 (Mac OS X)

はじめに Mac で QtQuick アプリを作成していたのですが、QtQuick 1 では QWidget::setFullScreen() を呼べば簡単にフルスクリーン化出来たのに対し、QtQuick 2 に切り替えて同じ事をしてもフルスクリーン化出来ず困りました。色々と試行錯誤して、一部駄目…

QML で特定のフォルダ内に含まれる画像をスライドショーする処理を書いてみた

はじめに QML は JavaScript ベースなので、ファイルを扱うことができません(XHR とかは出来ます)。なので、特定のディレクトリに含まれる画像をスライドショーしたいなぁ、と思っても、画像パスのリストを JS から取得することが出来ず、ファイル名を JS …

Vim からでも QML したい

はじめに 本記事は Vim Advent Calendar 2012 の 146 日目のエントリになります。 前回は、おしょーさん(id:osyo-manga)による Vim の map でコマンドを展開させた場合に任意の位置にカーソルを持ってくる - C++でゲームプログラミング でした。これはいい…

Hyperlapse で環状八号線を南下する動画を Google ストリートビューからつくってみた

はじめに Googleストリートビュー上を移動するムービーを制作してくれる「Hyperlapse」 - GIGAZINE Hyperlapse は Google ストリートビューから取得した画像を用いてタイムラプス動画を作ってくれます。コードは github に公開されており、覗いてみると分か…

Emscripten で C++ の Hello World を JavaScript に変換してみた

はじめに Emscripten は今流行りのコンパイラ基盤 LLVM を利用して C/C++ のコード(正確には LLVM-IR)を JavaScript に変換してくれるコンパイラです。フロントエンドである Clang を利用して C/C++ のコードを LLVM-IR という中間言語へ変換、Emscripten …

Blender で初めてのキャラクターモデリングに挑戦してみた

はじめに 今年の目標はゲーム制作なので、キャラクターや背景を作るのにモデリングできるようになりたいな、と思いまして、今回、プログラミングを放ったらかして2週間ほど使ってチャレンジしてみました。前回ドット絵でゲーム制作にチャレンジした際は時間…

Unity で GLSL によるカスタムシェーダを利用する方法

はじめに Unity ではビルトインシェーダの他に自分でカスタムシェーダを作成することができます。シェーダの言語は Cg / HLSL に加えて GLSL も使えるとのことです。 参考: Unity - Manual: GLSL Shader Programs しかしながら、テスト用かターゲットが Mac …

GLSL で光の点をぐるぐるアニメーションさせるやつ書いてみた

はじめに 最近 OpenGL ES 2.0 触っていてシェーダに興味を持ったのでやってみました。 参考 以下のサイトで勉強させて頂きました。 GLSLで簡単2Dエフェクト « demoscene.jp ここで紹介されている GLSL Sandbox で WebGL ベースでリアルタイムにシェーダの結…

Kinect Fusion で 3D 再構築を試してみた

はじめに 先日、Kinect Fusion が発表されましたね: Kinect for Windows SDK v1.7は大幅更新、3DスキャンのKinect Fusion や掴んでスクロールなど - Engadget Japanese 3D Surface Reconstruction - Microsoft Research Engadget の記事にもあるように、Kin…

Qt Creator の設定覚え書き

Qt

はじめに Qt に手を出して見ました。環境を整えてみましたので、そのメモ書きをしておきます。 環境 Mac OS X 10.8.2 Qt ダウンロード: Download Qt, the cross-platform application framework | Qt Project Vim の設定 Eclipse なら Vrapper、XCode なら …

blink(1) をユーザーのアイコンっぽい色で光らせる earthquake.gem plugin 書いた

はじめに USB ポートにつないで RGB 指定して光らせることの出来る LED ドングル blink(1) を3個買ったのですが、ifttt 連携してるだけではつまらないので色々いじってみてます。その一環として、ユーザーのアイコンに近い RGB で LED を光らせる earthquak…

Vim × Future Home Controller で家電を操作する unite source 作った

Vim

Vim Advent Calendar 96 日目の記事になります。 はじめに 先日、声で家電を操作できるガジェット Future Home Controller(FHC)を購入しました。 Future Home Controller フューチャーホームコントローラー 私も声で家電を操作したり室温からエアコン温度…

1文字足すだけで Twitter API 1.1 対応する

はじめに みなさん、API 1.1 対応していますか?私はまだです。 今回は、既存の node-twitter(jdub/node-twitter · GitHub)を使用している人向けに、1文字足すと API 1.1 対応できるよ!というモジュール、mtwitter を紹介したいと思います。 passcod/mtwi…

可変長引数テンプレートをタプルで受け取ってそれをまた展開する方法アレコレ

C++

はじめに v8 絡みのコードで可変長引数テンプレートを扱いたくて困ってつぶやいていたら、アキラさん(id:faith_and_brave)が教えてくれました: C++ で可変長引数テンプレートを tuple で受け取ってそれをまた展開するときに一番楽な方法ないかな2013-02-2…

Android NDK で OpenGL ES 2.0 x libpng でテクスチャを描画

はじめに 前回三角形を出したので次は画像を読み込んでテクスチャを描画します。 NDK で画像テクスチャを利用する方法は主に 2 通りが挙げられると思います。 Java 側の Bitmap クラスを利用する方法 C/C++ で画像読み込みライブラリ等を利用する方法 今回は…

NativeActivity から OpenGL ES 2.0 で三角形を描画する

はじめに NDK で NativeActivity から OpenGL ES 2.0 使って何かしようと思うと、EGL で初期化する処理を書いたりと、Java で GLSurfaceView 使うよりも手間がかかります。動作させるまで結構時間かかったのでまとめておきます。 三角形の描画 android-ndk/s…

SimSimi API x Web Speech API x OpenJTalk x mmd.gl.enchant.js でブラウザ上で音声対話できるヤツ作った

はじめに SimSimi とは巷で噂の凄いチャットロボットです。 参考: simsimiってアプリが凄すぎてワロタwwwwww : 無題のドキュメント 例 で、この SimSimi さんですが、API を公開しています。 SimSimi API 無料では使用制限があるようで 1ヶ月しか使え…

WeMo を操作する Node モジュールつくった

はじめに Belkin 社の WeMo を JS から操作するために、「遠隔コンセントタップ WeMo を SOAP で動かすハックやってみた - 凹みTips 」にて書いた内容をモジュール化しました。 インストール & ソースコード インストール $ npm install wemo ソースコード g…

Native Client の導入と Hello World までのまとめ

はじめに Welcome to Native Client - Native Client — Google Developers Google Native Client とは、ブラウザ上でネイティブコードを安全に実行するためのサンドボックス化技術です *1。開発者側から見れば、Chrome 上で高速に動くアプリケーションを既存…

Web Speech API で遊んでみた

はじめに “Web Speech API”をサポートした「Google Chrome 25」のベータ版が公開 - 窓の杜 2013/01/14 公開の Google Chrome v25.0.1364.29 beta-m から Web Speech API が実装されました。これで JavaScript から音声認識が出来ると言うわけで、ユーザビリ…

Google リーダーではてブのコメントを自動で見れるようにした

はじめに 皆さん、Google リーダーで日夜情報収集に励まれていると思います。その際に、はてブ数やコメントを表示してくれる素晴らしい greasemonkey のエクステンションがあることはご存知でしょうか? gr-puls-hatena - GoogleReaderにはてなブックマーク…

quickfix/errorformat 対応の C# 用 quickrun 設定

はじめに C# 始めようと思うので書いてみました。 環境 Mac OS X 設定 let g:quickrun_config['cs'] = { \ 'command' : 'mcs', \ 'exec' : ['%c %o %s:p > /dev/null', 'mono %s:p:r.exe', 'rm %s:p:r.exe'], \ 'cmdopt' : '-warn:4', \ 'quickfix/errorform…