Bầu trời là một cách khá hay để đi. Bạn sẽ muốn sử dụng một số cube map cho việc này. Về cơ bản, bạn vẽ một khối lập phương xung quanh máy ảnh và vẽ một kết cấu lên bên trong mỗi khuôn mặt của khối lập phương. Tôi tin rằng OpenGL có thể bao gồm điều này trong đường ống chức năng cố định của nó, nhưng trong trường hợp bạn đang sử dụng phương pháp đổ bóng (chức năng cố định không được chấp nhận), bạn sẽ muốn sử dụng các mẫu bản đồ khối lập phương (samplerCUBE trong Cg, không chắc chắn về GLSL). Khi vẽ bản đồ khối lập phương, bạn cũng muốn xóa bản dịch khỏi ma trận modelview nhưng giữ vòng quay (điều này làm cho hộp trời "theo dõi" máy ảnh nhưng cho phép bạn nhìn xung quanh ở các phần khác nhau của bầu trời).
Điều tốt nhất cần làm là vẽ bản đồ khối sau khi vẽ tất cả các đối tượng mờ. Điều này có vẻ lạ bởi vì mặc định bầu trời sẽ chặn các đối tượng khác, nhưng bạn sử dụng thủ thuật sau đây (nếu sử dụng shaders) để tránh điều này: khi viết vị trí đầu ra cuối cùng trong bóng đổ, thay vì viết ra .xyzw, write .xyww . Điều này sẽ buộc bầu trời đến mặt phẳng xa khiến nó ở đằng sau mọi thứ. Ưu điểm của điều này là hoàn toàn có 0 thấu chi!
Đây là một [mẫu bản đồ khối lập phương jogl] (https://github.com/java-opengl-labs/jogl-samples/blob/master/jogl-samples/src/tests/gl_320/texture/Gl_320_texture_cube.java) – elect