2012-06-13 15 views
5

Tôi muốn thực hiện một số xử lý hình nền bằng OpenGL ES 2 và trình đổ bóng, nhưng không vẽ lên bề mặt (tức là hiển thị trên màn hình chỉ với bộ đệm khung). Trong khi tôi đã làm như vậy trên iOS, tôi đang đấu tranh với điều này trên Android.Xử lý hình ảnh OpenGL trên Android - không có SurfaceView

Tôi nghĩ mình sắp tạo bối cảnh OpenGL đang hoạt động nhưng chưa tìm ra cách thực hiện mà không có SurfaceView.

Trả lời

3

Hãy xem this gamedev post (nhấp vào mở rộng để xem mã hoàn chỉnh). Mã tạo ngữ cảnh GL và sử dụng giao diện GLSurfaceView.Renderer để cho phép viết một trình kết xuất phù hợp. Khi gọi số getBitmap(), trình kết xuất được gọi để vẽ khung, sau đó được đọc lại và chuyển đổi thành bitmap.

Lưu ý rằng có featured question, điều mà bạn cũng có thể quan tâm.

+0

Điều này có vẻ rất thú vị, Cảm ơn bạn! – CSmith

+0

Thực ra những gì tôi quan tâm là tạo trực tiếp ngữ cảnh OpenGL ES 2.0 và tránh GLSurfaceView và Renderer hoàn toàn ... điều này không hoàn toàn khiến tôi ở đó, mặc dù nó cho phép tôi tạo ngữ cảnh, lớp tĩnh GLES20 không Biết về nó. Tôi hỗ trợ tôi có thể sử dụng NDK thay vì để hiển thị ngoài màn hình ... – CSmith

+0

Lớp bên trong không chia sẻ gì với GLSurfaceView ngoại trừ giao diện Trình kết xuất đồ họa. Bạn hoàn toàn có thể từ bỏ GLSurfaceView.Renderer và thay vào đó bạn có sở hữu nội dung. –

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