คำถามติดแท็ก graphics-programming

การเขียนโปรแกรมที่เกี่ยวข้องกับการแสดงข้อมูลบนหน้าจอคอมพิวเตอร์

4
เอฟเฟกต์สำหรับโปรแกรมเมอร์ [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ไม่มีใครมีแหล่งข้อมูลที่ดีสำหรับการสร้างเอฟเฟกต์พิเศษโดยมีเป้าหมายที่โปรแกรมเมอร์ ฉันไม่ได้สนใจเรื่องเอฟเฟกต์ของอนุภาคโดยเฉพาะ แต่สิ่งที่กว้างขึ้นเช่น: เอฟเฟกต์เต็มหน้าจอเบลอความชัดลึกความเสียหาย การระเบิดคลื่นกระแทก อาวุธเลเซอร์เลเซอร์กระสุนปืน สภาพแวดล้อม - แสง "เรืองแสง" และคาน, น้ำ, ฟองสบู่, ฝุ่น ฯลฯ ฉันสนใจสิ่งเหล่านี้จากมุมมองทางเทคนิคมากกว่ามุมมองเชิงศิลปะ แก้ไข: เพื่อชี้แจงฉันไม่สนใจในรายละเอียดในระดับต่ำเช่น "วิธีการทำการลอกแบบลึกบน SPUs" หรือ "การแสดงผลอนุภาคอย่างรวดเร็วด้วยพื้นผิวจุดยอด" ฉันสนใจว่าผู้คนได้รวมเทคนิคต่าง ๆ ไว้ในสูตรได้อย่างไร เพื่อแสดงเอฟเฟกต์พิเศษสำหรับเกม ตัวอย่างเช่น - เมื่อแสดงผลการระเบิด "ช่องว่าง": วาดทรงกลมทึบแสงที่กึ่งกลาง วาดอัลฟาด้วยคลื่นรอบแกนสุ่ม ขยายทรงกลมและลดอัลฟา ขยายคลื่นกระแทกและหมุน UV วางไข่อนุภาคอาบน้ำแบบสุ่มจากศูนย์ โยกเยกกล้องเมื่อคลื่นกระแทกถึงตำแหน่งผู้ชม

4
โปรแกรมเมอร์กราฟิกทุกคนควรเขียนอะไร [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ฉันเคยเห็นคำถามนี้เกี่ยวกับ SO แต่ที่นี่ฉันต้องการให้ความสำคัญกับ GFX ดังนั้นในความเห็นของคุณสิ่งที่แอปพลิเคชัน / ฟีเจอร์ที่ GFX โปรแกรมเมอร์ทุกคนต้องการจะเขียน / เปลี่ยนแปลงเพื่อให้ดีขึ้น? วิกิชุมชนเนื่องจากไม่มี "คำตอบที่ถูกต้อง" LE: ไม่ได้หมายถึงเกมจริง แต่เป็นคุณสมบัติกราฟิกเช่นการเปลี่ยนแปลงบางอย่างในเอนจิ้น (เช่นการโหลดวัตถุ) การสร้างผู้แต่งเป็นต้นและอื่น ๆ


4
Fixed-Function vs Shaders: อันไหนสำหรับมือใหม่?
ฉันกำลังจะไปวิทยาลัยเพื่อวิทยาการคอมพิวเตอร์ แม้ว่าฉันจะวางแผนที่จะใช้เครื่องมือที่มีอยู่ในบางจุดเพื่อสร้างเกมเล็ก ๆ จุดมุ่งหมายของฉันในตอนนี้คือการเรียนรู้พื้นฐาน: การเขียนโปรแกรมสามมิติ ฉันได้ทำการวิจัยเกี่ยวกับตัวเลือกระหว่าง DirectX และ OpenGL แล้วและความเชื่อมั่นทั่วไปที่เกิดขึ้นจากการที่ไม่ว่าคุณจะเลือก OpenGL หรือ DirectX เป็นแพลตฟอร์มการฝึกอบรมล้อของคุณความรู้มากมายสามารถถ่ายโอนไปยังแพลตฟอร์มอื่นได้ . ดังนั้นเนื่องจาก OpenGL ได้รับการสนับสนุนโดยระบบเพิ่มเติม (อาจเป็นเหตุผลที่โง่ในการเลือกสิ่งที่จะเรียนรู้) ฉันตัดสินใจว่าฉันจะเรียนรู้ OpenGL ก่อน หลังจากฉันตัดสินใจที่จะเรียนรู้ OpenGL ฉันได้ทำการวิจัยเพิ่มเติมและพบว่ามีความแตกต่างที่ฉันไม่ทราบมาตลอดเวลานี้: OpenGL ที่ใช้กับโปรแกรมได้อย่างคงที่ ตอนแรกฉันคิดว่ามันเป็นตัวเลือกที่ชัดเจนที่ฉันควรเลือกเรียนรู้ OpenGL ที่อิงกับ shader เนื่องจากเป็นสิ่งที่ใช้กันมากที่สุดในอุตสาหกรรมปัจจุบัน อย่างไรก็ตามฉันก็พบกับการเขียนโปรแกรมการเรียนรู้กราฟิก 3D Modernยอดนิยมโดย Jason L. McKesson ซึ่งอยู่ที่นี่: http://www.arcsynthesis.org/gltut/ ฉันอ่านถึงช่วงเกริ่นนำและในส่วน "เกี่ยวกับหนังสือเล่มนี้" ผู้เขียนกล่าวว่า: "สิ่งแรกคือสิ่งที่เรียนรู้ด้วยวิธีนี้จะต้องถูกยกเลิกอย่างหลีกเลี่ยงไม่ได้เมื่อผู้ใช้พบปัญหากราฟิกที่ต้องแก้ไขด้วยความสามารถในการโปรแกรมความสามารถในการเขียนโปรแกรมจะทำความสะอาดท่อฟังก์ชั่นคงที่เกือบทั้งหมด แต่ในเวลาเดียวกันก็ทำให้กรณีที่ฟังก์ชันการทำงานคงที่ให้เส้นโค้งการเรียนรู้ที่ง่ายขึ้นและรวดเร็วขึ้นสำหรับผู้เริ่มต้นโดยระบุ: "โดยทั่วไปถือว่าง่ายที่สุดในการสอนโปรแกรมเมอร์กราฟิก neophyte โดยใช้ฟังก์ชั่นฟังก์ชั่นคงที่" โดยธรรมชาติแล้วคุณจะเห็นว่าทำไมฉันถึงขัดแย้งกันเกี่ยวกับกระบวนทัศน์ที่จะเรียนรู้: ฉันใช้เวลาในการเรียนรู้มากมาย …

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

4
โมเดล 3 มิติสร้างขึ้นอย่างไรในวิดีโอเกม
แบบจำลอง 3 มิติในเกมได้รับการออกแบบและแสดงผลอย่างไร มันเป็นรหัสทั้งหมดหรือไม่ วาดบนกระดาษแล้วใช้ซอฟต์แวร์กราฟิกสามมิติแล้ว ... อะไรนะ? แน่นอนว่าโปรแกรมเมอร์เกมจะไม่กำหนดจุดสุดยอดของทุกรูปร่าง (/ วัตถุ) ที่พวกเขาต้องการที่จะวาดทั้งหมดในรหัส (ไม่ว่าจะเป็น Direct3D หรือ OpenGL.) ดังนั้นนักออกแบบเกมจะมีเครื่องมือที่ใช้เช่นมายาหรือ บางอย่างเช่นซอฟต์แวร์กราฟิก 3D ที่เป็นกรรมสิทธิ์นอกนั้น พวกเขา "วาด" แบบจำลองในซอฟต์แวร์นั้นส่งออกในรูปแบบอะไรจากนั้นโปรแกรมเมอร์ก็แยกวิเคราะห์รหัสและป้อนจุดยอดที่ถอดรหัส / แยกวิเคราะห์โดยอัตโนมัติของวัตถุ / รุ่น? ฉันใช้ Google เป็นจำนวนมาก แต่ฉันไม่สามารถหาอะไรที่เป็นของแข็งได้เพื่ออธิบายวิธีการทำงานของวิดีโอเกมมืออาชีพ

4
การฉายเงาแบบเรียลไทม์ในเกม 2D สามมิติ
ฉันเขียนเอนจิ้น isometric 2d ขนาดเล็กใน C ++ และฉันพยายามที่จะใช้การจำลองเงาแบบเรียลไทม์ ฉันทำตามวิธีง่าย ๆ ที่อธิบายไว้ในหน้านี้และนี่คือผลลัพธ์ (แสงอยู่ที่ตำแหน่งเดียวกันกับลูกบาศก์สีเหลือง): ผลลัพธ์เป็นสิ่งที่ดีมาก แต่มีเงาที่หายไปบนผนังและด้านบนของก้อน นี่คือตัวอย่างว่าควรมีลักษณะอย่างไร (ฉันวาดเงาที่คาดไว้เป็นสีเขียว): ก้อนทั้งหมดที่ถูกดึงออกมานั้นทำจาก 3 มิติสี่มิติที่อยู่ในตำแหน่ง XY และมีความลึก Z (z = x + y) ฉันใช้ OpenGL กับ orthographic matrix (glOrtho) เงาถูกวาดโดยใช้ stencil buffer ฉันกำลังมองหาแหล่งข้อมูลหรือโซลูชันที่จะช่วยให้ฉันใช้งานการจำลองเงานี้ ขอบคุณมาก!

2
การสร้างเอฟเฟกต์ไฟฟ้า / แสงสว่าง / เทสลาในเกม 2D XNA หรือไม่?
ฉันต้องการที่จะสร้างคานของการไฟฟ้าระหว่างจุดสองจุดคล้ายกับวิดีโอนี้: http://www.youtube.com/watch?v=eMJ8-56L3Lc เอฟเฟกต์เป็นแบบไดนามิกดังนั้นด้วยความยาวที่แตกต่างกันและการเคลื่อนไหวแบบหลอกหลอกในระหว่างจุดต่าง ๆ ซึ่งฉันมีปัญหาในการจินตนาการว่าฉันจะทำสิ่งนั้นให้สำเร็จได้อย่างไร มีข้อมูลที่เป็นประโยชน์ที่อาจชี้แนะทิศทางที่ถูกต้องหรือไม่? ฉันควรทราบว่าฉันกำลังใช้โปรไฟล์ XNA 4.0 Reach แต่ผู้ที่กำหนดเองไม่เป็นไรเพราะฉันไม่ได้กำหนดเป้าหมายเป็น Windows Phone

2
OpenGL ES 2.0: การตั้งค่าการฉาย 2D
บทความนี้อธิบายโดยทั่วไปวิธีการวาดกราฟิค OpenGL 2D ที่คมชัดโดยใช้ฟังก์ชั่นฟังก์ชั่นคงที่ http://basic4gl.wikispaces.com/2D+Drawing+in+OpenGL เนื่องจาก OpenGL ES 2.0 มีฟังก์ชั่น ES 1.x บางฟังก์ชั่นไม่สามารถใช้งานได้ (เช่น: glOrtho ()) การทำงานของพวกเขาจะต้องถูกแทนที่ใน Fragment / Vertex shaders คำถามของฉันคือวิธีการตั้งค่าการฉายภาพ 2D ต่อไปนี้ในฟังก์ชั่นไปป์ไลน์ที่ตั้งโปรแกรมได้? const XSize = 640, YSize = 480 glMatrixMode (GL_PROJECTION) glLoadIdentity (); glOrtho (0, XSize, YSize, 0, 0, 1) glMatrixMode (GL_MODELVIEW) วิธีการกำหนดค่า Fragment และ Vertex shaders เพื่อทดแทนฟังก์ชั่นการตั้งค่าการฉาย …

3
ของแข็งที่เป็นของเหลวความหนืดสูง
เพื่อนของฉันและฉันกำลังพูดคุยความคิดที่แตกต่างกันเพื่อให้วัสดุในโลกถูกทำลายในแบบทีละน้อยและเขาเสนอความคิดในการเป็นตัวแทนของของแข็งเป็นของเหลวที่มีความหนืดมาก สัญชาตญาณของฉันคือสิ่งนี้อาจเป็นได้: A) ยากมากหรือ B) ใช้ทรัพยากรมาก แต่ฉันไม่แน่ใจ โมเดลนี้เป็นไปได้สำหรับเกม RPG / ผจญภัย rpg / fps หรือไม่? แก้ไข: การทำให้กระจ่าง: แนวคิดนี้มีไว้สำหรับการชนและวัตถุที่จะถูกจัดการโดยระบบนี้ โดยทั่วไปแล้วอนุญาตให้วัตถุใด ๆ ที่จัดการด้วยวิธีนี้สามารถทำลายได้แทนที่จะมีวัตถุที่ทำลายได้ในสคริปต์

5
การดำเนินการบูลีนบนตาข่าย
กำหนดชุดของจุดยอดและสามเหลี่ยมสำหรับแต่ละตาข่าย ไม่มีใครรู้เกี่ยวกับอัลกอริทึมหรือสถานที่ที่จะเริ่มมอง (ฉันลอง google ก่อน แต่ยังไม่พบสถานที่ที่ดีในการเริ่มต้น) เพื่อดำเนินการบูลีนบนตาข่ายกล่าวว่าและได้รับชุดของจุดยอดและสามเหลี่ยมสำหรับตาข่ายที่เกิดขึ้น? สิ่งที่น่าสนใจโดยเฉพาะคือการลบและสหภาพ ภาพตัวอย่าง: http://www.rhino3d.com/4/help/Commands/Booleans.htm

3
ฉันจะย่อขนาดศิลปะพิกเซลได้อย่างไร
มีความอุดมสมบูรณ์ของขั้นตอนวิธีการที่จะไต่ขึ้นศิลปะพิกเซล (ฉันชอบhqxส่วนตัว.) แต่จะมีผู้ใดขั้นตอนวิธีการที่โดดเด่นขนาดมันลง ? เกมของฉันออกแบบมาให้ทำงานด้วยความละเอียด1280x720แต่ถ้าเล่นด้วยความละเอียดต่ำกว่าฉันยังต้องการให้มันดูดี การอภิปรายพิกเซลของศิลปะส่วนใหญ่อยู่ที่รอบ ๆ320x200หรือ640x480ยกระดับเพื่อใช้ในคอนโซลอีมูเลเตอร์ แต่ฉันสงสัยว่าเกม 2D ที่ทันสมัยเช่นMonkey Island Remakeสามารถดูดีได้อย่างไรเมื่อความละเอียดต่ำลง? แน่นอนว่าไม่สนใจตัวเลือกในการมีเนื้อหาหลายเวอร์ชัน (เช่นการทำแผนที่ )

5
ห้องสมุดคณิตศาสตร์ที่สมบูรณ์สำหรับใช้ในเกม OpenGL ES 2.0 หรือไม่ [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Game Exchange Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา คุณทราบหรือไม่ว่าไลบรารีคณิตศาสตร์ข้ามแพลตฟอร์มที่สมบูรณ์ (หรือเกือบจะสมบูรณ์) สำหรับใช้ในเกม OpenGL ES 2.0? ห้องสมุดควรมี: คลาส Matrix2x2, เมทริกซ์ 3x3, Matrix4x4 quaternions คลาส Vector2, Vector3, Vector4 คลาสมุมออยเลอร์ การดำเนินการในชั้นเรียนที่กล่าวถึงการแปลง ฯลฯ การดำเนินการทางคณิตศาสตร์ที่ใช้เป็นมาตรฐานในกราฟิก 3 มิติ (ผลิตภัณฑ์ Dot, Cross Product, SLERP, ฯลฯ ... ) มี API คณิตศาสตร์ดังกล่าวสามารถใช้ได้ทั้งแบบสแตนด์อโลนหรือเป็นส่วนหนึ่งของแพคเกจใด ๆ ? ภาษาการเขียนโปรแกรม: Visual C …

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

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

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