ムラサメ研究ブログ

主にゲームやプログラミングのログ

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

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…

【今更だが】 CComPtrのoperator&でassertで落ちる場合は read目的なら .p()を使うといいぞ

はじめに なぜいまさらCOMなのか? と言われると DirectXを触っているからである CComPtrとは? COMオブジェクトを扱いやすいようにした テンプレート。 いわゆるスマートポインタ COMは、shared_ptrのような参照カウント方式のスマートポインタだが、shared…

Unreal4.14 ノンフォトリアルに挑戦中

はじめに 一般的に Unrealといえばフォトリアルなものに強く、アニメなどの ノンフォトリアル(NPR)には弱い というイメージが有り たしかに当たってるのだけど GUILTY GEAR Xrd -SIGN- にて、UnrealEngine3ではあるが、かなり完成度の高い NPRが動いていま…

ポケモン サンムーン戦記

ゲームのプレイ日記も書くよ! ゲームプログラマやさかい Myポケモン戦記 最初 ムーンに決定。理由は同じシェアハウスに住んでいる住民がサンを買ったので ニャビーで始める。理由は シェアハウス住民がモクローだったので 火にした 最初は捕まえたポケモン…

岡山と東京のIT事情

半分ネタなので おこらないで・・ 自己紹介 小学校1年の頃 岡山大学医学部の目の前 鹿田の イナバ小児科の前で 60キロで走る乗用車にはねられ かすり傷の 大怪我をしたのが 事故はじめです 自転車は真っ二つに曲がって、体は車のボンネットで跳ね返り 推定3…

何番煎じか UnitychanをUnreal 4.14で読み込む。 アニメーションステートマシン作成

はじめに 何番煎じか不明だが UnityChanモデルの読み込み 触った感じ 4.14になっても ほとんど変わってないので 本当に何番煎じか・・ 前回は UnityChanが操作できるが Tポーズなので 今回は 待機モーション、ジャンプ等を作る 最低限のアニメーション設定(…

何番煎じか不明だが Unreal4.14で Unitychanを読み込む

はじめに いろいろな人が記事書いてくれているので基本それを見てください たとえば UE4でゼロからユニティちゃんを表示させるまで - Let's Enjoy Unreal Engine 今回は自分のメモと UE4.14で変更点があると思われるのでチェックです データのコンバート 上…

Unreal4.13 リプレイ機能調査(キルカメラ) Part 1

はじめに 今回は調査。不確定な要素もあるかもしれない 有識者のツッコミ欲しい所。 UnrealEngineにはリプレイ機能がある。 これは 終了したゲームを例えばファイルから再現をさせる機能である ムービーと違って、後から視点を変更したり出来る docs.unreale…

UnrealEngine モジュールを使うときのメモ

必要になった背景 モジュール使ってますか? とりあえず今回 リプレイ機能を調査したかったので #include "Runtime/NetworkReplayStreaming/NullNetworkReplayStreaming/Public/NullNetworkReplayStreaming.h" を行いたかったのですが、NullNetworkReplayStr…

さくらVPSで Google G Suiteを使いメールアカウントを作成

メモなのでさらっと まず、今までは GMailアドレスで仕事をしていたが、ビジネスも大きくしなきゃいけないので murasame-lab.com の、独自ドメインのメールアドレスを作ることにした さくらVPSを使っているので、メールサーバを建てればよいし、知人と一緒に…

会社のホームページリニューアル&現在の仕事状況

会社ホームページリニューアル 友達のWebデザイナに会社のページを作ってもらった 株式会社ムラサメ研究所 POPで可愛い感じにというオーダーだったと思う まだ日付やメニューなど修正していくんだけど あとはゲーム会社らしく、HTML5でページに遊び要素入れ…

Unreal 4.13でWorldViewProjectionを探す旅

調査中内容でも書かないよりはましかとおもって 自分用のメモついでに。 UnrealEngineは基本的にMatrixを扱わずに開発出来るように作られているように思う BluePrintでもほとんどMatrix関係の関数がないし その代わりに、RotaterやTranslator等を作って Appl…

ブループリント de Enumを作る

かるいTipsなので説明なしに C++でEnumやStruct作るのは簡単。 C++の構文使えばいい それをBluePrintからも使えるようにするには、UPROPERTYをつける ってのは以前やったが ブループリント上で Enumも構造体も作れる 新規ブループリントから Enumを選ぶ そし…

アニメーションブループリントで モーション合成

はじめに ゲームのサンプル書いているけど仕事のほうが忙しく、作業すすまないため Tipsを書くことに Tipsと言う名の、自分のためのメモでもある 今回の内容 ブループリントに関して何も言及していないのにアレだが アニメーションブループリントは、通常の…