C++幼女先輩

プログラミング成分多め

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

ScriptableRenderLoopでUNITY Chan表示

環境 ベータ版の機能なので EditorをUNITY2017のβを使います。今回は b10です サンプル GitHub - Unity-Technologies/ScriptableRenderLoop: Scriptable Render Loop 個々のサンプルを落とす 多分コンパイルエラー出るので、エラー出る所をつぶせばなんとか…

ScriptableRenderLoop概要

今までは情報がある程度まとまってから書いてたけど 試しに気にせずに毎日でも書くことにしたよ すぐ飽きるけど ScriptableRenderLoopとは UNITY2017から入る機能の1つで、現在はベータ版でお試しが可能 今までブラックボックスだった UNITYのレンダリングパ…

UNITYことはじめ~ShaderLab あたり

UNITY歴 実はあまり触ってない。プラグイン書く仕事はしたけど C++をバインディングしたり、そんなのだし 一応簡単に画面を触るけど 正直表面すら理解してないので はじめてUNITYをちゃんと勉強する 幸いなことに、仕事でUNITYを使う機会があり、今回は深い…

【UNITY】PostProcess

イメージエフェクト ってUNITYでは 言うらしいよ ポストプロセスの事 概要 ポストプロセスに関しては ご存知と思うが UNITYは基本的に オブジェクトにスクリプトをくっつけていくタイプだ UNITYではポストプロセスはカメラにつけるっぽい MonoBehaviour.OnRe…

【UNITY β機能】ScriptableRendererLoop 使ってみる

ScriptableRendererLoopとは Unity 2017から搭載される予定の機能で現在はβバージョンである 今までブラックボックスだったレンダリングのループをある程度カスタマイズできる カリング、Depthクリア、不透明描画、半透明描画・・・ 等の処理を変更できる サ…

右辺値参照~完全転送まで100%理解するぞ! part8 おまけ。

おまけ 可変引数テンプレートの Parameter Bagを展開しながら 全部出力する #include<iostream> using namespace std; struct Concat{ template <class... T> void operator ()(T&&... t) { concat_(std::forward<T>(t)...); } private: void concat_() { } template <class Head, class... Tail> void concat_(He</class></t></class...></iostream>…

右辺値参照~完全転送まで100%理解するぞ! part7 可変引数テンプレート

前回の template<class T> void hoge(T&& x){ std::forward<T>(x); } universal referenceを使うことで、右辺値参照も左辺値参照もどちらも入ってくる std::forwardを使うことで、右辺値参照の場合は ムーブコンストラクタ、左辺値参照の場合は コピーコンストラクタ が</t></class>…

クラスのコンストラクタを可変長テンプレートにして ごにょごにょ

C++

前回なやんだ続きではあります 関数テンプレートは暗黙的インスタンス化可能だが、クラステンプレートは不可能 ならば コンストラクタを可変長テンプレートすればいいじゃない [Wandbox]三へ( へ՞ਊ ՞)へ ハッハッ #include<iostream> #include<sstream> using namespace std; struct</sstream></iostream>…

関数テンプレートは暗黙的インスタンス化できる

C++

[Wandbox]三へ( へ՞ਊ ՞)へ ハッハッ で終わりなんだけど、少し悩んでやっぱ無理そうだったのでメモ 関数テンプレートで実装出来るのだが、使い勝手や最適化など考えて 関数オブジェクトにしたかったが 関数とクラスの テンプレートの違いで出来なかった 追記:や…

右辺値参照~完全転送まで100%理解するぞ! part6 Universal Referenceと std::forward

やっと UniversalReferenceですよ! その前に復習 右辺値参照を引数にする時は あまり気にせず下記のようにするのが正しいのでしたね #include <iostream> using namespace std; class X{ public: // explicit付けられない! X(X& x){ cout << "copy" << endl; } X(X&&</iostream>…

右辺値参照~完全転送まで100%理解するぞ! part5 参照の圧縮(reference collapsing)

右辺値参照の山場の一つ Universal Referenceまであと一歩 参照の圧縮とは UniversalReferenceそのものだが 参照は(const等のストレージクラス除き)2種類しかない X& (左辺値参照)、X&&(右辺値参照) X&&& 等はエラーですし X& && 等、参照を重ねる事は出来…

右辺値参照~完全転送まで100%理解するぞ! part4 Universal Reference その前に

こうやって 人に見せようと書く事は自分の理解になる 復習DEATH 前回の復習。右辺値参照を関数の引数にするには 一見コピーに見えるが void hoge( X x ) とプロトタイプすればよい 呼び出し側で hoge( std::move(x) ) とすればムーブコンストラクタが使われ…

右辺値参照~完全転送まで100%理解するぞ! part3 関数呼び出し

いまいちまだ 納得していない部分もある(理解不足 実践的な関数呼び出し 右辺値参照はムーブセマンティクスのために使われる ムーブセマンティクスは主に ・ 所有権の移動 ・ コピーのコストを削減(ポインタのすげ替え) で使われる 所有権の移動 コピーさ…

右辺値参照~完全転送まで100%理解するぞ! part2 VisualStudioの罠

はじめに おまけ。 右辺値参照を理解するうえで大きな妨げになった VisualStudioでの挙動(バグ?? 詳細希望) 左辺値は暗黙で右辺値参照にキャスト出来ない バグ? の前に基礎から 左辺値(参照)は 左辺値にのみ 右辺値(参照)は 右辺値にのみ 暗黙キャスト…

右辺値参照~完全転送まで100%理解するぞ! part1 右辺値参照とは

TL;DR はじめに、私が右辺値参照を調査したのは、何番煎じかわからない 解説をしたいわけではなく VisualStudioでの動作の違い、universal referenceの特殊化したときの動き、複数の引数をuniversal referenceしたとき デフォルト引数・・・ など、応用した…

Railsはじめました

はじめに 私 みやたけゆき がRailsを始めるなんて冗談だろ?? 確かに私は なんでもかんでもRailsの風潮には否定的であるが 正しくRailsを使うのは ありと思ってる RailsというかRubyには根本的な弱点 遅いという問題があるのに 速度が必要なリアルタイム処…

#キャッシュレス社会を#求めて#クレジットカード整理し#ブラックカード目指す

はじめに 中国の人から、中国ではほとんどのものがウェイボー決済で買える。QRコード読み取って決済すると自動販売機から商品が出てくる ときき 驚いた 日本ではスマホを使った決済の場合は SUICAやEDY、Felicaのような Bluetooth的なもので行うが、iPhoneに…

Vulkan LunarG-SDK Sampleで勉強する 01-init_instance

あらすじ 前回 あらたにVulkanAPIを勉強する事にし、ドライバのインストールと 現在オフィシャルの LunarGという VulkanSDKをインストールし Sampleのビルドまで行った ので、Sampleを参考に Vulkanの勉強をする サンプル一覧 Samplesの下だけでも46個あった…

Vulkanほんと入門!

はじめに 3D APIは複数あります OpenGL系 OpenGL、OpenGLES、WebGL等 色々と出ているがどれもがクロスプラットフォーム 現状 Windows、Linux、Mac、Android、iOS、Web が動くのはこれしかない コンシュマーゲーム機でも採用されている 現在 WebGL1.0(GLES2.…

boost::bind (std::bind)を理解する

C++

はじめに C++で仕事をしていますが、C++って人によって理解度が違います 今回の案件はBoost.Asioで作れという指定なので、どうしてもC++色が強くなります stream、string、functional、bind、rambda はたまた triboolやtuple、各種コンテナと 他の作業員がC+…

WebAssembly Windows環境構築

Windows環境を作るにあたって 公式ページでは下記のように http://webassembly.org/getting-started/developers-guide/ The instructions on this page are applicable to Linux and Mac OS X systems. Similar instructions for Windows systems are forthc…

おれはMacbookをやめるぞ!ジョジョーーッ!!

PC

Macbookやめました まずはMacbookを手に入れる所から Macbookが必要になった事 私はずっとWindowsを愛用してきた。もちろん Cygwinや Linuxを内部にインストールしLinuxも使っていた Macさんの事は話で聞いていたものの、特にWindowsでも困ったことがないし…

WebAssembly 調査!

新年一発目は WebAssembly 今年(会社自体は6月はじまりなので 2016年度下期)に、会社の方針として C++やアセンブラの高度な技術を一番の武器に活動することを決めました もちろん今までのようにゲームが主軸になると思いますが ゲーム&ビジネス限定せず …

Begin 2017年

2017年はじまりました まず2016年の振り返りを形式上行う 2015年に スマホのマージャンゲームのソーシャルサーバ&マッチングサーバを請けたものの残り作業で 1月2月は、そちらの作業に費やした 3月あたりは休暇を取りつつ、大手のゲームメーカーより JavaSc…