マイク・C・フレッチャー:OpenGLの押し出し(およびテセ... ノート

マイク・C・フレッチャー:OpenGLの押し出し(およびテセレーション)

新しいライブラリ opengl_extrusions をリリースしました。これは Numpy と Cython で構築されたライブラリで、3D の押し出し(GLE ライブラリのようなもの)とテセレーション(GLU ライブラリが行うことの一つ)を行います。GLE ライブラリは互換性コンテキスト(「レガシー OpenGL」と考えてください)に制約されており、最新のコアプロファイルコンテキストでは動作しないため、これが動機となりました。このライブラリは GLE とは全く異なる API を持っていますが、同じジョブを実行し、与えられた入力に対して同じ最終形状を作成することを検証する適合性スイートを備えています。API は(おそらくよりクリーンな)API ですが、新しい API では glTF オブジェクトの構築に使用するものと全く同じ構造、つまり点の配列とインデックスポインタが返されます。テセレーションは CDT アルゴリズムで処理されます。これは GLU のテセレーターが使用するものとは異なります。GLU は一部のプラットフォーム(Mac)で非推奨になっているため、最終的には移行する必要があります。これはそのための単なる一部ですが、有用な一部です。CDT の最大の利点は、レンダリングのアーティファクトを引き起こしやすい、長くて尖った三角形を回避できることです。このライブラリは完全に LLM コードで書かれていますが、ドキュメントはあちこちで調整しました。