2011-12-20 36 views
32

Tôi đang tìm hiểu cách học OpenGL ES 2.0 trên Android và các hướng dẫn mà tôi đã tìm thấy gần như tất cả để sử dụng SDK with Java. Tôi muốn sử dụng mã nguồn gốc tuy nhiên vì vậy tôi muốn làm điều đó thông qua NDK. Hướng dẫn/ví dụ duy nhất tôi đã tìm thấy là mẫu trong công cụ NDK.Android - hướng dẫn cho OpenGL ES 2.0 bằng cách sử dụng NDK?

Tôi có thể tìm thấy một số hướng dẫn NDK OpenGL ES 2.0 ở đâu? Nếu không có hướng dẫn tốt, bạn có thể sử dụng hướng dẫn Java OpenGL để tìm hiểu cách sử dụng nó trong NDK không? Ví dụ, làm các phương thức ánh xạ 1: 1 từ java sang native?

+5

Câu hỏi hay. Thật tiếc là không có câu trả lời. –

+1

Tôi đang ở trong tình trạng tương tự tại thời điểm này. Bạn có tìm thấy gì không? – ains

Trả lời

18

Tôi đã tạo ví dụ về cách kết hợp UI được thực hiện bằng Java với mã NDK gốc làm tất cả hiển thị OpenGL. Có thể thực hiện mà không cần đến các lời gọi GLSurfaceView và JNI để hiển thị từng khung giống như được thực hiện trong mẫu NDK.

Xem mã tại https://github.com/tsaarni/android-native-egl-example

+0

Công việc tuyệt vời, tôi đã thử nghiệm mẫu, thực sự hữu ích, cảm ơn, nhưng, có một vấn đề trên cùng một thiết bị, khi tôi thiết lập screenOrientation để cảnh quan, có vẻ opengl không rendering ..., – chengpei

+0

Cảm ơn! Bạn có thể đăng vấn đề vé trên trang dự án và đính kèm logcat logcat? Rất tiếc, tôi không có quá nhiều thiết bị để kiểm tra ... – tsaarni

+1

@tsaarni, Bạn có chắc chắn rằng dự án của bạn sử dụng 'OpenGL ES 2.0'? – CAMOBAP

4

Kiểm tra this link. Nó liên quan đến các vấn đề NDK và OpenGL, cũng như một số khác liên quan đến lập trình công cụ trò chơi và hơn thế nữa. Tôi thấy nó rất thú vị và hữu ích.

+2

đã chết ... –

0

Google có dự án mẫu trên GitHub thể hiện cách thiết lập ngữ cảnh EGL từ mã gốc, sử dụng SurfaceView được tạo bằng Java: Teapots sample. Đặc biệt, hãy xem ứng dụng và mã "nhiều hơn" trong ndk_helper để tạo ngữ cảnh.

Nếu bạn muốn làm việc mà không cần bất kỳ mã Java, sau đó mẫu này sẽ giúp bạn bắt đầu: native activity

Edit: thêm vào đó, liên kết này cung cấp cho một cái nhìn tổng quan mức độ cao hơn về mối quan hệ giữa Java Surface, đó là đối tác bản địa và EGL : EGLSurfaces and OpenGL ES

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