NEUROMANTIC

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

CPUレイトレイサープロジェクトの進捗報告。

「Assassin's Creeds オデッセイ」やりながらゆっくりと実装しています。

最近はゼノブレイド2本編をやってました。

ラスボスの部屋を目前にして ラスボスを目前として、ちょっと寄り道でやり込みをやってからエンディングを見ようとしてます。ゼノブレイド2自体は1年前に買いましたが何度もエンディングを見ようと何回もプレイ、そして途中で詰んだり時間がないとう理由でや…

CPUレイトレーシングプロジェクトでのAABB実装の愚痴

今リリースしているバージョンは、素のままにレンダリングしちゃっていて複雑なモデル(トーラスなど)をレンダリングしようとすると急に時間が大きくなることが生じます。 なのでリアルタイムレンダリングでよく使われるAABBをこっちにも実装して、レイ(光…

CPUレイトレーシングプロジェクトの進捗報告

github.com

「Archieve」물리 기반 쉐이더 Slideshare 2개 메모

Archieved専用の記事です。韓国語で書かれているため、日本語への翻訳は時間があるときやらせてもらいたいと思います。

「Archive」Wrapped Diffuseについた韓国語のメモ

Archieved専用の記事です。韓国語で書かれているため、日本語への翻訳は時間があるときやらせてもらいたいと思います。

「Archive」Antialiasingについて自分なりにメモってみた

以前にAntialiasingについていくつかをメモしたことがありましたけど、纏めずにそのまま上げたいと思います。(間違えてたり、荒れているかもしれませんが後で整理しますよ)

「SH-RayTracer」の中間報告

github.com

「gato roboto」一回クリアしました。

韓国のインディーズゲームイベントの「BIC2018」で最初に見て、それからようやく発売することが出来てさっそくプレイしてみました。 「gato roboto」はグラフィック的には白と黒しか使わない、単純でシンプルな外見を持っていますけど中身はメトロイド風のア…

CMakeに関するTip記事まとめ

CMakeのfind_packageでBoostを検索する – sgryjp.log.old CMakeの使い方(その1) - Qiita CMakeの使い方(その2) - Qiita CMakeの使い方(その3) - Qiita CMake 簡易まとめ - Qiita CMake: custom target's flags - Stack Overflow Cause CMAKE to gen…

gitのsubmoduleに関するTip記事まとめ

qiita.com qiita.com git で、すでに管理していたファイルをサブモジュール管理に切り替えたい | neulog

githubのREADMEの書き方に関する記事まとめ

A sample README for all your GitHub projects. · GitHub わかりやすいREADME.mdを書く | SOTA A template to make good README.md · GitHub

Raytracerの進捗

neuliliilli.hatenablog.com の続きです。 チュートリアルを見ながらも、自分なりのスタイルで実装しております。

今週は…

github.com 上の記事を参考にしながらレイトレーシングを使用したレンダラー(リアルタイムではない)を作ってみたいと思います。 ですけどチュートリアルのコードをそのまま書くのではなくて、DyUtils(DyExpression、DyMathなどの自作ユティリティライブラ…

簡単なRayMarching(レイマーチング)を実装してみた。

「ShaderToyでカメラのテストをやってみた。」に続き、半分くらい本格的なRayMarching(レイマーチング)を使用した描画を実装してみました。 面白かった!というか、数学の重要性が切実に感じられた気がします。まだ複雑なモデルは実装してみませんでしたが…

最近読んだ記事まとめ

別途で記事を書くにはちょっと曖昧だったものを一つずつ短くまとめてみます。 note.mu コンシューマゲームとソーシャルゲームでのゲームデザイン、またはゲーム性での接近するやり方の違いに関して考察して記事です。自分はコンシューマゲームのゲームデザイ…

ボロノイ図(Voronoi)をUE4マテリアルでレンダリングしてみた。

マテリアル編集画面 UE4の勉強兼、ボロノイ図を実装して見ました。基本的なものですが、実装するために様々なページを探してみたりしましたのでいい経験でした。(かもしれない)

おまけ。ShaderToyの機能の使い方を集めた記事

Special Shadertoy featuresshadertoyunofficial.wordpress.com 前の「ShaderToyで線が引きたくて実装・メモを書いてみた。」のShaderToyページで、ある方が助言をくれました。これを参考にして見ると良いよということでしょうね。ありがとうございます。

ShaderToyで線が引きたくて実装・メモを書いてみた。

ShaderToy又はKodeLifeなど、glslを使っているところでシェーダーで線が引きたくて実装をやってみました。 私が作った線分レンダリング関数は、 線分の太さが調整可能 線分の位置を任意に配置可能 線分の色を単色かグラデーションで指定可能 の機能を持って…

ShaderToyでカメラのテストをやってみた。

「レイマーチング」*1を実装させるために、まず下準備としてカメラを実装してみました。 こっちで使うカメラは、View・Projectionマトリックスを使いません。(Projectionはあとで複雑になると使うかもしれませんね) なぜならシェーダーではViewの代わりに…

「Understaning BCn Texture Compression Formats」を読んでメモ

www.reedbeta.com GPUで支援しているBCnというテクスチャフォーマットはBC1からBC7まである。 BCnテクスチャフォーマットらの特徴は、読み込みをする時で圧縮されたデータが解凍されるのではなくて、GPUからあるテクセルの部分を使うときだけその一部分のデ…

「Heartfelt」を分析・KodeLifeで応用してみた。

www.shadertoy.com 分析しにくかったシェーダー効果でしたけど、なんとか分析して変数をuniformで作成してKodeLifeで実装してみました。(なお、不必要なコードも削除) CHEAP_NORMALSは除きます。コメントでは2倍見にくくなるよと書いていたんですが、実際…

「Advanced Terrain Texture Splatting」記事を分析・KodeLifeで実装してみた。

www.gamasutra.com 分析メモ 記事では2つの地形テクスチャマップに対して、3つの方法を提示しています。 単純にover operatorを使用してマップをブレンディング。(頭悪い) 各テクスチャのDisplacementかHeightマップの値をお互いに比較して、テクスチャ…

「Cathode」を参照・分析・応用してみた。

ブラウン管みたいにスキャンライン、そして色の滲みを表現するポストプロセッシングシェーダーを分析、応用してみました。

ゆらゆら・ShaderToyのテンプレートコードのメモ

ゆらゆら www.shadertoy.com void mainImage( out vec4 fragColor, in vec2 fragCoord ) { // Normalized pixel coordinates (from 0 to 1) vec2 uv = fragCoord/min(iResolution.x, iResolution.y); float speed = 0.5f; vec2 p = uv * 5.0f; for (int i = …

「Blistering Paint」シェーダーをShadeで真似してみた。

内容 成功例が出せてから後ほど追加します。🙏 Shade実装動画(失敗例) youtu.be 参照 GDC 2017: Substance pipeline and toolset for Paragon heroes w/ Brad Smith - YouTube https://www.artstation.com/artwork/xzDLvX

超簡単な炎シェーダーを実装してみた。

youtu.be 今更ですが、「Shade」というiOSのシェーダー作成アプリケーションを使用して超簡単な炎を作ってみました。「Shade」というアプリケーションにはHLSLまたはGLSLのdiscardとか、lerp(mix)という関数の機能を提供してくれるノードがないため、ちょ…

「2D多角形の内部、外部判定のやり方」のメモ

bowbowbow.tistory.com 判定とは一体 Aは外部にあって、Bは内部にあることが分かる。 2Dの多角形に対し、AまたはBみたいな点が図形の内部にあるか外部なのかを判別することを示す。 図形の内部に位置する点の特徴は Aは交点が偶数。Bは奇数のことがわかる。 …

超簡単なBehaviour Treeを実装してみた

Finite-State Machineとは(Behaviour Treeの以前に。。。) en.wikipedia.org Finite-State Machineは人工知能または条件による行動の分岐を実装する基本的な方法の一つである。 人工知能の各行動をモジュール化させたので、ある程度に柔軟さは持っているが…

「8 Most Common 3D File Formats in 2019」のメモ

all3dp.com 3Dファイルの基本的な目的は、3D情報をテキストまたは特定のテンプレートを持ったバイナリファイルに込めたものである。 3D情報とは、Geometry, Appereance, SceneそしてAnimationsがある。3Dモデルのファイルの中では一部しか込められないものも…