勾配は新しい区間:複雑なSDFモデルを効率的にレンダリングする新しい手法

2025-05-31

このブログ投稿では、符号付き距離関数(SDF)に基づく複雑なモデルを効率的にレンダリングするための新しい手法を探ります。SDFのLipschitz特性を利用して、単一点評価を用いて擬似区間結果を得て、従来の区間演算手法と組み合わせます。これにより、区間演算の保守性を回避し、複雑な変換をより効率的に処理することで、パフォーマンスが大幅に向上します。Lipschitz連続でない距離場には追加の正規化が必要ですが、全体的な効率は従来の方法を上回り、複雑なモデルのインタラクティブな視覚化のための新しい道を開きます。

続きを読む
開発

プロスペロ・チャレンジ:極めて高速な陰関数曲面のレンダリング

2025-03-24
プロスペロ・チャレンジ:極めて高速な陰関数曲面のレンダリング

プロスペロ・チャレンジは、7866個の数学式で定義された陰関数曲面をできるだけ高速にレンダリングすることを開発者に求めています。参加者は、式の事前解析、Numbaによる高速化、GPU計算、LLVMコンパイルなど、さまざまな最適化手法をPython、Numpy、CUDA、JITコンパイラなどのツールを用いて探求しています。 解決策はミリ秒単位のレンダリング時間と大幅なメモリ消費量削減を実現しました。このチャレンジは、陰関数曲面レンダリング技術の進歩を促進するために、実験と結果の共有を奨励しています。

続きを読む
開発

テストスイートの美しさによって導かれる:Rust、Uxn、そして厳格なエンジニアリングの物語

2025-01-21

昨年夏、筆者はRaven、Uxn CPUとVaravaraオーケストレーターの独立した実装をリリースしました。最近、安定性とパフォーマンスを向上させるために、GitHub Actions CI、スナップショットテスト、静的パニック防止、ファジングを含む堅牢なテストインフラストラクチャを構築しました。この記事では、これらのテストを構築する際に遭遇した課題と解決策、例えばGitHub ActionsのWindowsとARMランナーの信頼性問題、パニックの不在を静的に証明することとファジングにおける落とし穴について詳しく説明します。筆者はRavenのパフォーマンスと信頼性を向上させ、クロスプラットフォームの移植性を確保することに成功しました。この取り組みは、堅牢で正確なシステムを作成するためのRust、cargo-fuzz、そして(ため息)GitHub Actionsのパワーを浮き彫りにしています。

続きを読む
開発

Fidget:大規模な数学式のための高性能Rustライブラリ

2025-01-08

Fidgetは、大規模な数学式を表現、コンパイル、評価するためのRustライブラリです。主に陰関数曲面のために設計されていますが、その柔軟性から様々な用途に使用できます。Fidgetは、フロントエンド(スクリプトからバイトコードへ)、バックエンド(高速で柔軟な評価)、アルゴリズム(レンダリングとメッシュ化)の3つのレイヤーで構成されています。中心的な革新は、区間演算とトレースの簡素化を組み合わせることで、大規模な式を効率的に処理し、JITコンパイルによってさらにパフォーマンスを向上させることです。WebベースのGUIを含む様々なデモを提供し、自動微分と区間演算をサポートしています。

続きを読む