Tôi hiện đang viết một ứng dụng Android hoạt động với OpenGL ES 1.1. Nó hoạt động tốt trên HTC Desire của tôi (Android 2.3.7), nơi tôi đã phát triển nó. Bây giờ tôi muốn thử nghiệm nó trên Nexus 7 nhưng nó chỉ hiển thị một màn hình màu đen. Tôi phát hiện ra rằng tất cả các họa tiết đều đơn giản là màu đen. Trên các phần không có đối tượng và không có kết cấu nào được hiển thị, tôi nhận được màu nền (gần như) màu đen.Kết cấu chỉ hiển thị trên một số thiết bị
Vì vậy, câu hỏi của tôi là tại sao các họa tiết được hiển thị tốt trên một số thiết bị chứ không phải trên các thiết bị khác?
Kết cấu đều là bậc hai với công suất kích thước là 2 (tức là 512x512, 1024x1024). Đây là các cài đặt được sử dụng khi kết cấu được tạo:
gl.glBindTexture(GL10.GL_TEXTURE_2D, getTextureId());
// Create Nearest Filtered Texture
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER,
GL10.GL_LINEAR);
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER,
GL10.GL_LINEAR);
// Different possible texture parameters, e.g. GL10.GL_CLAMP_TO_EDGE
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S,
GL10.GL_CLAMP_TO_EDGE);
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T,
GL10.GL_REPEAT);
gl.glTexEnvf(GL10.GL_TEXTURE_ENV, GL10.GL_TEXTURE_ENV_MODE, /*GL10.GL_REPLACE*/ GL10.GL_MODULATE);
// Use the Android GLUtils to specify a two-dimensional texture image
// from our bitmap
GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, bitmap, 0);
Tôi có thể thử kết cấu được hiển thị trên cả hai thiết bị?
vì vậy tôi cần thêm thư mục "drawables-nodpi"? Cho đến bây giờ tôi chỉ có ldpi, mdpi, hdpi và xhdpi ... Mặc dù chúng là tất cả ... – evident
Ahh tôi đã tìm thấy nó: Tôi cần một thư mục draw-tvdpi với kết cấu ... Khi tôi tạo một thư mục với tên này và đặt các kết cấu trong đó nó hoạt động tốt ... :) Cảm ơn bạn! – evident
Bất kỳ thứ gì bạn đưa vào một thư mục có tên là 'drawable-nodpi' sẽ không bao giờ được thu nhỏ. Vì vậy, kết cấu 1024x1024 sẽ luôn là 1024x1024. Nếu bạn chỉ bán kết cấu giống nhau vào 5 thư mục khác nhau thật sự lãng phí @evident. – Tim