NEUROMANTIC

自分でC/C++/UE4/Graphics/ゲームなどをやったことをメモするブログ

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

ShaderToyで「Nier:Automata」の後処理っぽくレンダリングしてみた。

はじめに sawcegames.com 今回はスクエア・エニックスさんのNier Automataの様々な後処理効果をShaderToyで再現してみようかとします。上のリンクから提供するチュートリアルを見ながら、HLSLコードをShaderToyが支援するGLSLに移してみたいと思います。

ShaderToyで「アナログ画面」っぽくレンダリングしてみた。

はじめに 以前にやったプロジェクトの(けど結局限界性がはっきりしてて捨てざるを得なかった)OPGS16ゲームフレームワークでは、下のように昔のテレビでゲームをするようにする後処理がありました。

「一流グラフィックスプログラマへの道~リアルタイム編~」の感想及びメモ。

はじめに いろいろとプロジェクトを作っているのですが、実は私はゲームのグラフィックスに興味があります。そしてゲーム開発界隈に入ってから最終的にはローレベルを弄りまくるグラフィックスプログラマになりたいです。(エンジンを底を触りながらグラフィ…

Head First デザパタ復習 メモ(1)

序文 OOPとそのデザインパターンについての感覚が薄れていて、復習を始めました。多分3,4個くらいで終わりそうです。

Modern C++ Design Chapter 2 Memo (1)

C++

2.2 Partial Template Specialization クラスに対しての部分特殊化は通じるが、メンバー関数や一般関数での部分特殊化は出来ない。 関数をテンプレートに対して部分的に特殊化したい場合なら、以下のようにオーバーローディングをするしかない。 template <class T, class U> T</class>…

報告。`Dy`専用のSDFFontGeneratorツールを作りました。

Dy

報告 ツールのウィンドウ画面 Dyゲームフレームワークのフォントレンダリングに必要するテクスチャをバッチで生成してくれるツールを作りましたことをご報告申し上げます。

C++静的分析ツールのCppDependを使用してみた。

C++

CppDependとは www.cppdepend.com CppDependはCまたはC++のプロジェクトのコードを分析してコードの維持管理を容易くできるようにする分析ツールです。これを使うによって下記のことが把握できます。 コードの総量(LOC)が把握できる。 総コードとコメント…

グラフ・最短距離アルゴリズムのまとめメモ(3)

序文 「グラフ・最短距離アルゴリズムのまとめメモ(2)」に引き続きJPS、JPS+、GoalBoundingアルゴリズム(短距離アルゴリズム)を書きたいと思います。 日本語下手ですので用語について指摘して頂けましたらありがとうございます。 本文 JPS(Jump Point …

グラフ・最短距離アルゴリズムのまとめメモ(2)

序文 「グラフ・最短距離アルゴリズムのまとめメモ(1)」に引き続き、Dijkstra、Bellman-ford、A*、そしてJPSから派生した最短距離アルゴリズムを書きたいと思います。 日本語下手ですのでちょっと用語について指摘して頂けましたらありがとうございます。…

グラフ・最短距離アルゴリズムのまとめメモ(1)

序文 自分の頭の中で纏まらなくてブログで復習を兼ねて書きたいと思います。 そしていろいろと調べたりして基本以外にもある良いアルゴリズムも纏めて書こうしました。 参照 INTRODUCTIONS TO ALGORITHMS 3rd EDITION Chapter 22 幅優先探索 - Wikipedia 深…

C/C++のビルド過程のメモ(The C++ Build Process Explained)

序文 C++のビルド過程が忘れつつありましたのでそれに関する良い文書を探し、復習を兼ねてメモしてみました。 参照リンク github.com 本文 1. Overview C++のビルド過程は既存のC言語のビルド過程に基づき築かれている。 C++のビルド過程中にリンギングはコ…

はてなブログでLaTeXを使いたかったのでまとめメモ

序文 git pageを運用していた時には、を使用するためにMathJaxを導入して使っていました。ですけどはてなブログに移転してからを導入して使用する方法がないかわかりませんでした。 ですけどちょっと探してたらははてなブログにビルトインとして設置されてお…

Segment Treeを使用して部分和を計算する。

Segment Tree とは Segment Treeはバイナリツリー(二分木)を使用して区間やあるリストの範囲を貯蔵するに使われるデータ構造である。 Segment Treeは実装するリストの長さに対していつも平衡二分探索木である。なので探索に最悪O(lgN)がかかる。 Segment T…

Gallery of Processor Cache Effectsを読んでメモ

参照リンク Gallery of Processor Cache Effects Example 1 : Memory accesses and performance int[] arr = new int[64 * 1024 * 1024]; // Loop 1 for (int i = 0; i < arr.Length; ++i) { arr[i] *= 3; } // Loop 2 for (int i = 0; i < arr.Length; i +=…

岸辺露伴は動かないを読みました。

先週に会社研究の件で訪日して書店で買って、戻ってからゆったりと読み切りました。(SPIテストの本買わずに帰ったのが本当に腹立ますけど) 韓国でも「ジョジョの奇妙な冒険」シリーズは結構有名であって、正式に翻訳されてて販売してます。ですがまだ「岸…

Kahan summation algorithmを試してみました。

発端 0.01f を 10000 回足すと 100.003f になる話に関連して、カハンの加算アルゴリズムを使うと、浮動小数点数の合計を求めるときの誤差を減らせることも知っておきたい https://t.co/Ctrz6V3QQ6 pic.twitter.com/FPPrUG2v8W— Ryo Suzuki (@Reputeless) 201…

Chapter 3 Typelists メモ (1)

C++

Typelists Typelistというのは支援する値に関した一連の型をリスト化して提供する道具である。3章ではこのTypelistを実装する。 Typelistが有用に使用されるところは、Abstract Factoryか、Visitorパターンでよく使われる。 3.2 Defining Tyeplists ~ 3.6 I…

C++で大きな整数の掛け算を実装してみよう。

C++

実装した理由。 アルゴリズムの本を呼んで勉強していたところ、物凄く気になってやって見たかったものがあったからです。 「からツバ法」 カラツバ法 - Wikipedia これによって大きな整数たちの掛け算の計算コストを にすることが出来ます。 以前の力任せで…

취업 분석 (ATLUS, SPI 잡다...)

ATLUS 2019년도 채용 요강 2018년 3월 1일부터 응모 접수를 시작함. 응모 직종은 시스템 플래너, 시나리오 플래너, 디자이너, 프로그래머, 사운드 크리에이터, 종합직이 있음. 프로그래머는 게임의 제작에 있어서 각종 소프트웨어의 코딩과 각종 개발 툴의 …

Chapter 1 Memo (1)

C++

1.5 Policies & Policy Classes Policy Classes : Determine arbitary but specific small behavior, but different from dynamic run-time interface. Each Policy classes are bound to compound user-custom type as template on compile time. This clas…

Dy(DianYing)開発日誌 (11-01~)

Dy

2018-11-01 木 SDFバッチテクスチャー生成ツール(以下、SDFツールと呼びます)を使ってJsonを生成することに成功。 しかしまだシングルの為、ものすごく遅いです。ASCII+ハングル(Unicode2.0)11384字の情報生成に18分かかりました。次にはマルチで速度を…

Dy(DianYing)開発日誌 (10-25~31)

Dy

2018-10-25 木 (D-38) OpenGLのUniform Buffer Objectを管理するシングルトンマネジャーを実装。 DirectionalLightサンプルのUBOを管理者が管理するようにコードを移す。 2018-10-26 金 (D-37) カメラのViewやProjectionマトリックスのGPUバッファー伝送をUB…

ハロー・ワールド

ブログ作りました。 作るには作りましたが、まだ`github page`がありますのでこっちに移植するつもりはほぼ全無です。すいません。