MasatoMakino / threejs-shader-materials

Collection of shader materials for three.js
MIT License
291 stars 26 forks source link

独自チャンクのテンプレートリテラル化 #74

Closed MasatoMakino closed 1 month ago

MasatoMakino commented 6 months ago

three.jsのincludeを利用せずとも、GLSLの文字列展開自体は可能。 よりわかりやすくするため、テンプレートリテラルとimportを併用して、どのファイルから読み込んだのかとタイプミスの静的チェックをする。

MasatoMakino commented 1 month ago

three.jsではWebGPUのサポート拡大に伴い、TSL(TypeScript Shader Language)への移行が開始された。 https://github.com/mrdoob/three.js/wiki/Three.js-Shading-Language https://threejs.org/examples/?q=tsl#webgpu_tsl_transpiler

TSLはWebGLとWebGPUのシェーダー言語のJavaScriptラッパーである。実行時に実行環境に合わせてシェーダー言語に変換される。

こうした動きがあるため、このプロジェクトで積極的な最適化は行わない。