คำถามติดแท็ก refraction

1
การเลือกการสะท้อนหรือการหักเหในการติดตามเส้นทาง
ฉันพยายามที่จะใช้การหักเหและการส่งสัญญาณในเส้นทางของฉันและฉันไม่แน่ใจเกี่ยวกับวิธีการใช้ ครั้งแรกพื้นหลังบางส่วน: เมื่อแสงกระทบกับพื้นผิวส่วนหนึ่งของแสงจะสะท้อนกลับและส่วนหนึ่งจะหักเห: จำนวนเท่าใดแสงสะท้อนและการหักเหถูกกำหนดโดยFresnel Equations ในการติดตามเรย์แบบเรียกซ้ำการใช้งานง่าย ๆ คือการถ่ายภาพรังสีเพื่อการสะท้อนและรังสีสำหรับการหักเหของแสง RTLo=Fresnel()=1−R=R⋅Li,reflection+T⋅Li,refractionR=Fresnel()T=1−RLo=R⋅Li,reflection+T⋅Li,refraction\begin{align*} R &= Fresnel()\\ T &= 1 - R\\ L_{\text{o}} &= R \cdot L_{\text{i,reflection}} + T \cdot L_{\text{i,refraction}} \end{align*} อย่างไรก็ตามในการติดตามเส้นทางเราเลือกเส้นทางเดียวเท่านั้น นี่คือคำถามของฉัน: ฉันจะเลือกว่าจะสะท้อนหรือหักเหในทางที่ไม่ลำเอียงได้อย่างไร การเดาครั้งแรกของฉันคือการสุ่มเลือกตาม Fresnel aka: float p = randf(); float fresnel = Fresnel(); if (p <= fresnel) { // Reflect } else …

3
อะไรอธิบายถึงความสูงของโลหะ?
จากความเข้าใจของฉันสี specular มักจะหมายถึงปริมาณของแสงที่สะท้อนเมื่อพื้นผิวที่เป็นจุดที่อุบัติการณ์ปกติและตั้งข้อสังเกตหรือR_0ยิ่งไปกว่านั้นสำหรับวัสดุที่ไม่ใช่โลหะค่านี้คำนวณจากดัชนีหักเหของวัสดุด้วยสูตรที่หักจากสมการ Fresnel (ซึ่ง 1 คือดัชนีการหักเหของอากาศหรือโมฆะ): F0F0F_0R0R0R_0nnnF0=(n−1)2(n+1)2F0=(n−1)2(n+1)2F_0 = \frac{(n - 1)^2}{(n + 1)^2} จากรายการดัชนีหักเหในวิกิพีเดีย : วัสดุที่เป็นของแข็งมักจะมีระหว่าง 1.46 ( ควอตซ์ผสม ) และ 2.69 ( Moissanite ) นั่นหมายถึงค่าระหว่าง 0.03 ถึง 0.21nnnF0F0F_0 โดยปกติของเหลวจะมีระหว่าง 1.33 (น้ำ) และ 1.63 ( คาร์บอนไดซัลไฟด์ ) นั่นหมายถึงระหว่าง 0.02 ถึง 0.057 ถ้าฉันไม่ผิดnnnF0F0F_0 โดยทั่วไปแล้วก๊าซจะมีดังนั้นฉันคิดว่าเราสามารถสันนิษฐานได้ว่าเป็น0n≈1n≈1n \approx 1F0F0F_0 ค่าทั้งหมดเหล่านี้ต่ำมาก แม้กระทั่งผลึกที่มีดัชนีการหักเหของแสงสูงเช่นเพชร ( ) …

1
โพลาไรเซชันการสะท้อนและการหักเหของแสงสำหรับพันรอบผิวน้ำ
ฉันต้องการที่จะแสดงภาพที่เหมือนจริงของน้ำในที่อยู่อาศัยอวกาศที่โคจรอยู่ ภาพไม่จำเป็นต้องถูกสร้างขึ้นแบบเรียลไทม์แม้ว่าฉันจะไม่ต้องการให้ใช้เวลาเป็นสัปดาห์ก็ตาม ฉันกำลังมองหาวิธีการที่สามารถสร้างภาพที่สมจริงในชั่วโมงหรือวัน ที่อยู่อาศัยเป็นรูปทรงกระบอกที่มีพื้นผิวด้านในโค้งเป็นพื้นที่อยู่อาศัย การหมุนของทรงกระบอกเกี่ยวกับแกนของมันนั้นให้การประมาณแรงโน้มถ่วง ฉันไม่ได้มองหารายละเอียดของการจำลองฟิสิกส์ของเรื่องนี้เพียงแค่การสร้างภาพ สิ่งที่ฉันอยากรู้เกี่ยวกับเรื่องนี้คือโพลาไรเซชัน แสงที่สะท้อนจากผิวน้ำเป็นโพลาไรซ์โดยปล่อยแสงที่ผ่านไปในน้ำโพลาไรซ์ในแนวตั้งฉากกับแสงที่สะท้อน ไม่สนใจเอฟเฟกต์นี้และเพียงสร้างแบบจำลองสัดส่วนของแสงที่สะท้อนและส่งงานได้ดีพอสมควรเมื่อมีผิวน้ำเพียงอันเดียว แต่ถ้าที่อยู่อาศัยทรงกระบอกมีแหล่งน้ำที่มีสัดส่วนของพื้นผิวโค้งมาก การสะท้อนหลายครั้งในมุมที่แตกต่างหลากหลาย ซึ่งหมายความว่าสัดส่วนของแสงที่สะท้อนจะขึ้นอยู่กับมุมโพลาไรซ์ที่ใช้ก่อนหน้านี้ มีวิธีการเดิม ๆ ที่รวมเอฟเฟกต์ดังกล่าวที่สามารถให้ภาพที่เหมือนจริงของการสะท้อนหลายจุดจากผิวน้ำโค้งหรือไม่? พวกเขายังจำเป็นต้องสร้างแบบจำลองการหักเหของแสงด้วยโพลาไรเซชัน น้ำจะตื้นในสถานที่ดังนั้นฉันคาดว่าการหักเหของแสงจะมีผลต่อผลลัพธ์ ถ้าไม่ฉันสามารถปรับตัวติดตามรังสีที่มีอยู่หรือต้องการวิธีการนี้ตั้งแต่เริ่มต้นหรือไม่ ฉันกำลังมองหาความสมจริงเพื่อค้นพบเอฟเฟ็กต์ที่ไม่คาดคิดไม่ใช่แค่ส่งผ่านความเป็นจริงไปยังผู้สังเกตการณ์ธรรมดา ๆ เห็นได้ชัดว่าผู้สังเกตการณ์ส่วนใหญ่ (รวมถึงฉัน) จะไม่ทราบถึงผลกระทบที่จะมองหาเนื่องจากพวกเขาไม่คุ้นเคยกับชีวิตประจำวันดังนั้นฉันจึงกำลังมองหา

1
นี่เป็นวิธีที่ถูกต้องในการใช้กฎหมายเบียร์หรือไม่?
เมื่อฉันใช้กฎของเบียร์ (การดูดซับสีผ่านระยะทางผ่านวัตถุ) มันไม่เคยดูดีมากด้วยเหตุผลบางอย่าง เมื่อฉันมีสีอยู่ด้านหลังวัตถุฉันจะคำนวณสีที่ปรับแล้วดังนี้ const vec3 c_absorb = vec3(0.2,1.8,1.8); vec3 absorb = exp(-c_absorb * (distanceInObject)); behindColor *= absorb; ที่จะให้สิ่งที่มีลักษณะเช่นนี้ (หมายเหตุหักเหเล็กน้อยนำไปใช้): และที่นี่มันไม่มีการหักเหของแสง: หมายเหตุที่ว่านี้จะดำเนินการเป็นของเล่น Shader ที่นี่ นี่เป็นคำอธิบายถึงสิ่งที่กฎหมายเบียร์ทำ แต่ไม่ได้ดูดีมากเมื่อเทียบกับภาพเช่นนี้: ไฮไลท์ด้านนอกฉันกำลังพยายามหาความแตกต่าง เป็นไปได้ไหมที่รูปทรงเรขาคณิตของฉันนั้นเรียบง่ายเกินไปที่จะแสดงมันออกมาได้ดีมาก? หรือฉันกำลังนำไปใช้อย่างไม่ถูกต้อง

3
ฉันจะทำให้ก้อนน้ำแข็งของฉันดูเป็นจริงได้อย่างไร
ฉันสามารถสร้างแบบจำลองก้อนน้ำแข็งเป็นก้อนโปร่งใสที่ผิดรูปเล็กน้อยโดยมีดัชนีการหักเหของน้ำ แต่พวกมันดูไม่น่าเชื่อ มันดูเหมือนก้อนแก้วมากกว่าน้ำแข็ง การดูก้อนน้ำแข็งจริงฉันสามารถอธิบายความแตกต่างได้อย่างสังหรณ์ใจ แต่ฉันไม่รู้คุณสมบัติทางกายภาพที่จะเปลี่ยนเพื่อให้ตรงกับ: ก้อนน้ำแข็งเปียก ฉันดูเหมือนแก้วแห้ง ก้อนน้ำแข็งมีความโปร่งใสในสถานที่และไม่ได้อยู่ในที่อื่น ก้อนน้ำแข็งมักจะมีรอยแตกที่มองเห็นได้แม้จะไม่แยกออกจากกัน ในกรณีนี้ฉันพยายามจำลองก้อนน้ำแข็งบนพื้นผิว (ในอากาศไม่ใช่ลอยอยู่ในน้ำ) ฉันต้องใช้เทคนิคใดในการเพิ่มความสมจริง? ฉันไม่ได้มองหาเทคนิคแบบเรียลไทม์เพียงเพื่อสร้างภาพนิ่ง ฉันอยากให้น้ำแข็งเป็นภาพเหมือนจริงแม้จะถ่ายภาพระยะใกล้และเพื่อแสดงการกัดกร่อนและเงาที่สมจริง ฉันลองใช้ขอบโค้งและเคลือบก้อนน้ำแข็งของฉันด้วยวัสดุโปร่งใสบาง ๆ เพื่อจำลองชั้นน้ำที่ละลาย แต่ดูเหมือนว่ามันจะไม่ทำให้เปียก ฉันได้ลองฝังทรงกลมโปร่งใสครึ่งหนึ่งของขนาดของลูกบาศก์ที่กึ่งกลางด้วยเอฟเฟกต์หมอก แต่มันไม่ได้รวมกันเป็นก้อนตามธรรมชาติ - มันดูเหมือนฝังอยู่ แม้แต่ชุดทรงกลมซ้อนกันที่มีหมอกเพิ่มขึ้นเรื่อย ๆ ก็ยังดูไม่ถูกต้อง
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.