Có ai biết cách bật trộn trong OpenGL (android) trên HTC Desire không. Tôi đang cố vẽ các hình tam giác màu và sử dụng giá trị alpha của bộ đệm màu để trộn chúng với nền (hoặc hình tam giác khác).Tại sao phối hợp OpenGL không hoạt động trên HTC Desire?
Nó hoạt động cả trên trình mô phỏng (2.1) và trên một anh hùng htc 2.1 nhưng không theo mong muốn của tôi với 2.2. Có một số khác biệt phần cứng giữa một anh hùng và một mong muốn gây ra điều này?
Các công cụ chính từ mã là (không theo thứ tự):
gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
gl.glEnable(GL10.GL_BLEND);
gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA);
private final static float[] colors = {
1f, 0f, 0f, 0.5f, // point 0 red
1f, 0f, 0f, 0.5f, // point 1 red
1f, 0f, 0f, 0.5f, // point 2 red
1f, 0f, 0f, 0.5f, // point 3 red
1f, 0f, 0f, 0.5f, // point 4 red
1f, 0f, 0f, 0.5f, // point 5 red
1f, 0f, 0f, 0.5f, // point 6 red
1f, 0f, 0f, 0.5f, // point 7 red
};
PS. Tôi có thể cung cấp thêm mã nếu ai đó cần ...
Tôi đoán rằng Desire không thực hiện chức năng. Không giống như Direct3D, nó rơi trở lại vào phần mềm rendering, với OpenGL nếu một chức năng của không được thực hiện nó chỉ không hoạt động. Hoặc ít nhất đó là cách nó được sử dụng để làm việc. – ChrisF
Vấn đề là trộn hình tam giác với kết cấu dường như hoạt động trên Desire. Nhưng không phải khi sử dụng bộ đệm màu. – Sunkas
Chính xác điều ngược lại là đúng .. Với DirectX nếu một tính năng được báo cáo là được hỗ trợ, nó sẽ được thực hiện trong phần cứng. Với OpenGL (bao gồm GL | ES), một tính năng không phải là phần mở rộng phải được hỗ trợ. Nếu không có trong phần cứng, thì trong phần mềm. Đối với việc trộn alpha OpenGL | ES 1.0 là bắt buộc. –