2011-10-25 30 views
6

Tôi đã tìm thấy 5349574673 trang về trộn alpha và tôi vẫn không thể nhận được kết quả mong muốn. Tôi đang cố gắng tạo các tệp gif/png hiển thị đúng (CÓ độ trong suốt/mờ) bằng cách sử dụng opengl.Kết hợp alpha OpenGL

Dưới đây là chút khởi của tôi:

glEnable(GL_TEXTURE_2D); 
glEnable(GL_BLEND); 
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); //I've seen this on most tutorials 
glDisable(GL_DEPTH_TEST); //it's a 2D game 
//...loading matrices and so on 

Tôi chắc chắn những hình ảnh có tính minh bạch, và được nạp đúng cách.
glBlendFunc (GL_ONE, GL_ONE); hoạt động nhưng tôi không thể biết liệu nó có làm bất cứ điều gì trên kênh alpha vì nó sẽ hiển thị như màu đen => pha trộn hoạt động
glColor4f (1f, 1f, 1f, 0.3f); hoạt động tốt, tôi có thể vẽ các thứ trong suốt

P.S. Tôi đang sử dụng ví dụ này http://lwjgl.org/wiki/index.php?title=Space_Invaders_Example_Game cho việc học

EDIT tôi đã sử dụng kết cấu khác đã mã hóa với GIMP và bộ tải kết cấu khác và bây giờ hoạt động tốt.

+0

Đăng hình ảnh. Mã init trông ok. –

Trả lời

5

Thiết lập kết hợp của bạn là chính xác. Tuy nhiên để pha trộn để làm việc kết cấu phải chứa một kênh alpha, đúng giá trị của khóa học. Và sau đó dữ liệu kênh alpha phải được bảo toàn bằng quá trình tải hình ảnh. Chúng tôi có thể xem mã tạo hình ảnh và kết cấu hình ảnh không?

Các vấn đề liên quan