C++
以下のコードの結果は同じです・w・ // code-1 ... mesh->CreateMeshSection_LinearColor ( 0 , vertices , indices , normals , texcoords0 , vertex_colors , tangents , true ); // code-2 ... mesh->CreateMeshSection_LinearColor ( 0 , vertices , in…
はてなブログよ、わたしは帰ってきた・w・ と、いうわけで早速本題に入りましょ。 UE-4.14 から導入された事になっている ProcedualMeshComponent ですが、いまひとつ公式ドキュメントでも最低限のエグザンプルとブループリントの情報しかまだ整理されてい…
RTTIで型情報を対話的に可視化したいと思うと、C++ではデマングルしないと割と読めません。extern "C"しておくとか邪悪臭いですし。 ところがデマングリングは処理系依存に触れる事になるので、ユーザーコードで扱いたいものではありません。そこで処理系依…
今回は色の話。PCでは長らく16777216色を誇るRGB24がディスプレイはじめ色を取り扱う際の標準として利用されてきた。RGBなのかBGRなのかなどは今回の本題では無いのでスルーする。また、制限された環境におけるRGB16やRGB15であるとか65536色中同時256色であ…
C++11から言語仕様のスレッディング周りが強化され、thread、atomic、mutexなどなど言語標準機能として扱える様になり、ちょっとやそっとやそれなりの用途でもintel TBBやBoost.Threadに頼らずにマルチスレッディングソフトウェアを開発し易くなりました。 …
std::valarrayだと基本的には1次元のデータ構造に対してスライスを考えて多次元要素集合としてアクセスする事になる。Boost.MultiArrayなら基本的には多次元のデータ構造に対して必要ならば1次元のRAWなデータ構造も用いる事ができる。多くの場合は後者の方…
OpenGL3以上のCなAPIをC++らしく扱う為のライブラリーOGLplusをopenSUSE-12.2に導入する。 OGLplus - a C++ wrapper for OpenGL® version 3 and higher. zypperに対応したパッケージは無いので普通にソースを拾ってビルドしてインストールする。 OGLplus ソ…
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 …
(いちおう)エディターたるVimから、IDEたるQtCreatorでの開発を勉強中。先ずはお約束の第一歩、teapotの備忘録。 プロジェクトをQtの雛形から作成 File --> New file or Project (CTRL+N) Projects: Applications --> Qt Gui Application 以降、仮にプロジ…
先日のC++ Advent Calendar 2012 / day 4th : Native-client vs. HTML5 ; C++ in the web-client-world! - C++ ときどき ごはん、わりとてぃーぶれいく☆の続き、その1です。ちょっとだけリファクタリングしたり、C++とJSのインターフェース部分のやっつけ感…
C++ Advent Calendar 2012 / 4th day (!) この記事はC++ Advent Calendar 2012の参加記事です ヽ(=´▽`=)ノ 記事の公開と本編内容が4th dayのリミットより数時間遅れてしまいました事をお詫び申し上げます。 Native-client vs. HTML5 ; C++ in web-client-worl…
必要なシーンに今まで遭遇していなかった事もあり、std::array::empty()の存在と動作なんて考えた事も無かった。実際問題としてstd::array::empty()が存在し使えるのかは規格書開くより実装確認した方が早いのでとりあえずideoneに入れてみた。http://ideone…
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>…
Crystal Space http://www.crystalspace3d.org/ 基本機能は3D描画ライブラリー。 使うまでの準備 ダウンロード http://www.crystalspace3d.org/main/Download openSUSE-12.2のリポジトリーには無いのでSVNなどでソースを拾ってライブラリーをビルドしてイン…
執筆時点のAndroid NDK(r19)について。 知って措いた方良い事 JNIのCバインディングとC++バインディングはまったく別物 APIの名前は同じ挙句にC++版でも名前空間つこうて無かったりで、ありがちなC/C++対応と言いつつ実はCっていうパターンかと思いきやC++バ…
「Twitterを扱うC++のライブラリー」について何を使ったら良いか、最近Bjarne鈍器本日本語版を購入してC++の勉強を始めた学生さんに紹介する事になった。OAuthなりXAuthなりでTwitterをさっくり使える様になる、という条件はライブラリーを使うのだから当然…
boost1.49つこうてるけど発症した > Issue 8 - gilviewer - Boost:GIL / LibPNG 1.4; ‘int_p_NULL’ was not declared in this scope code.google.com/p/gilviewer/is…— 莉煎・優曇華院・因幡(実際うさぎ)さん (@USAGI_WRP) 6月 1, 2012と、いうわけで、Is…
開発環境のPepper APIのバージョンを差し替えてもnewlibなら.nexeが更新されるだけで.nmfは変更が無い。しかし、glibc版を使っている場合にはrunnable-ld.soがリンクする.soのリビジョンがちまちまと変わる(hoge.so.12345がhoge.so.23456になるとか)のに追従…
先日NaClでstd::coutするとホストしたウェブブラウザーのコンソールに出力が得られる事を確認しました。JavaScriptへメッセージングしてconsole.logへ出す方法も考えて居たのですが、只でさえ負荷を掛けたくないJavaScriptに大量のデバッグログをメッセージ…
std::cout/std::cerrを使えるのはわかったけどログをファイル出力したいなと思って一応試してみた。やはりPepper APIのファイルシステムしか使えないらしくstd::cin同様にコンパイルは通るが実行時に何も処理しないっぽい。 std::ofstream o("nacl-test.log"…
NaClインスタンスをホストしたHTMLの<embed>のパラメーター群をホストされたNaClインスタンスで得られる。設置する人がニーズに併せて設置に応じたコンフィグレーションを適用できるようにする簡単な方法としては良い選択肢の1つですね。 得られるのはNaClをホスト</embed>…
NaClではPepper APIでキーボードやマウスからの入力の面倒を見てくれる。(JavaScriptで受けてメッセージングで飛ばすなんてダサい事は必要ないよ!やったね!!)ポイントは2つ。 pp::Instance::RequestInputEvents/pp::Instance::RequestFilteringInputEv…
NaClの標準出力、標準エラー出力はどこに繋がっているのか試したら手っ取り早く把握できた。 C++ source なんという事は無くどっかにstd::coutとstd::cerrを仕込んで試しただけ。 std::cout << "std::cout" << std::endl; std::cerr << "std::cerr\n"; std::…
先の記事の様にnewlib→glibcにして.nmfから複数ファイルをロードする様になったなら、プログレスイベントの発生がnewlibと単一ファイルだった頃では想定外の状況が発生した。 問題 newlib仕様で単一の.nexeをロードすれば良いだけの場合ならば次の様にロード…
NaClのツールチェインはnewlibとglibcを使える。これまではとりあえずnewlibを使ってた。でも、boost::lexical_castを使おうかと思ったらnewlibではどうもロケール周りの実装でコンパイルエラーがぽぽぽぽーんするのでglibcを使う事に。しかしglibcを使う場…
NaClモジュールに由来してそのembed要素に発生し得るJavaScriptイベント群について全て実装してみた。備忘録として今回もテスト中のLabyrinthian - Wonder Rabbit Projectのリポジトリにtag 0.0.2を打って措いた。 JS-sideのイベントシステムをすべて実装 · …
自分自身が作りたいと思っていたゲームのアイデアを実現したり、技術的なテストをオンラインで行うプラットフォームとすべく、 "Labyrinthian - Wonder Rabbit Project" を実装し始めました。実装というかテストしてるだけな感じですけど。 source NaClモジ…
NaCl pepper_19 SDKのinclude以下はこんな感じ: EGL/ envlock.h langinfo.h reent.h strings.h GLES2/ envz.h libgen.h regdef.h sys/ KHR/ errno.h limits.h regex.h tar.h _ansi.h fastmath.h locale.h rpc/ termios.h _syslist.h fcntl.h machine/ sched.…
今考えている事のメモ。NaCl(食塩)とMeteor(隕石)でマイゲーム基盤を作ろうかと言う事。 ゲームのアイデアではなくて基盤技術の概要に関するメモだけど。 NaCl; Natice Client Native Client — Google Developers 概要 ウェブブラウザーでELFバイナリを安全…