คอมพิวเตอร์กราฟฟิค

ถาม - ตอบสำหรับนักวิจัยคอมพิวเตอร์กราฟิกและโปรแกรมเมอร์

2
เหตุใดแผนที่ปกติจึงเป็นสีน้ำเงินและสีม่วง
ฉันกำลังเรียนรู้เกี่ยวกับการทำแผนที่ปกติ ฉันเข้าใจว่าค่า RGB ถูกแปลงเป็น XYZ แต่คำถามของฉันคือมันถูกแปลงเป็นอย่างไรและเหตุใดแผนที่ปกติจึงเป็นสีน้ำเงินและสีม่วง
11 shader  lighting 

2
GL_STATIC_DRAW กับ GL_DYNAMIC_DRAW เทียบกับ GL_STREAM_DRAW: มันมีความสำคัญหรือไม่
ใน OpenGL นั้นฟังก์ชั่นบัฟเฟอร์วัตถุ ( glBufferData, glBufferSubDataและอาจมีอีกสองสามคน) มีพารามิเตอร์usageอธิบายโดยเอกสารเป็นคำใบ้ของการใช้งานที่ตั้งใจอาจหมายถึงการช่วยให้การใช้งานมีประสิทธิภาพดีขึ้น การใช้ ระบุรูปแบบการใช้งานที่คาดหวังของแหล่งข้อมูล คงต้องเป็นสัญลักษณ์GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, หรือGL_DYNAMIC_READ การใช้ [... ] เป็นคำแนะนำในการนำ GL ไปใช้เพื่อให้สามารถเข้าถึงแหล่งเก็บข้อมูลของวัตถุบัฟเฟอร์ได้อย่างไร สิ่งนี้ช่วยให้การนำ GL ไปใช้ในการตัดสินใจอย่างชาญฉลาดยิ่งขึ้นซึ่งอาจส่งผลกระทบต่อประสิทธิภาพของวัตถุบัฟเฟอร์อย่างมาก อย่างไรก็ตามไม่ได้ จำกัด การใช้งานจริงของแหล่งข้อมูลGL_DYNAMIC_COPY wikiนั้นคลุมเครือในทำนองเดียวกัน: นี่เป็นเพียงคำใบ้เท่านั้น เป็นรหัส OpenGL ที่ถูกกฎหมายอย่างสมบูรณ์ในการปรับเปลี่ยนบัฟเฟอร์ STATIC หลังจากสร้างขึ้นหรือไม่เคยแก้ไขบัฟเฟอร์ STREAM [... ] เหล่านี้เป็นคำถามที่สามารถตอบได้ด้วยการทำโปรไฟล์อย่างระมัดระวัง และถึงแม้ว่าคำตอบนั้นจะถูกต้องสำหรับไดรเวอร์รุ่นนั้นโดยเฉพาะจากผู้จำหน่ายฮาร์ดแวร์รายนั้น ถ้าอย่างนั้นพารามิเตอร์นี้มีความเกี่ยวข้องกันอย่างไร? ผู้ขับขี่ต้องคำนึงถึงเรื่องนี้จริงหรือไม่และถ้าเป็นเช่นนั้นในประสบการณ์ของคุณจะมีผลกระทบกับการปฏิบัติจริงหรือไม่? คุณมีข้อมูลที่จะแบ่งปันหรือไม่? ฉันได้เขียนเลเยอร์ abstraction API กราฟิคบาง ๆ ไว้เพื่อใช้เป็น …

2
แผนที่อนุพันธ์เทียบกับพื้นที่ปกติแทนเจนต์แผนที่
ฉันค้นพบว่าเครื่องยนต์บางตัวใช้แผนที่อนุพันธ์แทนแผนที่พื้นที่สัมผัสเจนต์ หลังจากอ่านเสร็จดูเหมือนว่าจะเป็นวิธีที่ยอดเยี่ยมจริงๆในการแทนที่บรรทัดฐานของพื้นที่สัมผัสแทน แต่มีข้อเสียในการใช้งานบ้างไหม? ทำไมยังคงใช้บรรทัดฐานของพื้นที่แทนเจนต์ต่อไป เป็นไปได้หรือไม่ที่จะเปรียบเทียบทั้งกับข้อดีและข้อเสีย

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

1
ทำไมรูปสามเหลี่ยมที่อยู่ติดกันจึงไม่เคยทับซ้อนกันเมื่อแรสเตอร์?
ขออภัยสำหรับคำถาม noob ต่อไปนี้เป็นเพียงฉันไม่สามารถหาคำตอบที่น่าพอใจทุกที่ ... เมื่อฉันสร้างรูปสี่เหลี่ยมที่มีแกนเรียบง่ายประกอบด้วยสามเหลี่ยมสองรูปฉันไม่เข้าใจว่าทำไมไม่มีสิ่งประดิษฐ์ใด ๆ ที่มองเห็นได้บนขอบทแยงมุมที่สามเหลี่ยมเหล่านั้นมาบรรจบกัน พิกเซลบางส่วนนั้นต้องอยู่ในรูปสามเหลี่ยมทั้งคู่ใช่ไหม ดังนั้นถ้า fragshader ของฉันเปล่งสีโปร่งใสบางส่วน - สีดำ 50% พูดเสมอ - แล้วไม่ควรมีเส้นทแยงมุมสีดำที่มองเห็นได้ในรูปสี่เหลี่ยมที่เกิดขึ้นหรือไม่ เห็นได้ชัดว่ามันดีมากที่นี่ไม่ใช่ปัญหาจริงที่ต้องเขียนรหัสฉันแค่ไม่เข้าใจว่าทำไมมันถึงไม่ได้ ความมหัศจรรย์ของ GPU คืออะไรที่ทำให้สิ่งนี้เป็นจริง
11 opengl  gpu  rasterizer 

1
เป็นไปได้หรือไม่ที่จะเปลี่ยนเมทริกซ์การหมุน 3 มิติ (4x4) เป็นชิ้นส่วนของมัน (การหมุน, สเกล, ฯลฯ )?
เพื่อให้เป็นรูปธรรมมากขึ้นฉันกำลังทำงานกับแอพ iOS และมีโครงสร้างCATransform3D(โดยทั่วไปคืออาร์เรย์แปลง 4x4) เป็นไปได้ไหมที่จะอนุมาน "การดำเนินการ" ที่แตกต่างกันของเมทริกซ์นี้? สิ่งต่าง ๆ เช่นการหมุน, สเกล, ฯลฯ มันหมายถึงอะไร?

3
อะไรคือความแตกต่างระหว่างการแปลงแบบพอยต์กับการแปลงเวคเตอร์?
นี่คือสิ่งที่อาจารย์ของฉันบอกฉันในหลักสูตร: เราพิจารณาเมทริกซ์ 4 * 4 เท่านั้น สิ่งเหล่านี้ใช้เพื่อหมุนปรับขนาดหรือแปลวัตถุ (หรือการรวมกันของการดำเนินการเหล่านี้) เมทริกซ์ยังถูกใช้ในภายหลังในการนำโมเดลกล้องเสมือนไปใช้ หากคุณไม่ทราบความแตกต่างระหว่างการแปลงเวกเตอร์และการแปลงจุดให้ค้นหามัน ฉันดูเหมือนจะไม่พบคำตอบและสร้างบัญชีสำหรับเว็บไซต์นี้สำหรับคำถามนี้
11 vectors 

1
GPU ของฉันกำลังรออะไรอยู่
ฉันกำลังเขียนโปรแกรม OpenCL เพื่อใช้กับ GPU AMD Radeon HD 7800 series ของฉัน ตามคู่มือการเขียนโปรแกรม OpenCLของ AMD รุ่น GPU นี้มีคิวฮาร์ดแวร์สองคิวที่สามารถทำงานแบบอะซิงโครนัสได้ 5.5.6 คิวคำสั่ง สำหรับหมู่เกาะเซาท์เทิร์นและหลังจากนั้นอุปกรณ์ต่าง ๆ สนับสนุนฮาร์ดแวร์คำนวณคิวอย่างน้อยสองรายการ ที่ช่วยให้แอปพลิเคชันเพิ่มปริมาณงานของการแจกจ่ายเล็กน้อยด้วยคิวคำสั่งสองรายการสำหรับการส่งแบบอะซิงโครนัสและการดำเนินการที่เป็นไปได้ คิวการคำนวณฮาร์ดแวร์ถูกเลือกตามลำดับต่อไปนี้: first queue = แม้กระทั่งคำสั่ง OCL, คิวที่สอง = คิว OCL แปลก ๆ ในการทำเช่นนี้ฉันได้สร้างคิวคำสั่ง OpenCL สองชุดแยกกันเพื่อป้อนข้อมูลไปยัง GPU โดยประมาณโปรแกรมที่ทำงานบนโฮสต์เธรดจะมีลักษณะดังนี้: static const int kNumQueues = 2; cl_command_queue default_queue; cl_command_queue work_queue[kNumQueues]; static …
11 gpgpu  opencl 

1
voxelization "6-separating" และ "26-separating" หมายถึงอะไร?
ฉันกำลังอ่านบทความนี้เกี่ยวกับ Voxelpipe ห้องสมุด voxelization จาก NVIDIA และฉันพบในส่วนที่ 2 Voxelization คำศัพท์6-separatingและ26-separating ฉันพบเว็บไซต์นี้ที่พยายามอธิบายแนวคิดพื้นฐานเกี่ยวกับ voxelization แต่มันก็ไม่เป็นประโยชน์มากนักเมื่อเข้าใจถึงข้อกำหนดที่กล่าวมา ใครช่วยอธิบายหรือชี้ไปที่แหล่งข้อมูลอื่นที่สามารถช่วยฉันเข้าใจได้บ้าง

1
การชดเชยการสูญเสียพลังงานในรุ่น BSDF ของไมโครฟอร์แมตแบบกระจาย
แบบจำลองพื้นผิวที่ใช้ไมโครฟิล์มแบบกระจัดกระจายเช่นTorrance-Sparrow BRDFดั้งเดิมหรือแบบจำลองที่ได้มาเช่นBSDF สำหรับพื้นผิวอิเล็กทริกแบบหยาบโดย Walter et al ละเลยการสะท้อนแสงระหว่าง microfacets ซึ่งส่งผลให้สูญเสียพลังงานทำให้เกิดความมืดโดยเฉพาะอย่างยิ่งเมื่อค่าความหยาบสูงขึ้น สามารถแสดงปัญหาได้อย่างง่ายดายโดยใช้การทดสอบเตาหลอม ภาพต่อไปนี้แสดงพฤติกรรมการใช้ไมโครฟิล์มนำไฟฟ้า BRDF ของฉันโดยใช้แบบจำลอง Smith และการแจกแจง GGX สำหรับพารามิเตอร์ความหยาบจาก 0.2 ถึง 1.0 (ค่าสัมประสิทธิ์ Fresnel ถูกตั้งค่าเป็น 1 ที่นี่เพื่อทำให้ปัญหาง่ายขึ้น): การทดสอบเตาเผาของอิเล็กทริกหยาบ (IoR 1.51) BSDF โดยใช้แบบจำลอง Smith และการกระจายไมโครฟิล์ม GGX สำหรับพารามิเตอร์ความหยาบตั้งแต่ 0.2 ถึง 1.0: Eric Heitz และคณะ มีเพียงแค่เมื่อเร็ว ๆ นี้นำเสนอรูปแบบหลายกระเจิงซึ่งจะช่วยแก้ปัญหาคล้ำโดยการแก้ปฏิสัมพันธ์แสงสมบูรณ์ แต่มีปัญหาประสิทธิภาพการทำงานเนื่องจากลักษณะสุ่มของกิจวัตรประจำวันการประเมินผลของมันเป็น metioned โดย Heitz ตัวเองอยู่ในฟอรั่มลักซ์เร็นเดอร์ มีวิธีการชดเชยที่เป็นที่รู้จักสำหรับการกู้คืนพลังงานที่สูญเสียไปของแบบจำลองการกระเจิงเดี่ยวหรือไม่? ไม่จำเป็นต้องถูกต้องตามร่างกาย …

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

1
ประสิทธิภาพการวนซ้ำในเครื่อง Shader
ฉันสงสัยว่าอะไรคือวิธีที่ดีที่สุดในการรวมฟังก์ชั่นวนลูปแบบไดนามิกเข้ากับ shader? ครั้งแรกดูเหมือนว่าไม่สามารถใช้อาร์เรย์แบบไดนามิกได้ ดังนั้นจะดีกว่าหรือไม่ที่จะสร้างอาร์เรย์ขนาดสูงสุดและเติมเพียงบางส่วนหรือกำหนดอาร์เรย์ด้วยขนาดที่กำหนดไว้ล่วงหน้า แล้ววิธีที่ดีที่สุดในการทำซ้ำแถวลำดับนี้คืออะไร ควรใช้ลูปที่ไม่ได้ควบคุมหรือลูปไดนามิกสำหรับบางอย่างระหว่างการทำซ้ำ 4 ถึง 128 หรือไม่ if (i == myCurrentMaximumIterationNumber)ผมเคยเห็นยังว่ามันเป็นไปได้ที่จะคายมันจำนวนสูงสุดที่กำหนดไว้ล่วงหน้าซ้ำแล้วหยุดมันด้วยสภาพเช่น

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

2
การเรนเดอร์ทางกายภาพและการติดตามเรย์
ฉันมีความสับสนมากและฉันต้องอธิบายศัพท์บางคำและรวบรวมความรู้ ถ้าฉันบอกว่าเครื่องยนต์เป็นตัวติดตามเรย์ (ดังนั้นจึงใช้อัลกอริธึมการติดตามเรย์เพื่อแสดงฉาก) มันเป็นเอ็นจิ้นพื้นฐานทางกายภาพหรือไม่? ฉันหมายถึงการติดตามเรย์นั้นเป็นไปตามคำจำกัดความของตัวมันเองหรืออาจจะมีเรย์เทรเซอร์บางตัวที่ไม่ได้มีพื้นฐานมาจากร่างกาย (และสมมาตรมี tracers ที่ไม่ใช่เรย์ที่มีพื้นฐานทางร่างกายหรือไม่) นอกจากนี้เป็นจริงหรือไม่ที่ "ฐานทางกายภาพ" หมายถึงว่า "แก้ไขสมการการขนส่งด้วยแสง" ด้วยหรือไม่
11 rendering 

1
ทำไมตาข่ายแบบเรียบในสตูดิโอ 3D จึงมีจำนวนจุดยอด / สามเหลี่ยมเท่ากัน? จากนั้นจะสามารถทำให้เรียบด้วยเรขาคณิตเดียวกันได้อย่างไร
ฉันพยายามที่จะเข้าใจว่าทำไมตาข่ายที่เรียบในสตูดิโอ 3 มิติ (Modifiers / Smoother) นั้นมีจุดยอด / ใบหน้าจำนวนเท่ากันก่อนหรือหลังกระบวนการนั้นรวมถึงรูปทรงเรขาคณิตที่เหมือนกัน ในตัวอย่างต่อไปนี้ตาข่ายทั้งสองมี 32 จุดยอดและใบหน้า 60 หน้า แม้ว่าฉันจะมีประสบการณ์การทำงานกับการเขียนโปรแกรม (c ++ และ c #) แต่ฉันเป็นมือใหม่สำหรับคอมพิวเตอร์กราฟิก ดังนั้นความคาดหวังของฉันก็คือรูปลักษณ์ที่เรียบของตาข่ายแบบเรียบนั้นจะต้องมีจุดยอดเพิ่มเติมเช่นการแบ่งของรูปสามเหลี่ยมเพื่อที่จะมีตาข่ายสุดท้ายที่มีรายละเอียดมากขึ้น อย่างไรก็ตามดูเหมือนว่าจะไม่เป็นเช่นนั้น ดังนั้นฉันถาม: 1) การปรับให้เรียบเป็นไปได้อย่างไรโดยไม่เพิ่มรายละเอียดของเรขาคณิตตาข่าย? 2) การปรับให้เรียบอย่างน้อยเพิ่มหน่วยความจำที่จัดสรร / ใช้สำหรับการจัดเก็บตาข่ายใหม่โดยเปรียบเทียบกับต้นฉบับหรือไม่? คำอธิบายยินดีอย่างยิ่ง แต่การอ้างอิง (ด้านวิชาการหรือไม่) ก็ชื่นชมเช่นกัน
11 3d  geometry  mesh  memory  model 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.