ฉันไม่รู้ว่าฉันกำลังทำอะไรผิดพลาดหรือไม่ทำอะไรเลย แต่ฉันต้องการจำลองแสงของดวงอาทิตย์เช่นในวันแดดจ้า
เมื่อวัตถุหันหน้าไปทางแสงไฟส่องสว่างและไม่มีปัญหาเกิดขึ้น ถ้าฉันเดินไปรอบ ๆ วัตถุแล้วมองกลับมันมืด มันไม่มืดมากเพราะฉันใช้GL_AMBIENT
แต่มันมืดเกินไปสำหรับวันที่แดดจัด ถ้าฉันเพิ่มมูลค่ามันจะไม่ดูดีไปกว่านี้เพราะด้านของวัตถุที่หันหน้าไปทางแสงจะสว่างเกินไป
และยังมีอีกปัญหาที่น่ารำคาญกับแสงโดยรอบเมื่อมองที่ด้านหลังของวัตถุฉันไม่เห็นรูปร่างใด ๆ เพียงสีธรรมดา ยากที่จะอธิบายนี่คือภาพบางส่วน:
หน้าวัตถุ: http://i.stack.imgur.com/YW53X.png
กลับด้านวัตถุ: http://i.stack.imgur.com/Qufha.png
อย่างที่คุณเห็นได้ง่ายด้านหน้าด้านหน้าดูดีคุณสามารถเห็นรูปร่างของสิ่งแดงนั้น ด้านหลังมันธรรมดาคุณไม่สามารถเห็นรูปร่างเดียวกัน
ตอนนี้ฉันรู้แล้วว่าฉันกำลังดูที่ด้านหลังของวัตถุและฉันกำลังมองไปในทิศทางของแสงและมันควรจะมืดกว่าด้านหน้า แต่มันก็ไม่ควรดูธรรมดาแบบนี้ นั่นไม่ใช่สิ่งที่เราเห็นเมื่อเปรียบเทียบกับแสงของดวงอาทิตย์ที่มองวัตถุบางอย่างเราเห็นว่าวัตถุนั้นมีรูปร่าง
ฉันจะมีผลเหมือนกัน (หรือคล้ายกัน) ใน OpenGL ได้อย่างไร
ปัจจุบันแสงของฉันถูกกำหนดเช่นนี้:
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);