2011-06-18 2 views
2

cgコンパイルから詳細なエラーを取得するにはどうすればよいですか?NVIDIA CGからコンパイルエラーを取得するにはどうすればよいですか?

現時点では私のコードのようなものです:

prog = cgCreateProgramFromFile(
    context, 
    CG_SOURCE, 
    filename, 
    proifile, 
    null,null); 
std::cout << cgGetErrorString(cgGetError()); 

しかし、私が得るすべては、「コンパイルがエラーを返しました。」です

OpenGLシェーダのGL_COMPILE_STATUSを使用したglGetShaderivのような、より複雑なエラーメッセージを表示する方法はありますか?

リファレンスには何も見つかりませんが、かなり基本的な要件のようです。

私はエラーをチェックするためのコード生成を行わずに最初にシェーダでcgcを実行していますが、すべてをキャッチしません。

ありがとうございました。

答えて

2

コンパイルエラーの場合は、cgGetError(void)ではなくcgGetLastListing(CGcontext)を使用する必要があります。 cgGetLastListing(CGcontext)用のCgのドキュメントから

各Cgのコンテキストは 警告やエラーメッセージを含む NULLで終了する文字列は、Cgのコンパイラ、状態マネージャーと 等により を生成し維持しています。 cgGetLastListingを使用すると、 のアプリケーションとカスタム状態マネージャー がリストのテキストを照会できます。

cgGetLastListingは、 CGcontextの現行 リスト文字列を返します。 Cgランタイムエラー が発生すると、アプリケーションは適切な コンテキストの のリストテキストを使用して、エラーの詳細情報 をユーザーに提供できます。

+0

ありがとうございます。ありがたいことに、正確に直感的には名前が付けられていない2つのhtmlページを一度に裏返してください。 – DaedalusFall

関連する問題