2023-12-01から1ヶ月間の記事一覧
横着しようと AIに Unity 用シェーダーの Godot ポートをお願いしてみたところ、上手くいかなかった。 なので、手を動かして学習する。ここでは、Doodle エフェクト1を、Sprite2D にかけてみる。(Godot 4.x) 最初に成果物。以下の画像のような感じ。(外部…
Godot C# のMathfクラスは、GDScript の数学定数・数学関数に対応するメンバーを提供している。 そのなかには、C# における標準ライブラリ提供のメンバーとオーバーラップしているため、処理がそのまま委譲されているものもある。 独自に提供されている機能…
【追記】 UniRx の Cysharp から次世代 Rx ライブラリがリリースされ(2024/1~)、明示的に Godot がサポートも含まれています。オレオレ Rx をする理由がなくなりました。 Godot における Rx (Reactive Extensions) について、GDScript には GodotRx があ…
本記事は、Godot Engine Advent Calendar 2023 参加記事となっています。 空きのある日があったので、枯れ木も山の賑わいとばかりに参加させていただきました。不勉強な部分があるかと思いますが、よろしくお願いいたします。 以下の画像(外部サイト投稿の …
※ 大仰なタイトルですが、下記記事の一部分を引き伸ばした内容になります。 Performance Improvements in .NET 8 - .NET Blog 上記記事の Branching の項目で、分岐レス化による最適化が解説されている。 詳細は元記事参照として、Compare 的な処理が例とし…
下記スライドを学習した際、記事名の内容の効用が気になったので、マイクロベンチマークする。 CEDEC 2023 モダンハイパフォーマンスC# 2023 Edition - Speaker Deck byte列の照合を取る際は通常、SequenceEqualメソッドを用いる。比較するReadOnlySpan<byte>が静</byte>…
enumを数値型にキャストして辞書の key にする、というコードを見たのをきっかけ。enumそのままとintにキャストした key で比較。 結論から言えば、単純な get/set のマイクロベンチマークでは有意な差はなかった。 レガシーな環境以外では実益はなさそう? …
実用のうえで、近似した2つの浮動小数点数(この記事ではfloat)を等価として扱いたい場合がある。 Console.WriteLine(0.2f * 0.1f == 0.02f); // False // ⇧ 実用のうえで、True として扱ってほしい 記事現在、標準ではその機能を直接提供するメソッドはな…
null許容型(プロジェクト設定に応じてT?型または参照型)をパターンマッチングでさっと扱うコードを見て、まだ頭に馴染んでなかったと感じたので記事に書いて馴染ませる。 ついでにパターンマッチング以外も整理する。 null 条件演算子 (?. / ?[]) null 合…
自分の認識と少し状況が変わっているという話を見聞きし、まとめて確認。 ラムダ式、インスタンスメソッド、staticメソッド、拡張メソッド、ローカル関数を渡す メンバーやローカル変数をキャプチャしないのを前提 .NET 8 / C# 12 ケースをフォーカスしてし…
本記事は、C# Advent Calendar 2023 12日目参加記事となっています。 11日目:【C#】抽象クラスとインターフェースを併用する理由を考えた by @seiya2130 13日目:ISpanFormattableを使おう by @Shaula C#において、複雑な文字列を組み立てる手段として挙げ…