読者です 読者をやめる 読者になる 読者になる

C++ ときどき ごはん、わりとてぃーぶれいく☆

Wonder Rabbit Projectのなかのひとのブログ。主にC++。

UE4: ProceduralMeshComponent 入門

はてなブログよ、わたしは帰ってきた・w・ と、いうわけで早速本題に入りましょ。 UE-4.14 から導入された事になっている ProcedualMeshComponent ですが、いまひとつ公式ドキュメントでも最低限のエグザンプルとブループリントの情報しかまだ整理されてい…

ブログ移転のお知らせ

移転先 http://blog.WonderRabbitProject.net/

C++ tips: Boost で demangling

RTTIで型情報を対話的に可視化したいと思うと、C++ではデマングルしないと割と読めません。extern "C"しておくとか邪悪臭いですし。 ところがデマングリングは処理系依存に触れる事になるので、ユーザーコードで扱いたいものではありません。そこで処理系依…

Color programming tips with C++ samples: RGB24(16777216色)に対しHSL24は十分な分解能を持っているか?

今回は色の話。PCでは長らく16777216色を誇るRGB24がディスプレイはじめ色を取り扱う際の標準として利用されてきた。RGBなのかBGRなのかなどは今回の本題では無いのでスルーする。また、制限された環境におけるRGB16やRGB15であるとか65536色中同時256色であ…

GCC4.7.1: C++11 と OpenMP のちょっと惜しい関係

C++11から言語仕様のスレッディング周りが強化され、thread、atomic、mutexなどなど言語標準機能として扱える様になり、ちょっとやそっとやそれなりの用途でもintel TBBやBoost.Threadに頼らずにマルチスレッディングソフトウェアを開発し易くなりました。 …

openSUSE: eyefi-config 011.20120712 package released

Link to OBS https://build.opensuse.org/package/show?package=eyefi-config&project=home%3AUSAGI-WRP%3Abranches%3Ahome%3Ajnweiger なに? OBSにパッケージがあった eyefi-config が随分古かったのでbranchして現行最新版のgit-reposより 2012-07-12 版…

Qt5 / Qt Quick 2.0 第3回 続々・はじめたよ : Canvas

続々ですが今回はあっさりと終わっちゃいます。 教材 http://qt-project.org/videos/watch/whats-new-in-qtquick-2.0 32:15くらいから。 概要 Qt5/Qt Quick 2.0でHTML5のCanvasを使うらしい。HTML5のCanvasはもう今更だから解説はしないけど、必要ならこちら…

Qt5 / Qt Quick 2.0 第2回 続・はじめたよ : ShaderEffect

前回に続き、例の紹介ビデオを教材に、25分あたりからのシェーダーエフェクトをざっくり遊んでみる事にしましょう。今回は冗長な解説はせずに初出の事項についててきぱき解説するよ。 教材 http://qt-project.org/videos/watch/whats-new-in-qtquick-2.0 25…

このはてなブログのカスタムCSSについて

これもgithubに置いて管理する事にしました。 https://github.com/usagi/hatena-blog-css さほど頑張ってませんけど、とりあえず。

openSUSE-12.2 / Razor-qt : キーボードのリピート間隔などを簡単に設定する方法

状況 デスクトップ環境にKDE Plasmaを選択すればデフォルトでインストールされるKDEの設定パネルからキーボードレイアウトやリピート間隔を簡単に設定できる。 しかし、Razor-qtにはその様なコンフィグレーションツールが無い。 参考 Razor-qt@github https:…

Qt5 / Qt Quick 2.0 第1回 はじめたよ : ParticleSystem

Qtまじやばい・x・ と、言う訳で先ずは簡単な触りから、この素晴らしく魅力的な世界に入ってみたいと思います。先ずは少し古いですがQt Quick 2.0について、2011年のデモ映像の真似っ子をしてみる事に。 本項の前提知識等 適当なデータ記述言語に関する基礎…

Qt5 / Qt Quick 2.0 はじめるよ

Qtに何故もっと注目して使いこなせる様になって置かなかったかと悔やまれます。 昨年末にとあるでしのお手伝いにとQtをほんの少しですが私も勉強して、C++のライブラリーとしてのQtの様子はなんとなく掴めて居ましたが、それだけでは然程注目を継続したいと…

memo: openSUSE-12.2; systemctl start fam.service が failed するのを解決する

状況 設置仕立てのcourier-imap-sslにthunderbirdで繋いでみたら矢鱈ととんでも無い勢いで Jan 2 03:45:16 LH-SVR5 imapd-ssl: Error: Input/output error Jan 2 03:45:16 LH-SVR5 imapd-ssl: Check for proper operation and configuration Jan 2 03:45:16 …

memo: nginx-1.0.15 + passenger-3.0.12-2.1.2 / openSUSE-12.2

状況 openSUSE-12.2にnginx+passengerを仕込みたい。 準備 rubygem-passenger-nginx zypper se passenger ... など眺めつつ、 zypper if rubygem-passenger-nginx ... を見ると rubygem-passenger-nginx-3.0.12-2.1.2 がopenSUSE標準のリポジトリーにも用意…

memo: yast に firewall が無いと思ったら? openSUSE-12.2

状況 yast ... あれ、firewallの設定ない? 理由 zypper se firewall リポジトリのデータを読み込んでいます... インストール済みのパッケージを読み込んでいます... S | 名前 | 概要 | 種類 --+------------------------------------+---------------------…

memo: install ChiliProject 3.3 to openSUSE-12.2

ChiliProject公式の以下にopenSUSE-11.3へのインストールがまとめられているが、これはやらない。 https://www.chiliproject.org/projects/chiliproject/wiki/Installation_on_OpenSUSE_11_3 最新安定版をbundle使って入れましょう。以下の後半を参考に。 ht…

Qt Quick (QML) の小さなテンプレート

状況 QtCreatorでQt Quick Applicationをテンプレート(C++的な意味ではない)から作成すると、余計な飾り(QMLを扱う為にmainから1つわざわざユーザーコードの薄いラッパーをテンプレが生成して噛ませている)が付いてしまっていて、QMLアプリを試すには少々野…

Google Spreadsheet における indirect のTipsと concatenate の必要性

状況 Google Spreadsheet にて vlookup 等の引数に indirect を用いて別シートの範囲を参照させようとした。 しかし、 sheet1!A1 = "hoge" sheet1!B1 = "fuga" sheet1!C1 = vlookup( B1, indirect( A1 + "!A:B" ) ) こんな感じでは失敗する。 問題の指摘と解…

Qt / qmake / 簡単なリソースファイルの取り扱い方

先の記事のあーうーから、結局自前で簡単なスクリプトを qmake の .pro に書いてみる事にした。 状況 .cxxなどの通常のビルド対象の他に、 .qml とか .png とか .mp3 とかそういう外部リソースファイルがある場合に、 qmake が生成する Makefile でよしなにD…

Qt / qmake / DEPLOYMENTFOLDERS / qtcAddDeployment それは一体は何か?

まったく、下らない事に随分と時間を取られてしまった。1時間程だろうか(´・ω・`) 状況 Vim/zsh系でQtアプリを試していて、QMLを使ったアプリで遊ぼうとしていた。記述するコードは先ずは最小構成、 test.cxx test.qml test.pro テストソースを書いてこの場…

openSUSE-12.2 で .ymp をコンソールから登録する方法

CUIでも software.opensuse.org: Search などから目的のパッケージを探し openSUSE にリポジトリーを登録し yast または zypper したい場合のメモ。 1. .ymp を探す w3m "http://software.opensuse.org/search?q=darkhttpd" darkhttpdにはもちろん自分が探し…

Linuxの小技 sudo su -c command

/sbin のコマンドなんかは sudo で権限だけ昇格してもパスの都合使えない事もある。そんな時は、 sudo su -c command とすると sudo の認証管理で su -c command が実行され、 su はログイン時に /etc/profile を処理するので通常管理者権限のパスも処理され…

C++ vs. C ; R5G6B5 color pixel transform battle

C++ Advent Calendar 2012 - 22 のC++とCのベンチマークについて気になったので少々書く事に。 the topic based from ソフトウエア研究会in秋葉原 - PukiWiki 分り易くて面白い記事なのですが、特にC++とCを比較するベンチマーク部分が少々気に掛かりました…

SUSE Studio とな?

なにやら楽しいおもちゃを知った・w・ Welcome – SUSE Studio どうやら openSUSE 系のマシンイメージをあれこれとカスタマイズして作成できちゃう優れものっぽい!unboundが…とか一部パッケージについて綺麗に対応しきれない点はあれど、面白いかな。…いや…

openSUSE Build Service に darkhttpd パッケージを作ってみた

openSUSEでのパッケージの探し方も心得られてきた。 software.opensuse.org: Search 基本的には↑で探す。そしてどうやら↑はarchlinuxで言うところのAUR、Ubuntuで言うところのPPAとかそんな雰囲気が漂っている。恐らく必要なら私もパッケージをメンテナンス…

gistで「そうだ、Fedora17KDEを入れよう・x・ 」を公開

gistに、 ある日のうさぎせんせいのFedoraメモ。もしかしたらこそこそ更新するかも。 はじめてのFedoraでC++環境を整えて素敵な開発ライフを楽しもうかな、そんな事をなぜかふわりと思っているとあるIT系女子へのヒント。 と言った具合の文書を公開しました…

Boost.MultiArray メモ

std::valarrayだと基本的には1次元のデータ構造に対してスライスを考えて多次元要素集合としてアクセスする事になる。Boost.MultiArrayなら基本的には多次元のデータ構造に対して必要ならば1次元のRAWなデータ構造も用いる事ができる。多くの場合は後者の方…

openSUSE-12.2 + Packman

openSUSEを入れた後、ソフトウェアリポジトリーがやや微妙とか言ってたら「Packmanを追加してあげて!」みたいに教えて頂いて居た事をふと今更思い出した。 PackMan :: Startseite 実は archlinux から openSUSE に変えた事もあり、しばらくの間は archlinux…

openSUSE-12.2 に OGLplus を導入

OpenGL3以上のCなAPIをC++らしく扱う為のライブラリーOGLplusをopenSUSE-12.2に導入する。 OGLplus - a C++ wrapper for OpenGL® version 3 and higher. zypperに対応したパッケージは無いので普通にソースを拾ってビルドしてインストールする。 OGLplus ソ…

openSUSE-12.2 + Razor-qt

@usagi_wrp RazorQT もお試しあれ(既に言っていたらすみません— Fuminobu TAKEYAMAさん (@ftake) 12月 12, 2012と、言う訳で Razor-qt 入れてみました。初期状態で気に入らない事と言えば、キーリピートの待ちが長い事と、PrintScreenキーに割り当てが無い事…

cpp_ac_2012_4th の particle_system そのもののベンチマーク; time, gprof, oprofile

Related Entries C++ Advent Calendar 2012 / day 4th : Native-client vs. HTML5 ; C++ in the web-client-world! - C++ ときどき ごはん、わりとてぃーぶれいく☆ After care: C++ Advent Calendar 2012 / day 4th : Native-client vs. HTML5 ; C++ in the …

QtCreator-2.5.0 + QtOpenGL + GLUT ==> teapot

(いちおう)エディターたるVimから、IDEたるQtCreatorでの開発を勉強中。先ずはお約束の第一歩、teapotの備忘録。 プロジェクトをQtの雛形から作成 File --> New file or Project (CTRL+N) Projects: Applications --> Qt Gui Application 以降、仮にプロジ…

openSUSE-12.2にRictyフォントを導入する際の注意

Abstract openSUSE-12.2環境に置いて`./ricty-generator.sh auto`はシステムに導入されたInconsolata/M+ 1M regular/M+ 1M boldの各フォントファイルを見つけてくれない。 % ./ricty-generator.sh auto ... Error: ... not found 手作業で各フォントを指定す…

After care: C++ Advent Calendar 2012 / day 4th : Native-client vs. HTML5 ; C++ in the web-client-world!

先日のC++ Advent Calendar 2012 / day 4th : Native-client vs. HTML5 ; C++ in the web-client-world! - C++ ときどき ごはん、わりとてぃーぶれいく☆の続き、その1です。ちょっとだけリファクタリングしたり、C++とJSのインターフェース部分のやっつけ感…

C++ Advent Calendar 2012 / day 4th : Native-client vs. HTML5 ; C++ in the web-client-world!

C++ Advent Calendar 2012 / 4th day (!) この記事はC++ Advent Calendar 2012の参加記事です ヽ(=´▽`=)ノ 記事の公開と本編内容が4th dayのリミットより数時間遅れてしまいました事をお詫び申し上げます。 Native-client vs. HTML5 ; C++ in web-client-worl…

openSUSE-12.2にdarkhttpdをcheckinstallしてrpmで入れる

コマンドからさくっと使える割に一時的な物置きのみならずウェブ開発用にも重宝する簡易HTTPdのdarkhttpdを導入しましょう。 darkhttpd と、思ったけれど、 % zypper se darkhttpd ... やはり出て来なかった。ウェブのパッケージ検索でも出てこない。darkhtt…

WebRTC on Linux with Google Chrome is FAIL!

WebRTCからvideoへgetUserMediaから映像ストリームを流したかった、それもこれからやろうと思った事の序章として。始めに私が陥ったミスは先のエントリーの通り。つまりopenSUSE-12.2のreposのChromium-24がvideo要素すらサポートしていない状態だった事。こ…

openSUSE-12.2のChromium24がHTML5のvideoとかやる気無さすぎるのでGoogle版のChromeを入れたなど

openSUSE-12.2はそれなりに気に入って来ている。とは言え、時々気に入らない事もある。 openSUSE.org - 503 これを入れると執筆現在 Chromium 24.0.1290.0 を導入できる。当然の様にopenSUSE標準のリポジトリーから導入できる。しかしこのChromium、どうもコ…

Nexus 7とChromeとWebRTCと

アプリ : Chrome 18.0.1025469 OS : Android 4.1.2; Nexus 7 Build/JZ054Kまさかこんなに枯れたバージョンのChromeがデフォルトだったとは…。Nexus 7の初期状態(日本で正規販売された32GBモデルについて)のAndroidが4.1.2な件は既に4.2へのアップデートが「…

AndroidのChromeの開発者ツールをUSB接続したPCのChromiumでにゃんにゃんする方法

LinuxやWindowsなどのPC向けのChromium(≈Chrome)ではF12キー(或いはCTRL+SHIFT+Iキー)に開発者ツールがアサインされて居て、ウェブ開発に大変便利な、というか必須のツールですね。さて、AndroidのChromeではF12を…どうやって押しましょう?と、いうか開発…

egrepの結果の表示順序とsort、シェルを便利にオレオレ関数を作りましょう。

(※今回はリアルにLinuxの入門講座を受講している程度の方へ、って感じのtipsみたいな形になりました。)あるディテくトリーに、 1 2 3 4 5 6 7 8 9 というファイル名で同じデータの書き込まれたテキストファイルがあったとしましょう。 % /bin/ls 1 2 3 4 5…

std::array::empty()

必要なシーンに今まで遭遇していなかった事もあり、std::array::empty()の存在と動作なんて考えた事も無かった。実際問題としてstd::array::empty()が存在し使えるのかは規格書開くより実装確認した方が早いのでとりあえずideoneに入れてみた。http://ideone…

C++ の #include するファイル名について規格に基づいて実際に試してみた

C++の規格§2.9 Header names によれば、#include の や "fuga" におけるhogeやfugaの文字について、 hoge には > を除いて、 fuga には " を除いて、 ' \ /* // が含まれる場合は実装依存、またhogeのパターンの場合には " が含まれる場合にも実装依存と書い…

うさぎさんはトライグラフを使った!! → わけがわからなくなった

別に使う必要に迫られた訳では無いのですが、"トライグラフ"というものを使ったあるプログラミング言語のソースコードのごく初歩的で簡単なコードのサンプルがこちらになります。 ??=include <iostream> int main()??< unsigned a??(??)=??<1,2,3??>; std::cout< https</iostream>…

DROID VNC @ Nexus 7 / rooted

Nexus 7はHDMIも無ければMHLにも非対応。そこで思った、VNCとかどうだろうかと。案の定既にあった。 http://juggly.cn/archives/7065.html DROID VNCを早速Nexus 7に入れたのだけど、当然のようにrootを要求して来るので Nexus 7 / root http://forum.xda-de…

フォント描画が豆腐になったsteam @ wine-1.5.6 @ openSUSE-12.2 にて

とてもとても久しぶりにsteamを動かした。まだLinux版は正式にリリースされていないので相変わらずwineにて。しかし、日本語フォントの導入も`HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes`での置換定義もあらかた出来…

Crystal Space-2.1(trunk/svnversion:39000) を openSUSE-12.2 で試すなど

Crystal Space http://www.crystalspace3d.org/ 基本機能は3D描画ライブラリー。 使うまでの準備 ダウンロード http://www.crystalspace3d.org/main/Download openSUSE-12.2のリポジトリーには無いのでSVNなどでソースを拾ってライブラリーをビルドしてイン…

openSUSE-12.2にしたら音が出なかったのでPhononバックエンドを変えた話

うっかり忘れていた。archlinuxからopenSUSE-12.2に鞍替えしてから音が出ていなかったPCが1つありました。EDIROL UA-4FXとRADEON HD5870のHDMIから音を出せるはずのPCから音が出て来ない。さてさて、Phononのバックエンドを疑ってみても切り替えられるバック…

openSUSE-12.2にAndroid SDKを入れる

どうやらhttp://software.opensuse.org/package/android-sdkリポジトリーにもエントリーがある様だけど、r07で止まってるし、どのみちAndroid SDKは独自のパッケージ管理で使う事になるわけなのでopenSUSEのリポジトリーは見なかった事する。と、言うわけでS…

はてなブログ"Afternoon"デザインテーマ用preでにょーんとソースとかのエリアが伸びるCSS3コード片

はてなブログのAfternoonデザインテーマのコンテンツにおける本体領域のwidthは860px、右のasideを含まない本文用の領域のwidthは580px。ソースやCUIの操作結果など張るには少々幅が狭い。かといってscrollにしてもどうも見苦しい。と、いうわけでCSS3の:hov…