プログラミング IBLによる間接光を考慮したレンダリングの流れ (未完 前回に続き、単純なランバート+フォンシェーディングからステップアップして、PBR のレンダリング方法を勉強しています。直接光を対象とした計算については、所定の数式や各種テクスチャマップを使えば比較的スムーズに正しいとされる描画が実現できます... 2024.12.01 プログラミング
プログラミング 今時のレンダリングに近づけるために そろそろグラフィックスAPIのレイヤーだけでなく、今時の見た目が描画できるように「レンダリング」をやっていかないと思っていました。昔々は、DirectX や OpenGLを使って、簡単なシェーダーを用意して、ランバートライティングやフォンシ... 2024.11.26 プログラミング
プログラミング シェーダーの要素アライメントの謎 シェーダーコードの作成で、よく躓きがちなのはバッファの要素のアライメントがずれる、という点でしょう。たとえばユニフォームバッファで要素を追加して、C++側とGLSL側、他方でその修正を忘れるとすぐにおかしな状態に突入します。これはまだ気付け... 2024.11.09 プログラミング
その他 技術書典17 新刊情報 : DirectX12 Mastery 2024/11/02 から技術書典16が始まります。前回に続き、オフラインの開催もあり、こちらは11/3 (日) に池袋のサンシャインシティ展示ホールD (文化会館ビル2F)にて行われます。今度は3連休中日というとてもよいタイミングでの開催... 2024.10.31 その他
プログラミング RenderDocでシェーダーデバッグ (Vulkan) シェーダーのデバッグはなかなか大変です。色情報を出力して目視確認というのは基本ですが、ソースコードレベルでステップ実行したいこともあります。 今回 RenderDoc で Vulkan 向けのシェーダーをデバッグできそうだったので紹介します... 2024.10.14 プログラミング
インフラストラクチャ コンテナ内からLAN内へのpingが失敗する Docker Desktop for Windows (4.32.0) を使っていて、コンテナ内からLAN内の別ホストへのpingが失敗するという症状に出遭っていました。Dockerコンテナのping話題はよく見かけますが、コンテナ内から外... 2024.10.04 インフラストラクチャ
インフラストラクチャ Docker DesktopでCUDA (GPU)を使う-2024 以前に、Docker Desktop for Windows があれば、簡単にコンテナでGPU使ったCUDAが使えるようになった!という記事を書きました。つい最近、環境を再構築してみたら少々手間取ったので情報を更新したいと思います。以前の記... 2024.09.28 インフラストラクチャ
インフラストラクチャ Syncthingを外部アクセスなしで使う 便利なSyncthingですが、WAN上のどこかのリレーサーバーを経由して同期する、という部分については好ましくないケースもあると思います。自宅のLAN内でのみ使うので、LAN内に閉じていてほしいとか、開発時のネットワーク内で閉じていてほし... 2024.08.28 インフラストラクチャ
インフラストラクチャ Syncthingを使ってみる なかなか面白いツールを見つけました。Syncthingによって、PC間ファイルの同期を行ってみます。コンテナが用意されているので、こちらをメインで検討します。Syncthing とはSyncthing はコンピュータ間でフォルダ・ファイルを... 2024.08.14 インフラストラクチャ
インフラストラクチャ Docker Desktop (Windows) のネットワーク Docker Desktop for Windows のネットワークの仕組みがとても気になったので、自分なりに調べてみました。一般的に説明されている Docker のネットワーク構造はある程度知っている前提で記載しています。記載していること... 2024.08.01 インフラストラクチャ
インフラストラクチャ dockerによるforgejoサービスの起動 GitリポジトリをホスティングするものとしてGitHubは有名ですが、ローカルの環境にちょっとだけサービスを立てたいという場面もそこそこあるものです。このときの定番と言えば GitLab が候補に挙がりますが、他にもまだ候補となるサービスは... 2024.07.30 インフラストラクチャ
プログラミング RenderDocを使ってブラウザ上のWebGLをデバッグする (2024年版) ブラウザで動作するWebGLを使ったアプリケーションもよく見かけるようになりました。ライブラリやフレームワークも充実して手軽に作ることができるというのも魅力だと思います。その中で、描画処理のデバッグについて困ることがあるのでは?と思いました... 2024.07.23 プログラミング
プログラミング 絵文字あり世代のUnicode事情🧑💻 Unicodeは、文字やその符号化方式を定義する規格です。具体的には、文字集合と文字符号化方式の二つに分けられます。文字集合は、文字とそれに対応するコードポイントの対応表です。一方、文字符号化方式はUTF-8、UTF-16、UTF-32など... 2024.07.12 プログラミング
ハードウェア Raspberry Pi 5とNeoPixel (WS2812B) 本記事は前回記事の続報となります。 Raspberry Pi 5ではGPIOへのアクセスがRP1チップ経由になったことで、 NeoPixel が使えないという話題があるようです。以下の Issue で現時点(2024/07時点)では議論して... 2024.07.07 ハードウェアプログラミング
ハードウェア WS2812BのLEDパネル WS2812Bはチップ内蔵フルカラーLEDです。このLEDを使ったNeoPixelという商品シリーズでAdafruit さんが様々なタイプで販売しています。電子工作で使うにも使いやすくて定番のフルカラーLEDかなと思います。手元で試してみた... 2024.07.06 ハードウェアプログラミング