私は0.5にアルファを変更するための私のOpenGL ESのシーン(バージョン1.1)でのテクスチャオブジェクトを持っています。は、OpenGL ESオブジェクトのアルファ値を変更するiPhone
私は、次のコードをしようとしています:
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_NORMAL_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
glEnable(GL_BLEND);
glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
glColor4f(1.0, 1.0, 1.0, 0.5);
glVertexPointer(3, GL_FLOAT, 0, vertexes);
glNormalPointer(GL_FLOAT, 0, normals);
glTexCoordPointer(2, GL_FLOAT, 0, textures);
GLfloat ambientAndDiffuse[] = kAmbience;
glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, ambientAndDiffuse);
GLfloat specular[] = kSpecular;
glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, specular);
glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, kShininess);
GLfloat emission[] = kEmission;
glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, emission);
glDrawElements(GL_TRIANGLES, vertexCount, GL_UNSIGNED_SHORT, indices);
glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_NORMAL_ARRAY);
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
glDisable(GL_BLEND);
問題は、モデルの透明度が変化していないということです。モデルが正しく画面上に表示されている、しかし、アルファは1
EDIT
私のテクスチャはJPGのみですまだです。これらをPNG形式で保存する必要がありますか?
どのように私はこれを修正することができますスポット誰ですか?
ありがとうございます。
ありがとうございます - 上記のコードを変更しましたが、この行に追加しましたが、画面上の変更はありません。 – GuybrushThreepwood
glTexEnviのデフォルト値はGL_MODULATEなので、別の場所に変更しない限り、これを設定する必要はありません。 – GuybrushThreepwood