Saya membuat game berbasis sprite, dan saya memiliki banyak gambar yang saya dapatkan dalam resolusi sangat besar dan saya menskalakannya ke ukuran sprite yang diinginkan (misalnya 64x64 piksel) sebelum mengubahnya menjadi sumber daya game, jadi ketika menggambar saya sprite di dalam gim, saya tidak harus mengukurnya.
Namun, jika saya memutar sprite kecil ini di dalam gim (engine agnostically), beberapa piksel tujuan akan diinterpolasi, dan sprite akan terlihat tercoreng.
Ini tentu saja tergantung pada sudut rotasi serta algoritma interpolasi, tetapi terlepas dari itu, tidak ada cukup data untuk sampel dengan benar piksel tujuan tertentu.
Jadi ada dua solusi yang bisa saya pikirkan. Yang pertama adalah menggunakan gambar besar asli, memutarnya ke sudut yang diinginkan, dan kemudian turunkan semua variasi reaulting, dan letakkan di atlas, yang memiliki keuntungan karena cukup sederhana untuk diimplementasikan, tetapi secara naif mengkonsumsi sprite dua kali lebih banyak ruang untuk setiap rotasi (setiap rotasi harus ditulis dalam lingkaran yang diameternya adalah diagonal dari persegi panjang sprite asli, yang luasnya dua kali dari persegi panjang asli, seandainya sprite persegi).
Ini juga memiliki kekurangan hanya memiliki seperangkat rotasi yang tersedia, yang mungkin oke atau tidak tergantung pada gim.
Jadi pilihan lain adalah menyimpan gambar yang lebih besar, dan memutar dan menurunkan skala saat rendering, yang mengarah ke pertanyaan saya.
Berapa ukuran optimal untuk sprite ini? Arti optimal bahwa gambar yang lebih besar tidak akan berpengaruh pada gambar yang dihasilkan.
Ini jelas tergantung pada ukuran gambar, jumlah rotasi yang diinginkan tanpa kehilangan data hingga 1/256, yang merupakan perbedaan warna minimum yang dapat diwakili.
Saya mencari jawaban umum teoretis untuk masalah ini, karena mencoba banyak ukuran mungkin baik-baik saja, tetapi masih jauh dari optimal.