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

2
ฉันจะสร้างเอฟเฟกต์ World Healing Wave ได้อย่างไร
ฉันต้องการเปลี่ยนพื้นหลังที่มืดและหดหู่ของฉันให้เป็นพื้นหลังหญ้าที่มีความสุขแบบเรียลไทม์ดังนั้นฉากหลังที่มีความสุขจะปรากฏในรัศมีรอบตัวละครเกม Forcefield ของความสุขถ้าคุณจะ วิธีนี้สามารถทำได้อย่างมีประสิทธิภาพเท่าที่เป็นไปได้เมื่อแสดงไปยังผืนผ้าใบในมุมมองที่กำหนดเอง ปรับปรุง: นี่คือวิธีการทำงานในหัวของฉัน: private int hModeX, hModeY; private float hModeRadius = 0.1f; private float hModeStart = 0; happyModeBg = Bitmap.createScaledBitmap(happyModeBg, getWidth(),getHeight(), true); hModeX = getWidth()/2; hModeY = getHeight()/2; private void initHappyMode(Canvas canvas){ hModeRadius = 75 * thread.getDelta(); if(hModeRadius > 500) { hModeStart = timestep; //What is timestep? …

5
ฉันจะจัดการกับสไปรต์ชีตที่มีขนาดสไปรต์ที่ไม่ใช่แบบฟอร์มได้อย่างไร
สำหรับชุดสไปรต์ที่มีขนาดสไปรต์ที่ไม่สม่ำเสมอฉันจะหารูปสี่เหลี่ยมมุมฉากสำหรับสไปรต์แต่ละตัวได้อย่างไร (เช่นกล่องสีน้ำเงินในภาพต่อไปนี้ / ฉันวาดตัวอย่างเพียงไม่กี่ชิ้น)? สิ่งที่ฉันต้องการตรวจสอบคือ: offset_x, offset_y, width, height จนถึงตอนนี้ฉันได้ใช้ Spriteheets ที่ Sprite ทั้งหมดมีขนาดเท่ากัน ในกรณีนั้นเราต้องการเพียงระบุ x และ y-offset เพื่อรับ sprite เฉพาะ อย่างไรก็ตามสำหรับสไปรต์ของชุดที่มีขนาดไม่เท่ากันก็ไม่สามารถใช้งานได้ แก้ไข: หลังจากอ่านความคิดเห็นและคำตอบแล้วฉันได้ปรับปรุงคำถามของฉันอีกครั้งเพื่อให้มีความครอบคลุมมากขึ้น กระบวนการจริงของการใช้สไปรต์แผ่นชีทในเกม ก่อนหน้านี้คำถามมีประเด็นที่ว่าทำไมผู้คนถึงผลิตสไปรต์แบบแผ่นขนาดไม่เท่ากันและฉันจะจัดการกับเรื่องนั้นได้อย่างไร

4
ทำไมพื้นที่คลิปใน OpenGL มี 4 มิติ
ฉันจะใช้สิ่งนี้เป็นข้อมูลอ้างอิงทั่วไป แต่ยิ่งฉันมีเอกสารและหนังสือออนไลน์ของเบราว์เซอร์มากเท่าไหร่ฉันก็ยิ่งเข้าใจน้อยลงเท่านั้น const float vertexPositions[] = { 0.75f, 0.75f, 0.0f, 1.0f, 0.75f, -0.75f, 0.0f, 1.0f, -0.75f, -0.75f, 0.0f, 1.0f, }; ในหนังสือออนไลน์เล่มนี้มีตัวอย่างเกี่ยวกับวิธีการวาดสวัสดีชาวโลกคนแรกและคนคลาสสิกสำหรับ OpenGL เกี่ยวกับการสร้างรูปสามเหลี่ยม โครงสร้างจุดสุดยอดสำหรับสามเหลี่ยมถูกประกาศตามที่ระบุในรหัสข้างต้น หนังสือในฐานะที่เป็นแหล่งข้อมูลอื่นเกี่ยวกับเรื่องนี้เน้นจุดที่คลิปอวกาศเป็นโครงสร้าง 4 มิติที่ใช้ในการตัดสินใจโดยทั่วไปว่าอะไรจะเป็น rasterized และแสดงผลไปที่หน้าจอ ที่นี่ฉันมีคำถามของฉัน: ฉันนึกภาพออกไม่ได้ใน 4D ฉันไม่คิดว่ามนุษย์จะทำอย่างนั้นได้ 4D คืออะไรสำหรับพื้นที่คลิปนี้ เอกสารที่มนุษย์อ่านได้มากที่สุดที่ฉันได้อ่านพูดเกี่ยวกับกล้องซึ่งเป็นเพียงนามธรรมของแนวคิดการตัดและฉันเข้าใจว่าปัญหาคือทำไมไม่ใช้แนวคิดของกล้องตั้งแต่แรก โครงสร้าง 3 มิติที่คุ้นเคย? ปัญหาเดียวของคอนเซปต์ของกล้องคือคุณต้องกำหนดผู้ที่คาดหวังในทางอื่นดังนั้นคุณต้องเพิ่มคำแถลงเกี่ยวกับประเภทของกล้องที่คุณต้องการ ฉันควรจะอ่านสิ่งนี้0.75f, 0.75f, 0.0f, 1.0fอย่างไร ทั้งหมดที่ฉันได้รับคือพวกมันคือค่าลอยตัวทั้งหมดและฉันได้ความหมายของ 3 ค่าแรกมันหมายความว่าอะไรสุดท้าย

2
รายละเอียดของ GPU ทำอะไรได้จริงเมื่อตัดในพื้นที่ที่เป็นเนื้อเดียวกัน 4D?
ฉันเรียนรู้ไปป์ไลน์เรนเดอร์ที่สามารถตั้งโปรแกรมได้โดยการใช้เรนเดอร์ซอฟต์แวร์ตัวเล็ก ๆ ฉันพยายามใช้มันในรูปแบบ 'ฮาร์ดแวร์' อย่างไรก็ตามฉันไม่คุ้นเคยกับขั้นตอนการทำงานของ GPU และมีปัญหาในการตัดเป็นเนื้อเดียวกัน พื้นที่การตัดที่เป็นเนื้อเดียวกันประกอบด้วยตัวแปรwซึ่งมีความหลากหลายในแต่ละจุดยอด พิกัดจุดที่เป็นเนื้อเดียวกันของวัตถุแต่ละอัน (ระหว่างเมทริกซ์การฉายและการหารแบบเอกพันธ์ด้วย w) ที่พื้นที่การตัดของมันหรือไม่? ถ้าเป็นเช่นนั้นวิธีการตัดเส้นและสามเหลี่ยมใกล้กว่า Frustum หรือยืดตัวกล้อง (เช่น w <= frustum_znear)? ปรับปรุง : กระทู้นี้บอกว่าการตัดในพื้นที่ที่เป็นเนื้อเดียวกันนั้นเป็นปัญหาการแยกโดยตรงในพื้นที่ที่เป็นเนื้อเดียวกัน 4D p_vec4 = t * point1_vec4 + (1 - t) * point2_vec4ซึ่งหมายความว่าจุดตัดคือ บอกว่าฉันมีP0(-70, -70, 118, 120)และP1(-32, -99, -13, -11)ในพื้นที่ที่เป็นเนื้อเดียวกัน 4D และจุดตัดกับplane w = -z(ซึ่งใน NDC คือ z = …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.