glTexEnv

gltexenv.png

OpenGL3以降廃止になっています。変わりにフラグメントシェーダを使って実現しましょう。

glTexEnv(target,pname,param)

target

  • GL_TEXTURE_FILTER_CONTROL
  • GL_TEXTIRE_ENV
  • GL_POINT_SPRITE

のいずれか。

pname,param

target pname param 意味 フラグメントシェーダでやるなら
GL_TEXTURE_FILTER_CONTROL GL_TEXTURE_LOAD_BIAS float….LODのパラメータに使う。
GL_TEXTURE_ENV GL_TEXTURE_ENV_MODE GL_DECAL
GL_REPLACE そのまま利用 glFragColor=texture(samplder, uv);
GL_MODULATE 乗算
GL_BLEND1
GL_ADD 加算
GL_COMBINE2
GL_TEXTURE_ENV_COLOR float[4]={R,G,B,A}….GL_BLENDで使う。
GL_COMBINE_RGB GL_COMBINEで使う。
GL_COMBINE_ALPHA GL_COMBINEで使う。
GL_POINT_SPRITE GL_COORD_REPLACE GL_TRUE
GL_FALSE

glColorで色をつけつつテクスチャで陰影をつけるテクニック

glTexEnvf(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_COMBINE);
 
        glTexEnvf(GL_TEXTURE_ENV,GL_COMBINE_RGB,GL_MODULATE);
        glTexEnvf(GL_TEXTURE_ENV,GL_COMBINE_ALPHA,GL_MODULATE);
 
        glTexEnvf(GL_TEXTURE_ENV,GL_SRC0_RGB,GL_TEXTURE);
        glTexEnvf(GL_TEXTURE_ENV,GL_SRC1_RGB,GL_PRIMARY_COLOR);//glColor
 
        glTexEnvf(GL_TEXTURE_ENV,GL_SRC0_ALPHA,GL_TEXTURE);
        glTexEnvf(GL_TEXTURE_ENV,GL_SRC1_ALPHA,GL_PRIMARY_COLOR);

opengl-deprecated

サポートサイト Wikidot.com opengl-deprecated