2012-11-14 19 views
7

ऊपर उल्टा मैप हो रहा है मैं glsl में अपवर्तन कार्यान्वित कर रहा हूँ। मैं इच्छित प्रभाव प्राप्त करने के लिए टुकड़े शेडर में प्रदान किए गए अपवर्तक फ़ंक्शन का उपयोग कर रहा हूं। लेकिन मुझे अपवर्तन मिल रहा है, यह उल्टा है। मुझे लगता है कि यह गलत है .. कोई विचार यह क्यों है?glsl अपवर्तन

यह है कि मैं क्या शिखर शेडर में क्या है:

vec3 worldView = normalize(vec3(WorldCameraPosition-worldPos)); 
refractor = refract(-worldView, worldNorm, Eta); // eta = 0.66; 

और फिर frag शेडर मुझे क्या करना:

vec4 refractColor = textureCube(cubeMap, refractor); 

http://www.cse.ohio-state.edu/~duttas/Images_5542/Capture.PNG http://www.cse.ohio-state.edu/~duttas/Images_5542/Capture.PNG

+0

स्क्रीनशॉट में मदद मिलेगी। या स्क्रीनशॉट के लिंक, यदि आपके पास छवियों को शामिल करने के लिए पर्याप्त प्रतिनिधि नहीं है। – Thomas

+0

http://www.cse.ohio-state.edu/~duttas/Images_5542/RT_rendering.html पृष्ठ की आखिरी छवि। धन्यवाद – mindbender

उत्तर

25

आप उन क्षेत्रों पर refractions के बारे में बात कर रहे हैं , मुझे पूरा यकीन है कि आपको जो मिला है वह सही परिणाम है, यह उल्टा होना चाहिए। तरीके के कारण करने के लिए प्रकाश गोलाकार सतह से refracts छवि आप क्षेत्र में देखने उल्टा होता है:

https://summerexplorations.files.wordpress.com/2011/07/marbles2.jpg?w=584

रियल दुनिया उदाहरण:

http://www.physicscentral.com/explore/pictures/images/crystal-ball_2.jpg http://www.physicscentral.com/explore/pictures/images/crystal-ball_2.jpg

+2

ग्रेट जॉब। उस प्रश्न का मालिक शायद भूल गया था कि यह रिफ्लेक्शन नहीं है (कुछ पीछे है) लेकिन अपवर्तन (पीछे की चीज का)। और अच्छा चयन: पी +1 –

+0

हाँ, यह सही लगता है। अगर आप यही चाहते हैं तो कम अपरिवर्तनीयता प्राप्त करने के लिए अपने अपवर्तन सूचकांक (ईटा) को 1 के करीब लाएं। – Thomas

+0

बढ़िया! उत्तर के लिए बहुत बहुत धन्यवाद और आपके इनपुट के लिए दूसरों के लिए धन्यवाद ... – mindbender

संबंधित मुद्दे