Saya tidak tahu apakah saya melakukan sesuatu yang salah atau melewatkan sesuatu tetapi saya ingin mensimulasikan cahaya matahari, seperti di hari yang cerah.
Ketika objek menghadap cahaya directional, itu menyala dengan baik dan tidak ada masalah di sana. Jika saya berkeliling objek dan melihat kembali, itu gelap. Tidak terlalu gelap karena saya menggunakan GL_AMBIENT
tetapi masih terlalu gelap untuk hari yang cerah. Jika saya meningkatkan nilainya, itu tidak akan pernah terlihat lebih baik karena sisi objek yang menghadap cahaya akan terlalu terang.
Dan ada masalah lain yang mengganggu dengan cahaya sekitar, ketika melihat bagian belakang objek, saya tidak bisa melihat bentuk apa pun, hanya warna polos. Sulit dijelaskan, berikut beberapa gambar:
Obyek Depan: http://i.stack.imgur.com/YW53X.png
Objek Kembali: http://i.stack.imgur.com/Qufha.png
Seperti yang dapat Anda lihat dengan mudah, sisi depan terlihat bagus, Anda dapat melihat bentuk benda merah itu. Di sisi belakang, polos, Anda tidak bisa melihat bentuk yang sama.
Sekarang, saya tahu bahwa saya melihat bagian belakang sebuah objek dan saya melihat ke arah cahaya dan itu harus lebih gelap daripada sisi depan. Tapi seharusnya tidak terlihat begitu polos seperti ini. Bukan itu yang kita lihat ketika melawan cahaya matahari melihat beberapa objek, kita melihat bahwa objek membentuk beberapa bentuk.
Bagaimana saya dapat memiliki efek yang sama (atau serupa) pada OpenGL?
Cahaya saya saat ini didefinisikan seperti ini:
float posLight0[4] = {-1.0f, 1.0f, 1.0f, 0.0f};
float ambLight0[4] = {0.5f, 0.5f, 0.5f, 0.5f};
glLightfv(GL_LIGHT0, GL_POSITION, posLight0);
glLightfv(GL_LIGHT0, GL_AMBIENT, ambLight0);