यह उत्तर तथ्य के बाद लंबा है, लेकिन जब से मैंने इसे Google पर पाया है शायद यह अभी भी किसी की मदद करेगा। मैं सिर्फ यह स्पष्ट करना चाहता हूं कि जेसन और नोटाबिन क्या कह रहे थे: क्लिपिंग गणना करना बहुत आसान है (यह पता लगाना कि आपको क्या देखना चाहिए और क्या नहीं देखना चाहिए क्योंकि आप जिस तरह से देख रहे हैं, वह कितनी दूर है, ect ।)। यह जाँचने के बजाय कि क्या चीजें आपके दृश्य फ्रिज़म की सीमाओं पर विमानों को काटती हैं, आप बस x, y, z सब कुछ की तुलना xMax, xMin, yMax, ect से करते हैं। , क्योंकि आपके पास बस एक घन है। यह थोड़ा अधिक जटिल है यदि आप केवल कुछ दिखाने का हिस्सा चाहते हैं, लेकिन गणित अभी भी एक इकाई के साथ एक घन के साथ बेहतर है।
एक दंपति की बातें जो मुझे अन्य उत्तरों में भ्रामक लगीं:
-आप हताशा के दृश्य से किनारा नहीं कर रहे हैं, आप इसे समरूप मैट्रिक्स परिवर्तनों का उपयोग करके क्यूब में वार करने की तरह हैं।
-हम इस कदम के साथ एक 2D स्क्रीन में परिवर्तित नहीं कर रहे हैं। ऐसा करने के लिए यह कदम आवश्यक नहीं है। सैद्धांतिक रूप से हम अपने सभी काम पहले बिना घन में परिवर्तित किए कर सकते हैं, जो अधिक सहज लेकिन कठिन गणित होगा - लेकिन ग्राफिक्स सभी गणनाओं को वास्तव में तेजी से करने के बारे में हैं क्योंकि औसत खेल के लिए प्रति सेकंड बहुत सारी गणना होती है या जो भी हो।
अधिक विस्तार से: यह जरूरी नहीं कि एक यूनिट क्यूब है जिसे हम परिवर्तित कर रहे हैं, यह हमारे काम करने के लिए अधिकतम-न्यूनतम गणनाओं के लिए एक आयताकार बॉक्स होना चाहिए। वास्तव में कक्षा में हमने एक बॉक्स का उपयोग किया था, जहाँ कैमरा z- अक्ष से नीचे की ओर जाता है, z 0 से 1 तक जाता है, x -1 से 1 तक जाता है, और y -1 से 1 तक जाता है। सामान्य रूप से गणित 1, 0 में और -1 गणनाओं को आसान बनाने के लिए अच्छे नंबर हैं, मेरा मानना है कि हम -100 से 100 या कुछ और क्यों नहीं करते हैं।
TLDR: यह क्लिपिंग को आसान बनाता है।
संपादित करें: bobobobo का सार है। सब कुछ त्रिकोण है, आम तौर पर: डी।
स्रोत: एक विश्वविद्यालय ग्राफिक्स वर्ग लेना