#include
マクロを使用してシェーダーファイルをglslに含めたくないのですが、ARB_shading_language_include
extension#include
マクロをサポートしていると聞きました。 #include
マクロの使用方法を示すコードスニペットを教えてくれる人はいますか?
shading_language_include について最初に理解する必要があるのは、ではないことです。 「私は#include
afilefrom thedisk。 "OpenGLはファイルが何であるかを知らず、ファイルシステムの概念もありません。
代わりに、含める可能性のあるすべてのファイルをプリロードする必要があります。したがって、シェーダー文字列と、文字列をロードしたファイル名があります。基本的に、OpenGL内で仮想ファイルシステムを構築する必要があります。
glNamedStringARB
を使用して、文字列を仮想ファイルシステムにアップロードします。文字列の名前はそのフルパス名です。
仮想ファイルシステムを構築したら、コンパイルするシェーダーごとに、拡張機能を初期化する必要があります。
#version MY_OPENGL_VERSION //Whatever version you're using.
#extension GL_ARB_shading_language_include : require
後に #extension
ステートメント、あなたは#include
あなたが適切と思うように。
0xbadf00dの質問に答えたいのですが、評判が足りません。
From ARB/shadowing_language_include.txt : "<type>
でなければなりません SHADER_INCLUDE_ARB
"