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

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

2
อะไรคือข้อได้เปรียบของ OpenGL ที่มีอยู่เหนือเฟรมเวิร์ก / เอนจิ้นสำหรับผู้พัฒนารายย่อย? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ฉันสังเกตเห็นแนวโน้มของนักพัฒนาอินดีที่หลีกเลี่ยงเฟรมเวิร์กและเอ็นจิ้นและเคลื่อนไปสู่การใช้ OpenGL ที่เปลือยเปล่าหรือใช้ร่วมกับ SDL / SFML2 ในฐานะนักพัฒนาอินดี้ฉันไม่สามารถเห็นสิ่งที่ OpenGL ระดับต่ำสามารถเสนอให้กับเอนจิ้นหรือเฟรมเวิร์กแยกกันได้ เอ็นจิ้นและเฟรมเวิร์กที่เหมาะสมที่สุดให้ฟังก์ชั่นที่คุณต้องการและไม่เคยเข้ามาขวางทางคุณเลย พวกเขาอาจเปิดตัวเลือกเพื่อจัดการกับ OpenGL โดยตรง บางคนเสนอฟังก์ชั่นในการรวบรวมข้ามแพลตฟอร์ม! ฉันเข้าใจความทะเยอทะยานที่จะเรียนรู้สิ่งที่เกิดขึ้นใต้กระโปรงหน้ารถ แต่ฉันไม่สามารถมองเห็น Upsides ใด ๆ ที่ OpenGL อาจเสนอให้กับนักพัฒนาอินดี้ผ่านเครื่องมือหรือกรอบงาน คุณช่วยอธิบายเหตุผลในการสร้างเกมตั้งแต่เริ่มต้นด้วย OpenGL ได้ไหม?
16 opengl  c++ 

1
เทคนิคการแสดงเงาที่ทันสมัย?
รัฐของศิลปะในแง่ของการแสดงเงาคืออะไร? เป้าหมายของฉันคือ OpenGL 3.2 โดยใช้ไปป์ไลน์การแสดงผลที่เลื่อนออกไปหากมีความสำคัญ เป็นเวลาหลายปีแล้วที่ฉันได้ดูการเรนเดอร์เงาและในเวลานั้นมีเทคนิคมากมายตั้งแต่ stencils ไปจนถึงวิธีการแมปเงาต่างๆ ในเวลานั้นเงาการเรนเดอร์ต้องผ่านการเรนเดอร์แยกต่างหากซึ่งควบคุมโดย CPU แต่เมื่อเร็ว ๆ นี้ฉันเห็นการสาธิตว่ามีการแสดงฉากทั้งหมดบน GPU รวมถึงเงา ฉันไม่รู้ว่ามันจะสำเร็จได้อย่างไรหรือถ้ามันเป็นสิ่งที่สมเหตุสมผลที่ต้องทำ (นอกเหนือจากการสาธิตเทคโนโลยี) ด้วยข้อมูลเก่าจำนวนมากบนอินเทอร์เน็ตฉันต้องการที่จะเรียนรู้ว่าผู้คนใช้วิธีการใดในยุคนี้และสามารถผลักไปที่ GPU ได้มากแค่ไหน (สมมุติว่า OpenGL รุ่นเป้าหมายของฉันรองรับ)
16 opengl  shadows 

1
OpenGL: ปรับขนาดจอแสดงผลและ glOrtho / glViewport
ฉันได้ค้นคว้าคำถามนี้จากหลาย ๆ แหล่งและยังไม่พบคำตอบที่แน่นอนที่บอกว่า "ใช่นั่นคือการคิดที่ถูกต้อง" หรือ "ไม่นี่คือวิธีที่ทำ" ฉันพยายามรับประกันความเป็นอิสระในการแก้ปัญหาด้วยการเรนเดอร์ OpenGL วิธีที่ฉันคิดว่าฉันควรทำคือการสร้างการฉายภาพโดยใช้glOrthoทุกสิ่งที่ฉันต้องการให้พิกัดโลกเป็น ตัวอย่างเช่นglOrtho(-50.0, 50.0, -50.0, 50.0, 1.0, -1.0). ถัดไปตั้งค่าวิวพอร์ตไปยังความละเอียดหน้าจอคือ glViewport(0, 0, 800, 600)- ในที่สุดเมื่อใดก็ตามที่หน้าต่างมีขนาดใหม่ให้ทำการโทรglViewportด้วยความละเอียดหน้าจอที่อัปเดต นี่จะเป็นการเพิ่มขนาดของคุณ นี่เป็นวิธีที่ถูกต้องหรือไม่ที่จะทำให้แน่ใจว่ารุ่นต่างๆมีสัดส่วนพื้นที่หน้าจอเท่ากันตามความละเอียดที่แตกต่างกันหรือไม่? ฉันควรใช้การฉายภาพที่มีความละเอียดเท่ากับหรือไม่ ฉันพบคำตอบบางคำที่บอกว่าglOrthoควรใช้ความละเอียดของหน้าต่างของคุณในขณะที่คนอื่นบอกว่าควรจะ / อาจแตกต่างกัน คิด?

1
ความเหมาะสมของหมอกบนพื้นโดยใช้อัลฟ่าสี่ชั้น?
วิธีการเรียงลำดับชั้นจะใช้ชุดอัลฟาที่มีพื้นผิวขนาดใหญ่จัดเรียงขนานกับพื้นดินซึ่งตัดกันรูปทรงเรขาคณิตของพื้นที่ทั้งหมดเพื่อให้ภาพลวงตาของหมอกบนพื้นดินค่อนข้างมีประสิทธิภาพจากระดับสูงมองลง มองไปที่ขอบฟ้า (ดูภาพด้านล่าง) อีกวิธีหนึ่งวิธีการที่ยึดตามส่วนใหญ่จะคำนวณความหนาแน่นเป็นฟังก์ชั่นของระยะการมองเข้าไปในพื้นผิวหมอกและส่งออกค่าชิ้นส่วนตามที่ โดยไม่ต้องทดสอบประสิทธิภาพแต่ละวิธีด้วยตนเองฉันอยากจะฟังประสบการณ์ของผู้อื่นก่อน(ไม่ใช่การเก็งกำไร!) กับสิ่งที่มีผลต่อประสิทธิภาพของการเรียงตัวของอัลฟาที่น่าจะเป็น ฉันถามอย่างเฉพาะเจาะจงเนื่องจากผลกระทบที่เกิดขึ้นจากการถอนเงินเกินจริง (ไม่แน่ใจว่าอัตราการเติมจะผูกไว้กับระบบเดสก์ท็อปเฉลี่ยของคุณอย่างไร) รายชื่อเกมที่ใช้วิธีการนี้โดยเฉพาะเกมที่เก่ากว่าจะมีประโยชน์อย่างมากหากเป็นไปได้สำหรับฮาร์ดแวร์ DX9 / OpenGL2 ที่ใช้งานได้ล่วงหน้ามันมีแนวโน้มที่จะทำงานได้ดีสำหรับฉัน หนึ่งคำถามใหญ่คือเกี่ยวกับลักษณะพิเศษนี้: (เครดิตรูปภาพไปที่ Lume of lume.com) สังเกตว่าการไล่ระดับหมอกในแนวดิ่งนั้นราบรื่นหรือต่อเนื่อง OTOH โดยใช้เลเยอร์สี่ชั้นที่มีพื้นผิวฉันสามารถสรุปได้ว่าเลเยอร์จะเห็นได้ชัดมากเมื่อเดินผ่านพวกเขา - ยิ่งเบาบางยิ่งพวกเขาก็จะยิ่งชัดเจนมากขึ้นเท่านั้น นี่คือสิ่งที่ตรงกันข้ามกับที่ระนาบหมอกที่ถูกจัดแนวเพื่อเผชิญหน้ากับผู้เล่นทุกเฟรม
16 opengl  3d  textures  shaders 

2
OpenGL: VBO หรือ glBegin () + glEnd ()?
ฉันเพิ่งได้รับลิงก์นี้ไปยังไซต์การสอนจากคนที่ฉันให้ OGL Redbook ดั้งเดิมแก่ ส่วนหัวที่สามลงกล่าวอย่างชัดเจนว่าลืม glBegin () & glEnd () เป็นวิธีการเรนเดอร์ทั่วไป ฉันเรียนรู้ผ่านวิธีของ Redbook แต่ฉันเห็นประโยชน์บางอย่างใน VBOs นี่เป็นวิธีที่จะไปจริงๆหรือไม่และถ้าเป็นเช่นนั้นมีวิธีในการแปลงรหัสการเรนเดอร์และเฉดสีที่ตามมาให้เป็น VBOs และประเภทข้อมูลที่ตามมาหรือไม่?
16 opengl  graphics  glsl  vbo 

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 โดยใช้ฟังก์ชั่นฟังก์ชั่นคงที่" โดยธรรมชาติแล้วคุณจะเห็นว่าทำไมฉันถึงขัดแย้งกันเกี่ยวกับกระบวนทัศน์ที่จะเรียนรู้: ฉันใช้เวลาในการเรียนรู้มากมาย …

2
เวอร์ชัน OpenGL ใดบ้างที่จะเรียนรู้และ / หรือใช้?
ดังนั้นฉันใหม่กับ OpenGL ... ฉันมีความรู้ทั่วไปเกี่ยวกับการเขียนโปรแกรมเกม แต่มีประสบการณ์น้อยมาก ฉันได้ดูบทความและหนังสือต่าง ๆ และพยายามที่จะดำดิ่งลงใน OpenGL แต่ฉันได้พบเวอร์ชันที่หลากหลายและวิธีการทำสิ่งเก่า ๆ ที่สับสน ฉันเดาว่าคำถามแรกของฉันคือไม่มีใครรู้ว่าตัวเลขบางส่วนเกี่ยวกับเปอร์เซ็นต์ของนักเล่นเกมที่สามารถเรียกใช้ OpenGL แต่ละรุ่นได้ ส่วนแบ่งตลาดเป็นอย่างไร 2.x, 3.x, 4.x ... ฉันค้นหาข้อกำหนดสำหรับ Half Life 2 เนื่องจากฉันรู้ว่า Valve อัปเดตด้วย OpenGL เพื่อให้ทำงานบน Mac และฉันรู้ว่าพวกเขามักจะพยายามเข้าถึงฐานผู้ใช้ที่กว้างมากและพวกเขากล่าวว่า GeForce 8 Series ขั้นต่ำ ฉันดูที่ 8800 GT ในเว็บไซต์ของ Nvidia และมันแสดงการสนับสนุน OpenGL 2.1 ซึ่งบางทีฉันผิดฟังโบราณสำหรับฉันเนื่องจากมี 4.x อยู่แล้ว ฉันค้นหาไดรเวอร์สำหรับ 8800GT และมันบอกว่ารองรับ 4.2! …

5
เริ่มต้นด้วย OpenGL เมื่อบทเรียนส่วนใหญ่ล้าสมัย [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Game Exchange Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว ฉันแน่ใจว่ามีคำถามมากมายเช่นนี้แล้ว แต่การอัปเดตห้องสมุด OpenGL อย่างต่อเนื่องส่งผลให้พวกเขาหมดไปและในหนึ่งหรือสองเดือนคำตอบที่นี่จะไร้ประโยชน์อีกครั้ง ฉันพร้อมที่จะเริ่มเขียนโปรแกรมใน OpenGL โดยใช้ C ++ ฉันมีคอมไพเลอร์ที่ใช้งานได้ (DevCpp; อย่าขอให้ฉันเปลี่ยนไปใช้ VC ++ และอย่าถามฉันว่าทำไม) ตอนนี้ฉันแค่มองหาบทช่วยสอนที่แข็งแกร่งเกี่ยวกับวิธีการตั้งโปรแกรมด้วย OpenGL ผู้ช่วยของฉันพบบทช่วยสอนที่จัดทำโดย NeHe Productions แต่เมื่อฉันได้รู้แล้วว่ามันออกจากวันที่แล้ว! (แม้ว่าฉันจะดึงหน้าต่างพื้นฐานมารวมกันเพื่อรองรับผ้าใบ OpenGL) จากนั้นฉันก็ออนไลน์และพบว่า OpenGL SuperBible ซึ่งเห็นได้ชัดว่าใช้ freeglut แต่สิ่งที่ฉันอยากรู้คือ SuperBible 5th edition จะเป็นปัจจุบันหรือไม่ ข้อเสนอแนะเพื่อ freeglut ฉันพบว่ารุ่นล่าสุดคือ 2.6.0 แต่ตอนนี้มันเป็น 2.8.0! …
16 c++  opengl 

2
GLSL Shader Effects: การเคลื่อนไหวเบลออย่างไร?
ฉันมีสภาพแวดล้อมแบบ 2D เต็มรูปแบบด้วยสไปรต์ไปรอบ ๆ เป็นแนวนอนตัวละคร ฯลฯ เพื่อให้ดูทันสมัยยิ่งขึ้นฉันต้องการใช้เอฟเฟกต์การเบลอแบบเคลื่อนไหวซึ่งคล้ายกับเกม FPS สมัยใหม่ (เช่น Crysis) เบลอเมื่อเคลื่อนไหวกล้องอย่างรวดเร็ว ใน sidecroller เอฟเฟกต์ที่ต้องการคือการเบลอเล็กน้อยนี้เพื่อให้เกิดแนวคิดในการเคลื่อนไหวอย่างรวดเร็วเมื่อกล้องกำลังเคลื่อนไหว หากใครสามารถให้คำแนะนำในการทำสิ่งนี้กับฉันได้ฉันถือว่าเป็นผู้สร้างพิกเซลฉันจะรู้สึกขอบคุณ

2
เทคนิคการเพิ่มประสิทธิภาพการเรนเดอร์ทั่วไปสำหรับเรขาคณิตผ่านในเรนเดอร์แรเงาที่เลื่อนออกไปเป็นอย่างไร [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ฉันพัฒนาเครื่องมือเกมโดยใช้ OpenGL 3 และ C ++ (และ glfw สำหรับการจัดการหน้าต่าง) ฉันได้ก้าวหน้าไปแล้วทำสิ่งต่าง ๆ ให้เสร็จยกเว้นเสียงและการปรับให้เหมาะสมที่สุด เอ็นจิ้นใช้การแรเงาที่เลื่อนออกไปดังนั้นเนื่องจากการแรเงาที่เลื่อนออกไปนั้นเป็นกระบวนการที่น่าเบื่อสำหรับ GPU โดยเฉลี่ยฉันต้องการเพิ่มประสิทธิภาพของกระบวนการเรนเดอร์ให้มากที่สุด ระบบปัจจุบันประกอบด้วยฉากที่มี Renderer std::vectorsและโลกปัจจุบันและโลกถือหน่วยงานและหน่วยงานที่แยกออกจากแสง ดังนั้นโดยทั่วไปทุกครั้งที่ซีนถูกเรียกโดย->render()และมันเรียกว่า Renderer ผ่านโลกเป็นพารามิเตอร์และรับเอนทิตีซ้ำจากทั่วโลกดึงพวกมันไปยัง FBO จากนั้นผ่านหน่วยแสงสำหรับการผ่านครั้งที่สอง และฉันคิดว่ามันไม่เพียงพอ อัลกอริทึมปัจจุบันของฉันวนซ้ำทุกอย่างแม้ว่าเอนทิตีไม่ได้อยู่ในพื้นที่หน้าจอ ฉันกำลังคิดหาวิธีเพิ่มประสิทธิภาพอัลกอริธึมการแสดงผลปัจจุบันดังนั้นจึงเรียกเฉพาะฟังก์ชัน API เฉพาะสำหรับวัตถุที่มองเห็นดังนั้นเทคนิคทั่วไปในการปรับการแสดงผลให้เหมาะสมคืออะไร

1
GLEW คืออะไรและทำงานอย่างไร
ฉันกำลังมองหาคำอธิบายที่เริ่มต้นง่าย คำอธิบายของเว็บไซต์ทางการสั้นเกินไปและทำให้ฉันมีคำถามมากกว่าคำตอบ: GLEW คืออะไร หน้าของนักพัฒนา GLEW พูดว่า: OpenGL ขยาย Wrangler ห้องสมุด (GLEW) เป็นข้ามแพลตฟอร์มโอเพ่นซอร์ส C / C ++ ห้องสมุดโหลดส่วนขยาย GLEW จัดเตรียมกลไกรันไทม์ที่มีประสิทธิภาพสำหรับการพิจารณาว่าส่วนขยาย OpenGL ใดได้รับการสนับสนุนบนแพลตฟอร์มเป้าหมาย แต่ห้องสมุดโหลดส่วนขยายคืออะไร? วิกิของ OpenGL พูดว่า OpenGL โหลด Library เป็นห้องสมุดที่ชี้โหลดฟังก์ชั่น OpenGLที่รันไทม์หลักเช่นเดียวกับส่วนขยาย การพอยน์เตอร์ไปยังฟังก์ชั่น OpenGLหมายถึงอะไร? คืออะไรนามสกุล ? " แกนและส่วนขยาย " หมายความว่าอย่างไร
15 opengl  glew 

3
ฉันจะทำให้พื้นผิว OpenGL ปรับขนาดได้โดยไม่มัวหรือไม่?
ฉันใช้ OpenGL ผ่าน LWJGL ฉันมีการเรนเดอร์รูปสี่เหลี่ยมขนาด 16x16 ที่ 16x16 เมื่อฉันเปลี่ยนเป็นจำนวนสเกล, รูปสี่เหลี่ยมจะโตขึ้น, จากนั้นจะกลายเป็นพร่ามัวเมื่อมันใหญ่ขึ้น ฉันจะทำให้มันขยายได้โดยไม่ทำให้ตาพร่าเช่นใน Minecraft นี่คือรหัสภายในวัตถุ RenderableEntity ของฉัน: public void render(){ Color.white.bind(); this.spriteSheet.bind(); GL11.glBegin(GL11.GL_QUADS); GL11.glTexCoord2f(0,0); GL11.glVertex2f(this.x, this.y); GL11.glTexCoord2f(1,0); GL11.glVertex2f(getDrawingWidth(), this.y); GL11.glTexCoord2f(1,1); GL11.glVertex2f(getDrawingWidth(), getDrawingHeight()); GL11.glTexCoord2f(0,1); GL11.glVertex2f(this.x, getDrawingHeight()); GL11.glEnd(); } และนี่คือรหัสจากวิธี initGL ของฉันในคลาสเกมของฉัน GL11.glEnable(GL11.GL_TEXTURE_2D); GL11.glClearColor(0.46f,0.46f,0.90f,1.0f); GL11.glViewport(0,0,width,height); GL11.glOrtho(0,width,height,0,1,-1); และนี่คือรหัสที่ใช้วาดรูปจริง public void start(){ initGL(800,600); init(); while(true){ …
15 opengl  java  lwjgl  slick 

1
การสร้าง HUD / GUI ด้วย OpenGL (LWJGL)
ฉันอยู่ในขั้นตอนของการพัฒนาเกมที่ฉันต้องทำ HUD หรือ GUI ฉันไม่เคยได้รับส่วนนี้ดังนั้นฉันไม่รู้ว่ามันเสร็จสิ้นแล้ว ฉันพยายามเรนเดอร์สี่เหลี่ยมที่ตำแหน่งคงที่บนหน้าจอ แต่มีปัญหา เพื่อให้กล้องของฉันทำงานกับออโทกราฟฟิคฉันใช้สิ่งนี้: public void lookThrough() { GL11.glMatrixMode(GL11.GL_PROJECTION); GL11.glLoadIdentity(); GL11.glOrtho(position.x, position.x + Display.getDisplayMode().getWidth()/zoom, position.y + Display.getDisplayMode().getHeight()/zoom, position.y, -1, 1); GL11.glMatrixMode(GL11.GL_MODELVIEW); } ฉันไม่เห็นว่าฉันจะสามารถแก้ไขบางสิ่งบางอย่างบนหน้าจอโดยใช้วิธีนี้ได้อย่างไร มีวิธีใดบ้างไหม? ขอบคุณ :)
15 opengl  java  gui  lwjgl 

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

3
ขนาด Sprite OpenGL ES 2.0 Point
ฉันกำลังพยายามวาด sprite พอยต์ใน OpenGL ES 2.0 แต่จุดทั้งหมดของฉันจบลงด้วยขนาด 1 พิกเซล ... แม้ว่าฉันจะตั้งค่า gl_PointSize ให้มีค่าสูงใน Shader ของฉันก็ตาม ฉันจะทำให้จุดสไปรต์ของฉันใหญ่ขึ้นได้อย่างไร
15 opengl  3d  android  opengl-es 

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