알파를 0.5로 변경하려는 OpenGL ES 장면 (버전 1.1)에 질감이있는 객체가 있습니다. 모델의 투명성이 변경되지OpenGL ES 객체의 알파 값 변경 - GL_BLEND - 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
편집
내 텍스처 JPG를하다하다, 제대로 화면에 표시됩니다. PNG로 저장해야합니까?
아무도 내가 이것을 고칠 수있는 방법을 발견 할 수 있습니까?
감사합니다.
감사합니다. 위의 코드에서 변경된 내용을 추가했지만 아무 것도 화면에 표시되지 않습니다. – GuybrushThreepwood
또한 glTexEnvi의 기본값은 GL_MODULATE이므로 다른 곳에서 변경하지 않으면이 값을 설정할 필요가 없습니다. – GuybrushThreepwood