こんにちは、コンパイル時とリンク時のエラーをチェックするために C で簡単なシェーダー エラー チェッカーを書いています。関数を機能させるのに大きな問題がありglShaderSource()
ます。最初に を使用してコード用のスペースを作成し、malloc(codelength * sizeof(char))
次にこの行を使用して、作成されたシェーダー オブジェクトにソースをアタッチしますglShaderSource(shader, 1, (const char **) &code, NULL);
。問題はこの行にあると思います。NULL
コードの長さを変更しようとしましたが、役に立ちませんでした。シェーダーに関する情報を取得しようとするglGetShaderiv(shader, GL_INFO_LOG_LENGTH, &compileloglength);
と、0が返され、0 が返さglGetShaderiv(shaders[0], GL_COMPILE_STATUS, &compileloglength);
れます。これらのような小さなプロジェクトを行うのが好きなので、関連するコードがない限り、既に存在するシェーダー エラー チェッカーを教えてください。