Tôi có kết cấu với alpha. Và tôi muốn tô màu nó với một số màu, vì vậy nó sẽ được tô màu tùy thuộc vào giá trị alpha màu, nhưng độ mờ ngang sẽ chỉ được xác định bởi kết cấu alpha.OpenGL ES: Cách kết cấu màu với màu
Điều này tương tự như đa văn bản nhưng có màu thay vì kết cấu thứ hai. Cách thực hiện?
(Đã cập nhật) Tôi đã cố gắng thiết lập bộ kết hợp kết cấu. Màu sắc được tô màu tốt, nhưng có vấn đề với alpha - nó không có giá trị từ kết cấu (như mặt nạ). Mã của tôi tại thời điểm này:
glActiveTexture (GL_TEXTURE0); // do we need stage #1?
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE);
glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_INTERPOLATE);
glTexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, (GLfloat*) &tintColor_);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC0_RGB, GL_TEXTURE);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC1_RGB, GL_CONSTANT);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC2_RGB, GL_CONSTANT);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_RGB, GL_SRC_COLOR);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND1_RGB, GL_SRC_COLOR);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND2_RGB, GL_ONE_MINUS_SRC_ALPHA);
// this doesn't work for alpha:
glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_ALPHA, GL_REPLACE);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC0_ALPHA, GL_TEXTURE);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_ALPHA, GL_SRC_ALPHA);
Ảnh chụp màn hình:
Không pha màu:
Tint với RGBA = (0, 0,5, 1, 0.5):
Mã của bạn dường như đúng với tôi. Bạn có thể vui lòng đính kèm ảnh chụp màn hình của sự cố alpha hoặc mô tả điều gì không tốt với nó. – iHunter
Bạn có thể tải lên kết cấu không? –
Ngoài ra, hãy hiển thị mã? –