MShaderManager::getEffectsFileShader() または MShaderManager::getEffectsBufferShader() を使用して .ogsfx シェーダ インスタンスをロードするときに、シェーダがビューポートにレンダリングされず、エラーが表示されません。
どうすればシェーダ コンパイル エラーを取得できますか?
.ogsfx シェーダをロードするときに、MShaderManager::getEffectsFileShader() を呼び出した場合、エラーは作成時ではなくバインド時に起こります。MShaderInstance.bind() を呼び出してシェーダ インスタンスを描画コンテキストにバインドし、次に MShaderManager::getLastError() または MShaderManager::getLastErrorSource() を呼び出してエフェクトのコンパイル エラーをレポートします。
または、シェーダに次のプラグマを設定すると、作成時にエラーが発生します。
#pragma FullCompileOnLoad:true;
次に、MShaderManager::getLastError() または MShaderManager::getLastErrorSource() を呼び出してエフェクトのコンパイル エラーをレポートする必要があります。