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

OpenGL เป็นมาตรฐานกราฟิกและ API ซึ่งกำหนดเป้าหมายไปยังตลาดเดสก์ท็อปและเวิร์กสเตชัน มันถูกออกแบบมาให้ง่ายต่อการเร่งความเร็วด้วยฮาร์ดแวร์คอมพิวเตอร์เฉพาะและการใช้งานส่วนใหญ่จึงให้ประสิทธิภาพที่ดีขึ้นอย่างมากเมื่อเทียบกับการแสดงผลซอฟต์แวร์แบบดั้งเดิม ปัจจุบัน OpenGL ใช้สำหรับแอพพลิเคชั่นเช่นซอฟต์แวร์ CAD และเกมคอมพิวเตอร์ นอกจากนี้ยังเป็นแพลตฟอร์มข้าม มาตรฐาน OpenGL ควบคุมโดยกลุ่ม Khronos ซึ่งควบคุม OpenGL ES ด้วย

3
การแรเงาที่เลื่อนออกไป - วิธีรวมแสงหลายดวงเข้าด้วยกัน?
ฉันเริ่มต้นด้วย GLSL และฉันได้ใช้การแรเงาที่เลื่อนออกไปอย่างง่ายซึ่งจะส่งออก G-buffer ด้วยตำแหน่ง, ค่าพื้นฐานและอัลเบโด้ ฉันยังเขียน shader แสงจุดง่ายเช่นกัน ตอนนี้ฉันวาดทรงกลมสำหรับจุดไฟและเอาท์พุทไปที่บัฟเฟอร์แสง ปัญหาคือฉันจะรวมผลลัพธ์ของบัฟเฟอร์แสงเมื่อวาดแสงหลายดวงได้อย่างไร เช่นเมื่อฉันวาดแสงที่สองไปยัง lightbuffer โดยใช้ shader แสงจุดฉันจะเพิ่มแสงแรกในแสงที่สองในบัฟเฟอร์แสงได้อย่างไร ฉันหมายความว่าคุณไม่สามารถอ่านและเขียนไปยังบัฟเฟอร์เอาต์พุตเดียวกันได้หรือไม่

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

2
คุณจะกำหนดวัตถุ / พื้นผิวของผู้ใช้ที่ชี้ด้วย lwjgl ได้อย่างไร
ชื่อเรื่องสวยมากพูดทุกอย่าง ฉันกำลังทำงานกับโครงการ 'ให้คุ้นเคยกับ lwjgl' อย่างง่ายเกี่ยวกับการจัดการกับลูกบาศก์ของรูบิคและฉันไม่สามารถหาวิธีที่จะบอกว่าด้านใด / สี่เหลี่ยมของผู้ใช้ที่ชี้ไปที่

4
ไม่เข้าใจพิกัดพื้นผิว UV เหล่านี้ (ช่วงไม่เท่ากับ 0.0 ถึง 1.0)
ฉันกำลังพยายามวาดวัตถุ 3 มิติแบบง่ายที่สร้างโดย Google SketchUp 8 Pro ลงในแอป WebGL ของฉันแบบจำลองนั้นเป็นรูปทรงกระบอกที่เรียบง่าย ฉันเปิดไฟล์ที่ส่งออกและคัดลอกตำแหน่งจุดยอดดัชนีบรรทัดฐานและพิกัดพื้นผิวเป็นไฟล์. json เพื่อให้สามารถใช้กับจาวาสคริปต์ได้ ดูเหมือนว่าทุกอย่างจะทำงานได้ดียกเว้นพิกัดพื้นผิวที่มีค่ามากเช่น 46.331676 และค่าลบ ตอนนี้ฉันไม่รู้ว่าฉันผิด แต่พิกัดพื้นผิว 2D ไม่ควรอยู่ในช่วงตั้งแต่ 0.0 ถึง 1.0 เท่านั้นใช่หรือไม่ การวาดแบบโดยใช้พิกัดพื้นผิวเหล่านี้ทำให้ฉันดูแปลกประหลาดอย่างสมบูรณ์และฉันสามารถเห็นพื้นผิวได้อย่างถูกต้องเมื่อฉันอยู่ใกล้มาก ลดขนาดและทำซ้ำไปเรื่อย ๆ ทั่วทั้งใบหน้าของนางแบบ (ใช่ฉันใช้ GL_REPEAT กับสิ่งห่อหุ้มพื้นผิวนั้น) สิ่งที่ฉันสังเกตคือถ้าฉันได้รับพิกัดเหล่านี้ทั้งหมดและหารพวกเขาด้วย 10 หรือ 100 ฉันได้ดู "ปกติ" มาก แต่ก็ยังไม่อยู่ในช่วง 0.0 ถึง 1.0 นี่คือไฟล์ json ของฉัน: http://pastebin.com/Aa4wvGvv นี่คือ GLSL Shaders ของฉัน: …

3
สั่งความโปร่งใสอิสระในระบบอนุภาค
ฉันกำลังเขียนระบบอนุภาคและต้องการหาเคล็ดลับในการผสมอัลฟาที่เหมาะสมโดยไม่ต้องคัดแยกอนุภาคเพราะ: แต่ละอนุภาคเป็นจุดสไปรต์ในตาข่ายเดียวและฉันไม่สามารถใช้ความสามารถกราฟฉากเพื่อจัดเรียงโหนดโปร่งใส แม้ว่าโหนดระบบควรจะถูกจัดเรียงอย่างเหมาะสม ตำแหน่งของอนุภาคถูกคำนวณบน shader จากความเร็วเริ่มต้นการเร่งความเร็วและเวลา ในการจัดเรียงระบบฉันจะต้องทำการคำนวณทั้งหมดนี้บน CPU ซึ่งเป็นสิ่งที่ฉันต้องการหลีกเลี่ยง จัดเรียงอนุภาคหลายร้อยกับตำแหน่งกล้องและอัปโหลดลงบน GPU แต่ละตะเข็บเพื่อให้การทำงานหนักเงียบสงบ การทดสอบอัลฟ่าดูเหมือนว่าจะเร็วพอสำหรับ GLES 2.0 และทำงานได้ดีสำหรับพื้นผิวที่ไม่โปร่งใส แต่มีการ "ปกปิด" ถึงกระนั้นก็ยังไม่เพียงพอสำหรับอนุภาคกึ่งโปร่งใส คุณจะจัดการกับสิ่งนี้อย่างไร

2
วิธีจัดการกับ OpenGL และ Fullscreen บน OS X
ฉันทำการพัฒนาบน OS X เป็นส่วนใหญ่และสำหรับโครงการเกมปัจจุบันของฉันนี่คือสภาพแวดล้อมเป้าหมายของฉัน อย่างไรก็ตามเมื่อฉันเล่นเกมฉันเล่นบน Windows ในฐานะนักเล่นเกม windows ฉันคุ้นเคยกับการเปลี่ยน Alt + Tab จากภายในเกมเป็นแอปพลิเคชันสุดท้ายที่เปิดขึ้น ใน OS XI ปัจจุบันไม่สามารถหาเกมที่รองรับได้และฉันไม่สามารถหาวิธีที่จะทำให้เป็นไปได้ โครงการปัจจุบันของฉันใช้ SDL 1.3 และฉันเห็นว่าแท็บ cmd + เป็นลำดับที่ส่งโดยตรงไปยังแอปพลิเคชันของฉันและไม่ถูกขัดขวางโดยระบบปฏิบัติการ ตอนนี้ความพยายามครั้งแรกของฉันคือการซ่อนหน้าต่างการแสดงผลบนแท็บ cmd + ซึ่งใช้งานได้อย่างแน่นอน แต่มีข้อเสียที่ไม่สามารถกู้คืนหน้าต่าง OpenGL ใน SDL ที่ซ่อนอยู่เมื่อผู้ใช้แท็บกลับไปที่แอปพลิเคชัน ก่อนอื่นไม่มีเหตุการณ์ใดเกิดขึ้นสำหรับฉันหรือฉันไม่สามารถค้นหาได้ประการที่สองปัญหาหลักคือเมื่อหน้าต่างแอปพลิเคชันนั้นถูกซ่อนเกมของฉันยังคงเป็นแอปพลิเคชั่นที่ใช้งานอยู่ นั่นเป็นเรื่องที่น่ารำคาญอย่างมาก มีแนวคิดใดที่จะประมาณพฤติกรรมของ windows / linux สำหรับแท็บ alt +
9 opengl  sdl  macos 

4
วิธีปรับปรุงประสิทธิภาพการทำงานเป็นชุด
ฉันกำลังพัฒนาเกม 2D แบบเทพดาสำหรับแพลตฟอร์มมือถือและฉันใช้ OpenGL (จริง ๆ แล้ว Irrlicht) เพื่อสร้างภาพกราฟิก ครั้งแรกที่ฉันใช้สไปรท์เรนเดอร์ด้วยวิธีง่าย ๆ : ทุก ๆ เกมจะแสดงผลเป็นรูปสี่เหลี่ยมด้วยการเรียกการวาดด้วย GPU ของตัวเองซึ่งหมายความว่าถ้าฉันมีวัตถุในเกม 200 รายการฉันทำการโทร 200 ครั้งต่อเฟรม แน่นอนว่านี่เป็นตัวเลือกที่ไม่ดีและเกมของฉันมีซีพียูที่เชื่อมโยงอย่างสมบูรณ์เพราะมีค่าใช้จ่ายซีพียูเล็กน้อยในการเรียกใช้ GPU ทุกครั้ง GPU อยู่เฉยตลอดเวลา ตอนนี้ฉันคิดว่าฉันสามารถปรับปรุงประสิทธิภาพได้โดยการรวบรวมวัตถุเป็นชุดใหญ่และแสดงชุดเหล่านี้ด้วยการเรียกสายเพียงไม่กี่ครั้ง ฉันใช้การแบทช์ (เพื่อให้ทุกเกมของวัตถุที่แชร์พื้นผิวเดียวกันมีการแสดงผลเป็นแบทช์เดียวกัน) และคิดว่าปัญหาของฉันหมดไป ... เพียงเพื่อจะพบว่าอัตราเฟรมของฉันต่ำกว่าเดิม ทำไม? ฉันมีวัตถุเกม 200 (หรือมากกว่า) และพวกมันได้รับการอัพเดท 60 ครั้งต่อวินาที ทุกเฟรมที่ฉันต้องคำนวณตำแหน่งใหม่ (การแปลและการหมุน) สำหรับจุดยอดในซีพียู (GPU บนแพลตฟอร์มมือถือไม่รองรับการติดตั้งดังนั้นฉันจึงไม่สามารถทำได้ที่นั่น) และทำการคำนวณนี้ 48000 ต่อวินาที (200 * 60 …

6
ไลบรารี่สำหรับโหลดรูปภาพลงในพื้นผิว, Linux, C และ OpenGl
ฉันกำลังมองหาไลบรารี่ C ที่เรียบง่ายในตัวสำหรับ Linux เพื่อโหลดรูปภาพจากไฟล์ลงในพื้นผิว OpenGL ใบอนุญาตควรจะค่อนข้างเสรี: zlib, bsd, mit หรืออะไรบางอย่าง ฉันพบดินแต่ไม่ได้รับการปรับปรุงเป็นเวลานาน มีอย่างอื่นหรือฉันจะต้องเขียนของตัวเอง? PS ฉันใช้ glfw มีฟังก์ชั่นที่ไม่รองรับการโหลดภาพเท่านั้น
9 opengl  textures  c  loading  linux 

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

4
การแปลงรูปทรงเรขาคณิตบน CPU vs GPU
ฉันได้สังเกตเห็นว่าโปรแกรม 3d หลายทำตามปกติเวกเตอร์การคำนวณ / เมทริกซ์เช่นเดียวกับการแปลงทางเรขาคณิตบน CPU มีใครพบความได้เปรียบในการเคลื่อนย้ายการคำนวณเหล่านี้เป็น shaders จุดสุดยอดใน GPU หรือไม่
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.