आप अंक देखते हैं क्योंकि आप glBegin(GL_POINTS)
के साथ अंक खींच रहे हैं। इसे glBegin(GL_LINE_STRIP)
द्वारा प्रतिस्थापित करने का प्रयास करें।
नोट: जब आपने सर्कल देखा तो आपने केवल अंक खींचा, लेकिन एक कनेक्टेड सर्कल के रूप में दिखाई देने के लिए पर्याप्त करीब खींचा।
इसके अलावा, आपने श्रेणी z = [-50, 310] में मानों को स्वीकार करने के लिए गहराई बफर सेट नहीं किया हो सकता है। इन तर्कों को zNear और zFar अपने gluPerspective
, glOrtho()
या glFrustum()
कॉल में क्लिपिंग विमानों के रूप में प्रदान किया जाना चाहिए।
नोट: यह समझाएगा कि ज़ेड वैल्यू के साथ आप केवल कुछ बिंदु क्यों देखते हैं: अन्य बिंदु फिसल गए हैं क्योंकि वे जेड-बफर रेंज के बाहर हैं।
अद्यतन करने के बाद आप अपने कोड से पता चला है:
glOrtho(-100*aspectratio,100*aspectratio,-100,100,1,-1);
केवल में [-1, 1] रेंज है, जिसके कारण z = -1
, z = 0
और z = 1
साथ केवल तीन अंक हो जाएगा z के मूल्यों की अनुमति होगी खींचा (इस प्रकार 3 अंक)।
अंत में, आप शायद घुमावदार धुरी की दिशा में सीधे देखकर सर्पिल को शीर्ष से देख रहे हैं। यदि आप परिप्रेक्ष्य प्रक्षेपण (लेकिन एक आइसोमेट्रिक एक) का उपयोग नहीं कर रहे हैं, तो सर्पिल अभी भी एक सर्कल के रूप में दिखाई देगा। आप gluLookAt()
के साथ अपना विचार बदलना चाहेंगे।
परिपेक्ष्य की स्थापना के उदाहरण
निम्नलिखित code NeHe द्वारा उत्कृष्ट ओपन ट्यूटोरियल से लिया जाता है: अपने draw loop में
glViewport(0, 0, width, height);
glMatrixMode(GL_PROJECTION); // Select The Projection Matrix
glLoadIdentity(); // Reset The Projection Matrix
// Calculate The Aspect Ratio Of The Window
gluPerspective(45.0f,(GLfloat)width/(GLfloat)height,0.1f,100.0f);
glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix
glLoadIdentity(); // Reset The Modelview Matrix
फिर, कुछ इस तरह दिखेगा:
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear The Screen And The Depth Buffer
glLoadIdentity();
glTranslatef(-1.5f,0.0f,-6.0f); // Move Left 1.5 Units And Into The Screen 6.0
glBegin(GL_TRIANGLES); // Drawing Using Triangles
glVertex3f(0.0f, 1.0f, 0.0f); // Top
glVertex3f(-1.0f,-1.0f, 0.0f); // Bottom Left
glVertex3f(1.0f,-1.0f, 0.0f); // Bottom Right
glEnd();
बेशक, आपको इस उदाहरण कोड को अपनी आवश्यकताओं को बदलना चाहिए।
यह एक दिलचस्प पढ़ा है, श्रीमान। सलाद :) – catchmeifyoutry
हाँ, वह ब्लॉग भयानक ग्राफिक्स एल्गोरिदम से भरा है। यह मेरा पसंदीदा है: http://prideout.net/blog/?p=69 –