bowbowbow.tistory.com 判定とは一体 Aは外部にあって、Bは内部にあることが分かる。 2Dの多角形に対し、AまたはBみたいな点が図形の内部にあるか外部なのかを判別することを示す。 図形の内部に位置する点の特徴は Aは交点が偶数。Bは奇数のことがわかる。 …
Finite-State Machineとは(Behaviour Treeの以前に。。。) en.wikipedia.org Finite-State Machineは人工知能または条件による行動の分岐を実装する基本的な方法の一つである。 人工知能の各行動をモジュール化させたので、ある程度に柔軟さは持っているが…
all3dp.com 3Dファイルの基本的な目的は、3D情報をテキストまたは特定のテンプレートを持ったバイナリファイルに込めたものである。 3D情報とは、Geometry, Appereance, SceneそしてAnimationsがある。3Dモデルのファイルの中では一部しか込められないものも…
게임 프로그래머 실력향상법 자료조사 from Daeyoung Hwang www.slideshare.net 「コンシューマ>オンライン>モバイル>順でプラットフォームによって実力が優れているわけでもない。 昔はそうだったが、UnityかUE4のエンジンが登場し、モバイルに写った開…
en.m.wikibooks.org C++でvirtualの関数を継承(Override)したりして関数を書き直すことになると、普通はリターンタイプを同じにして返すのが普通ですね。 しかし継承したタイプのOverrideした関数のリターン値がベース仮想関数の返す型を継承としたものとな…
ImGuiで作業時間を測定する reedbeta.com DirectX11を勉強しながら、サンプルのGPUの各作業時間を測定するため検索してみたところ、ID3D11Queryというのを用いてGPUの時間を測定することがわかりました。 SH-D3D11サンドボックスプロジェクトのサンプル1と…
就活がほぼ最後に入り、暇が出来たのでスイッチでやってみました。今は難しいプラットフォームアクションゲームが多いし、ストーリー展開でのステージは平均のゲームに比べてはちょうど良い難易度のゲームだったと思います。 ストーリーだけ進行しようとする…
今のGPUそしてグラフィックスで通用されているシェーダーレンダリングのパイプラインを纏めると以下になりそうです。 レンダリングパイプライン 独立パイプライン ~OpenGL 3.0 固定パイプライン なし ~OpenGL 4.0 VS > GS > FS なし OpenGL 4.0~ VS > TCS > …
forums.unrealengine.com UE4でいろいろとマテリアルを触る時に、基本的に与えられたノードだけじゃ複雑なものがちゃんと書けないことがありました。という時に使ってこなすのがCustomというノードで、これは直接HLSLコードを書いてシェーダーを作成すること…
gdcvault.com 2017年に販売されたFPSゲーム、「Destiny」の多彩多様のグラフィック表現を描画するために独自のシェーダー言語「TFX」の仕組みとその周りのツール操作、最適化などのあらすじを発表したもの。 未だ技術の知識が足りない関係で個人としては30分…
Pseudo Destructorとは Pseudo Destructorは、単語通りに「類似」のデストラクタです。 テンプレートプログラミングなどをして、型引数 Tがデストラクタを持っているかないかにかかわらず挙動を同じにさせる時に良く使われるらしいです。 クラスではないタイ…
本日Visual Studio 2019が出たので、早速VS2017から作業環境を変えました。 性能的にはVS2017からもメモリ占有率か使用容量が1/4までに減ったそうですので期待をもって移してみましたが、そんなに減ることじゃなかったです。多分Reshaper C++のせいでメモリ…
developer.samsung.com OpenGLのような昔のグラフィックスAPIは現在のGPUのデザインとは結構違う時期に設計されたものである。 現代のGPUは無数なコアがあって、それを並列的に処理させてレンダリングなどに必要となる演算量をカバーすることになっている。 …
190227バージョン 「About」窓を作りました。後のFixedバージョンではAbout窓に使ったライブラリの名前、そして製作者のブログの遷移先を実装します。 フォントのSDFマップの生成手順のロジックを変えました。以前まではstd::asyncとstd::futureを使用しまし…
objファイルと、テクスチャーファイルを読み込みして、MSAAまで適用した姿 vulkan-tutorial.com 上のVulkanの基礎的な部分のチュートリアルサイトを参考にして、一番簡単な「オブジェクトの頂点読み込み」「Uniformバッファの値入力」「レンダリング」「MSAA…
github.com imgui(厳密にいうとDear ImGui)というGUIライブラリーはC++環境でUI窓を作らせてくれる便利なライブラリです。QtまたはNana、Juceなどに比べればちょっと違った構造を持っていますが、プロトタイプまたは既存のビデオゲームなどでのデバッグUI…
やり方 Windowsでのabort()は基本的にはSIGABRTというシグナルを出します。 -NIX系列のOSではsigactionなどの関数でシグナルをハンドリングすることが出来ますが、Windowsのデバッグ環境で呼び出されるabort()から出るシグナルをハンドリングは以下のような…
はじめに github.com nlohmann氏のJSONライブラリである「JSON for Modern C++」はC++環境でのJSONシリアルライズ文字列を読み込みするときに有用に使えるライブラリです。 速度面としては「RapidJSON」のようなライブラリには勝てないんですが、STLの操作面…
はじめに sawcegames.com 今回はスクエア・エニックスさんのNier Automataの様々な後処理効果をShaderToyで再現してみようかとします。上のリンクから提供するチュートリアルを見ながら、HLSLコードをShaderToyが支援するGLSLに移してみたいと思います。
はじめに 以前にやったプロジェクトの(けど結局限界性がはっきりしてて捨てざるを得なかった)OPGS16ゲームフレームワークでは、下のように昔のテレビでゲームをするようにする後処理がありました。
はじめに いろいろとプロジェクトを作っているのですが、実は私はゲームのグラフィックスに興味があります。そしてゲーム開発界隈に入ってから最終的にはローレベルを弄りまくるグラフィックスプログラマになりたいです。(エンジンを底を触りながらグラフィ…
序文 OOPとそのデザインパターンについての感覚が薄れていて、復習を始めました。多分3,4個くらいで終わりそうです。
2.2 Partial Template Specialization クラスに対しての部分特殊化は通じるが、メンバー関数や一般関数での部分特殊化は出来ない。 関数をテンプレートに対して部分的に特殊化したい場合なら、以下のようにオーバーローディングをするしかない。 template <class T, class U> T</class>…
報告 ツールのウィンドウ画面 Dyゲームフレームワークのフォントレンダリングに必要するテクスチャをバッチで生成してくれるツールを作りましたことをご報告申し上げます。
CppDependとは www.cppdepend.com CppDependはCまたはC++のプロジェクトのコードを分析してコードの維持管理を容易くできるようにする分析ツールです。これを使うによって下記のことが把握できます。 コードの総量(LOC)が把握できる。 総コードとコメント…
序文 「グラフ・最短距離アルゴリズムのまとめメモ(2)」に引き続きJPS、JPS+、GoalBoundingアルゴリズム(短距離アルゴリズム)を書きたいと思います。 日本語下手ですので用語について指摘して頂けましたらありがとうございます。 本文 JPS(Jump Point …
序文 「グラフ・最短距離アルゴリズムのまとめメモ(1)」に引き続き、Dijkstra、Bellman-ford、A*、そしてJPSから派生した最短距離アルゴリズムを書きたいと思います。 日本語下手ですのでちょっと用語について指摘して頂けましたらありがとうございます。…
序文 自分の頭の中で纏まらなくてブログで復習を兼ねて書きたいと思います。 そしていろいろと調べたりして基本以外にもある良いアルゴリズムも纏めて書こうしました。 参照 INTRODUCTIONS TO ALGORITHMS 3rd EDITION Chapter 22 幅優先探索 - Wikipedia 深…
序文 C++のビルド過程が忘れつつありましたのでそれに関する良い文書を探し、復習を兼ねてメモしてみました。 参照リンク github.com 本文 1. Overview C++のビルド過程は既存のC言語のビルド過程に基づき築かれている。 C++のビルド過程中にリンギングはコ…
序文 git pageを運用していた時には、を使用するためにMathJaxを導入して使っていました。ですけどはてなブログに移転してからを導入して使用する方法がないかわかりませんでした。 ですけどちょっと探してたらははてなブログにビルトインとして設置されてお…