トップページ
ひらく | たたむ | ページトップ
↓マウスで反転選択した文字を検索
OpenGL
   
ページ内検索 ページ外検索
検索したい文字を入力して
ENTERを押すと移動します。
\n
[ トップページ ]
[ ____CommandPrompt ] [ ____JScript ] [ ____MySQL ] [ ____Cygwin ] [ ____Java ] [ ____Emacs ] [ ____Make ] [ ____Perl ] [ ____Python ] [ ____OpenGL ] [ ____C# ] [ ____StyleSheet ] [ ____C++ ] [ ____Winsock ] [ ____Thread ] [ ____VisualStudio ] [ ____C ] [ ____Win32API ] [ ____Lua ] [ ____PhotoShop ]
ヘッダ検索
___

■ cgGl




___

■ cgDestroyEffect

SYNTAX void cgDestroyEffect( CGeffect effect ); DESC Effect object を破棄する Effect を破棄すると それに関連する Techinique Pass も無効になる
___

■ cgIsEffect

SYNTAX CGbool cgIsEffect( CGeffect effect ); DESC determine if an effect handle references a valid effect
___

■ cgGetLastListing

SYNTAX const char * cgGetLastListing( CGcontext context ); RET NULL: 空だった DESC get the current listing text Cg Compiler , CG_ERROR の情報が取得できる cgGetLastListing(); POINT Context には Error 情報とかもはいっている
___

■ cgGetFirstStateAssignment

SYNTAX cgGetFirstStateAssignment( CGpass pass ) DESC get the first state assignment in a pass // 描画 pass Pass { State } POINT Nest 構造をたどっていく
___

■ cgCreateProgramFromFile

SYNTAX cgCreateProgramFromFile DESC 指定した cg ソースコード, コンパイル済みのオブジェクトから CgProgram を生成する。
    // 相対パスで指定する
    shdV = cgCreateProgramFromFile( ctx, CG_SOURCE, "data/shader/test.vsh", pf, NULL, NULL);

    // 絶対パスで指定する
    shdF = cgCreateProgramFromFile( ctx, CG_SOURCE, "d:/data/shader/test.vsh", pf, NULL, NULL);
___

■ エラーチェック

___

■ cgGetError

SYNTAX CGerror cgGetError( void ); DESC エラーステートを取得する。 cgGetError() をコールするとエラー状態はリセットされる。
    CGerror err = cgGetError();
    assert( err == CG_NO_ERROR );
___

■ cgSetErrorCallback

SYNTAX typedef void (*CGerrorCallbackFunc)( void ); void cgSetErrorCallback( CGerrorCallbackFunc func ); DESC Cg ランタイムエラーが発生した時にコールバックされる関数を設定する。
    void MyErrorCallback() {
      const char* s = cgGetErrorString( cgGetError() );
      printf( "ERROR: Cg Runtime msg = %s\n", s );
    }
    cgSetErrorCallback( MyErrorCallback );
___

■ cgGetErrorString

SYNTAX const char * cgGetErrorString( CGerror error ); DESC エラーコード値からエラー文字列を返す。
___

■ cgGetNamedParameterAnnotation

SYNTAX CGannotation cgGetNamedParameterAnnotation( CGparameter param,const char * name ); RET NULL : なかった CG_INVALID_PARAM_HANDLE_ERROR is generated if param is not a valid parameter. DESC 名前, parameter を指定して CGannotation をえる
___

■ cgGetFirstTechnique

SYNTAX CGtechnique cgGetFirstTechnique( CGeffect effect ); RET CG_INVALID_EFFECT_HANDLE_ERROR( if effect is not a valid effect ) DESC Effect の最初の Techinique をえる
    // effect 内の すべての Technique を Iterate するときに使う
    CGeffect effect = cgCreateEffectFromFile(context, cgfx_filename, NULL);
    CGtechnique technique = cgGetFirstTechnique(effect);

    while (technique) {
      // Do something with each technique

      // 有効かを調べる
      // CGbool cgValidateTechnique( CGtechnique tech );
      if ( cgValidateTechnique(tech) ) {
        // 名前をえる
        printf("ERR: %s", cgGetTechniqueName(tech) );
      }


      // 次の Tech へ
      technique = cgGetNextTechnique(technique);
    }
___

■ cgGetNamedParameter

SYNTAX CGparameter cgGetNamedParameter( CGprogram, const char *name ) DESC 指定 shader Program から uniform data へのハンドルを取得 RET null : 指定した Parameter がない !null : ParameterHandle TIP RetVal で Shader 内に, どの UniParam があるか確認可能.
    // Vertex Program から ModelViewProj を取得してセット
    param = cgGetNamedParameter( vp, "ModelViewProj")

    Matrix m;
    cgGLSetMatrixParameterfr( param, m.f );

___

■ cgGLSetMatrixParameter

SYNTAX DESC uniform 型行列( 4 X 4 行列 )パラメータの設定をする。 r 接尾辞 行優先の順序で配置されていることを想定 c 接尾辞 行列が列優先の順序で配置されていることを想定する
___

■ cgGLSetStateMatrixParameter

SYNTAX void cgGLSetStateMatrixParameter( CGparameter param, GLenum type, // 行列の種類 GLenum transform // 追加の変換処理 ); DESC OpenGL の行列を直接わたす。 POINT 列, 行の指定はなく、Cg 側では列優先として行列が設定される。 つまり、位置を取得するには 第3列の値をとる。
  cgGLSetStateMatrixParameter( 
                              param,
                              CG_GL_MODELVIEW_MATRIX,
                              CG_GL_MATRIX_INVERSE
                              );
    uniform float4x4 eyepos;

    // 視線ベクトル
    E = float4( eyepos[0][3], eyepos[1][3], eyepos[2][3], eyepos[3][3] ) - IN.pos;
合成行列 CG_GL_MODELVIEW_PROJECTION_MATRIX モデルビュー行列 CG_GL_MODELVIEW_MATRIX 射影行列 CG_GL_PROJECTION_MATRIX 現在のテクスチャ CG_GL_TEXTURE_MATRIX パラメータ値の設定に使用する前にステートの行列に適用する変換を指定 変換を適用しない CG_GL_MATRIX_IDENTITY 行列を転置する CG_GL_MATRIX_TRANSPOSE 行列を逆にする CG_GL_MATRIX_INVERSE 行列に逆と転置の両方する CG_GL_MATRIX_INVERSE_TRANSPOSE cgGLGetParameter1f(CGparameter parameter, float* array); cgGLGetParameter1d(CGparameter parameter, double* array); cgGLGetParameter2f(CGparameter parameter, float* array); cgGLGetParameter2d(CGparameter parameter, double* array); cgGLGetParameter3f(CGparameter parameter, float* array); cgGLGetParameter3d(CGparameter parameter, double* array); cgGLGetParameter4f(CGparameter parameter, double* array); cgGLGetParameter4d(CGparameter parameter, type* array); void cgGLSetMatrixParameterfr(CGparameter parameter, const float* matrix); void cgGLSetMatrixParameterfc(CGparameter parameter, const float* matrix); void cgGLSetMatrixParameterdr(CGparameter parameter, const double* matrix); void cgGLSetMatrixParameterdc(CGparameter parameter, const double* matrix); void cgGLSetMatrixParameterArray{fd}{rc}( CGparameter param, long offset, long nelements, const TYPE * v ); cgGLSetParameterArray
___

■ パラメータ(parameter)

___

■ cgGLSetParameterArray4

SYNTAX cgGLSetParameterArray4( CGparameter param, long offset, // 配列 v の開始オフセット( 先頭からなら 0 ) long nr, // float4 型配列の要素数 const float * v // データ ); DESC 配列型パラメータに値をセットする。
    // スキニング行列を設定する。

    float m[] = {
          1, 0, 0, 200, 
          0, 1, 0, 0, 
          0, 0, 1, 0, 
          0, 0, 0, 1, 
          1, 0, 0, -400, 
          0, 1, 0, 0, 
          0, 0, 1, 0, 
          0, 0, 0, 1, 
    }

    param = cgGetNamedParameter( shdV, "m");
    cgGLSetParameterArray4f( param, 0, 2*4, m );
    v2f main(
            app IN,
            uniform float4 m[4*2]
            )
    {
      float4x4 mtx = float4x4( m[0],
                               m[1],
                               m[2],
                               m[3] );

      float4 pos = mul( mtx, IN.pos );
    }
___

■ cgGLSetParameter4fv

SYNTAX void cgGetNamedParameter( CGparameter, float *) DESC float N 型値をセットする
___

■ cgGLSetParameter

SYNTAX cgGLSetParameter

      CGparameter p = cgGetNamedParameter( db.createShd( "pe_dof.fsh" ), "testparam" );
      cgGLSetParameter4f( p, 1, 1, 0, 1 );

___

■ cgGetArraySize

SYNTAX int cgGetArrayDimension(CGparameter parameter); int cgGetArraySize( CGparameter p, int d ); CGparameter cgGetArrayParameter(CGparameter p, int idx ); DESC case CG_ARRAY: { // 0 次元目の 要素数 をかえす // // // // int arraySize = cgGetArraySize(p, 0); myas( 0, "not impl Array size %d", arraySize );






金利比較.COM
NINJAIDX 9