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

C ++ เป็นภาษาเขียนโปรแกรมแบบสแตติกแบบหลายกระบวนทัศน์รวบรวมภาษาโปรแกรมอเนกประสงค์

4
HDR ทำงานอย่างไร
ฉันพยายามเข้าใจว่า HDR คืออะไรและทำงานอย่างไร ฉันเข้าใจแนวคิดพื้นฐานและมีความคิดเล็กน้อยเกี่ยวกับวิธีการนำไปใช้กับ D3D / hlsl อย่างไรก็ตามมันยังคงมีหมอกสวย สมมติว่าฉันแสดงทรงกลมด้วยพื้นผิวโลกและรายการจุดเล็ก ๆ เพื่อทำตัวเป็นดาวฉันจะแสดงสิ่งนี้ใน HDR ได้อย่างไร นี่คือบางสิ่งที่ฉันสับสนเกี่ยวกับ: ฉันเดาว่าฉันไม่สามารถใช้รูปแบบภาพพื้นฐานใด ๆ กับพื้นผิวได้เนื่องจากค่าจะถูก จำกัด ที่ [0, 255] และถูกจับไปที่ [0, 1] ในรูปแบบ กันไปสำหรับบัฟเฟอร์ด้านหลังฉันคิดว่ารูปแบบต้องเป็นรูปแบบจุดลอยตัวหรือไม่ ขั้นตอนอื่น ๆ ที่เกี่ยวข้องมีอะไรบ้าง แน่นอนว่าจะต้องมีมากกว่าการใช้รูปแบบจุดลอยตัวเพื่อเรนเดอร์ไปยังเป้าหมายเรนเดอร์จากนั้นใช้การเบ่งบานเป็นกระบวนการโพสต์? (พิจารณาผลลัพธ์จะเป็น 8bpp อยู่ดี) โดยพื้นฐานแล้ว HDR มีขั้นตอนอย่างไรบ้าง? มันทำงานยังไง? ฉันไม่สามารถหาบทความ / บทความที่ดีที่อธิบายกระบวนการนอกเหนือไปจากบทความนี้ได้แต่ดูเหมือนว่าจะเรียดเรื่องพื้นฐานเล็กน้อยดังนั้นมันจึงสับสน
17 c++  hlsl  directx11  hdr 

1
วิธีการใช้การออกแบบข้อมูลเชิงวัตถุกับการเขียนโปรแกรมเชิงวัตถุ? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันได้อ่านบทความมากมายเกี่ยวกับ Data Oriented Design (DOD) และฉันเข้าใจ แต่ฉันไม่สามารถออกแบบระบบ Object Oriented Programming (OOP) โดยที่ DOD อยู่ในใจฉันคิดว่าการศึกษา OOP ของฉันกำลังบล็อกฉันอยู่ ฉันจะคิดว่าจะผสมสองอย่างนี้ได้อย่างไร วัตถุประสงค์คือมีส่วนต่อประสาน OOP ที่ดีในขณะที่ใช้ DOD เบื้องหลัง ฉันเห็นสิ่งนี้เช่นกัน แต่ก็ไม่ได้ช่วยอะไรมาก: /programming/3872354/how-to-apply-dop-and-keep-a-nice-user-interface
17 c++  architecture 

3
C ++“ นิ่ง” เป็นที่ต้องการในการพัฒนาเกมหรือไม่? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันเป็นโปรแกรมเมอร์เกม 2D ภาษาการเขียนโปรแกรมบางภาษาที่ฉันเก่งคือ C, Java, C # ฉันยังรู้จัก Actionscript 2.0,3.0 และจาวาสคริปต์บางตัว ฉันสนใจที่จะเรียนรู้การเขียนโปรแกรมเกม 3 มิติ จนถึงตอนนี้ฉันได้สะสมงานวิจัยโดย googling และอ่านฟอรัมและบทความการพัฒนาเกมที่แตกต่างกัน ฉันสังเกตว่าโปรแกรมเมอร์ส่วนใหญ่มักจะชอบ C ++ นอกจากนี้ในหลักสูตรการสอนการเขียนโปรแกรมเกมออนไลน์ฉันสังเกตเห็นว่าพวกเขาชอบสอน C ++ และ Visual C ++ เป็นหลักสูตรเริ่มต้น เหตุผลที่ฉันถามคำถามนี้เพราะฉันต้องการทราบความแตกต่างของ "ความแข็งแกร่ง" ของ C ++, C # และ Java สำหรับการเขียนโปรแกรมเกม 3 มิติ รวมถึงลิงก์ไปยังบทความการเขียนโปรแกรมเกม 3 มิติที่ดีสำหรับโปรแกรมเมอร์เกม …
17 c++  3d  game-industry 

5
ควรใช้ vector / list เมื่อใด
ฉันสามารถเข้าใจได้ว่าจะใช้รายการเมื่อใด แต่ฉันไม่เข้าใจว่าเมื่อใดควรใช้เวกเตอร์ดีกว่าการใช้รายการในวิดีโอเกม: เมื่อใดจึงจะมีการเข้าถึงแบบสุ่มอย่างรวดเร็ว (และฉันเข้าใจว่าทำไมการแทรก / ลบในรายการเร็วขึ้นเพราะเพิ่งลบ / เพิ่มตัวชี้ แต่ยังต้องค้นหารายการที่เกี่ยวข้อง ... )

4
ฉันจะเขียนระบบบันทึก / โหลดสำหรับเกมของฉันได้อย่างไร
ฉันกำลังพยายามหาวิธีเขียนระบบบันทึก / โหลดสำหรับเกมของฉันใน C ++ ณ ตอนนี้ฉันทำทุกอย่างโดยใช้ค่าสถานะไบนารี ใครมีเบาะแสเกี่ยวกับวิธีการทำวิธีอื่นได้หรือไม่ ฉันไม่สนใจการใช้ไบนารี แต่ต้องการทราบตัวเลือกของฉัน ฉันต้องการบางสิ่งบางอย่างซึ่งมันจะง่ายต่อการตรวจสอบสถานะของเหตุการณ์หนึ่งที่กำลังสมบูรณ์หรือไม่สมบูรณ์เพื่อที่จะตัดสินใจบางสิ่ง (ระบบไอเท็มจำนวนมากในเกมนี้ขึ้นอยู่กับสิ่งที่ผู้เล่นมีหรือยังไม่ได้ทำ ตลอดระยะเวลาของเกม)
17 c++  loading 

1
เป็นไปได้ไหมที่จะใช้ Unreal Engine เป็นไลบรารี C ++ ขนาดใหญ่โดยไม่ต้องใช้โปรแกรมแก้ไข?
ฉันต้องการเขียนเกมทั้งหมดใน C ++ แต่ฉันต้องการกำไรจากความเป็นไปได้ที่ Unreal Engine นำเสนอโดยเฉพาะในด้านกราฟิกและฟิสิกส์ อย่างไรก็ตามฉันไม่ชอบเครื่องมือแก้ไขภาพ: ฉันพบว่ามันหนักช้าและไม่ได้ใช้งานง่าย ในที่สุดมันบังคับให้ฉันใช้ Visual Studio แทน C ++ IDE ที่ฉันโปรดปราน มีวิธีใช้ Unreal Engine เป็นไลบรารีขนาดใหญ่ที่ฉันสามารถรวมไว้ในโครงการ C ++ ของฉันหรือฉันถูกบังคับให้ใช้ Unreal Editor หรือไม่ คำถามที่เกี่ยวข้องกับ Unity: ฉันจะสร้างเกมใน Unity ด้วยขั้นต่ำ / ไม่ใช้โปรแกรมแก้ไขภาพได้อย่างไร
16 c++  unreal-4  unreal 

4
วิธีการหมุนบล็อกใน Tetris
ฉันมีตารางกระดานเกมที่มีความสูง 20 แถวและกว้าง 10 คอลัมน์โดยมีจุดกำเนิด (0,0) อยู่ที่มุมซ้ายบน ฉันมี tetrimino ในการเล่นซึ่งประกอบด้วยสี่ช่วงตึก ฉันมีตำแหน่ง x, y ของแต่ละบล็อกที่สัมพันธ์กับจุดกำเนิดมุมซ้ายบน ฉันยังมีตำแหน่งของเดือยจุดที่ฉันต้องการหมุนซึ่งสัมพันธ์กับต้นกำเนิดมุมซ้ายบน แต่ละบล็อกมีตำแหน่งจำนวนเต็มในตารางเกมบอร์ดและดังนั้นเดือยมีตำแหน่งเป็นเศษส่วนในระหว่างบล็อกเช่น (10.5,10.5) คำถามของฉันคือฉันสามารถใช้สูตรใดในการหมุนแต่ละบล็อกรอบเดือย ฉันได้ดูคำถามและคำตอบที่คล้ายกันอยู่แล้ว แต่ไม่พบคำตอบที่ฉันสามารถทำงานได้ ความช่วยเหลือจะได้รับการชื่นชมมาก
16 c++  rotation 

3
ฉันควรใช้ฐานข้อมูลเพื่อจัดเก็บเนื้อหาของเกมหรือไม่ [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Game Exchange Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว ฉันมีเกม 2D เขียนใน C ++ โดยใช้ SFML ฉันต้องการทำให้เกมขยายได้ในลักษณะที่สามารถเพิ่มเนื้อหาเช่นรายการหรือเอนทิตีได้อย่างง่ายดายโดยการเพิ่มบรรทัด / รายการ / แถวลงในไฟล์หรือฐานข้อมูล ฉันกำลังมองหาบางอย่างที่ไม่จำเป็นต้องรวบรวมเข้าไปในโปรแกรม แต่สามารถอ่านและเขียนไปที่รันไทม์แทน เมื่อใดที่เหมาะสมที่จะใช้ฐานข้อมูล
16 c++  sfml  databases 

6
ฉันจะใช้ซิงเกิลตันอย่างถูกต้องในการเขียนโปรแกรมเอ็นจิน C ++ ได้อย่างไร?
ฉันรู้ว่าซิงเกิลตันไม่ดีเอ็นจิ้นเกมเก่าของฉันใช้วัตถุ 'เกม' ซิงเกิลตันที่จัดการทุกอย่างตั้งแต่การเก็บข้อมูลทั้งหมดจนถึงลูปเกมจริง ตอนนี้ฉันกำลังสร้างใหม่ ปัญหาคือการวาดอะไรบางอย่างใน SFML คุณใช้ที่เป็นหน้าต่างwindow.draw(sprite) sf::RenderWindowมี 2 ​​ตัวเลือกที่ฉันเห็นอยู่ที่นี่: สร้างวัตถุเกม Singleton ที่ทุกหน่วยงานในเกมดึง (สิ่งที่ฉันใช้มาก่อน) ทำให้นี่เป็นตัวสร้างสำหรับเอนทิตี: Entity(x, y, window, view, ...etc)(นี่เป็นเพียงเรื่องไร้สาระและน่ารำคาญ) อะไรจะเป็นวิธีที่เหมาะสมในการทำเช่นนี้ในขณะที่รักษานวกรรมิกของ Entity ให้เป็นแค่ x และ y ฉันสามารถลองและติดตามทุกสิ่งที่ฉันทำในลูปเกมหลักและเพียงแค่วาดเทพดาในลูปเกมด้วยตนเอง แต่ดูเหมือนว่ายุ่งเกินไปและฉันยังต้องการการควบคุมเต็มรูปแบบสำหรับฟังก์ชั่นการดึงทั้งหมด

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

2
เทคนิคการจัดการอินพุตในเกมขนาดใหญ่
มีเทคนิคมาตรฐานในการจัดการอินพุตในเกมขนาดใหญ่หรือไม่ ขณะนี้ในโครงการของฉันการจัดการอินพุตทั้งหมดเสร็จในลูปเกมดังนี้: while(SDL_PollEvent(&event)){ switch(event.type){ case SDL_QUIT: exit = 1; break; case SDL_KEYDOWN: switch(event.key.keysym.sym){ case SDLK_c: //do stuff break; } break; case SDL_MOUSEBUTTONDOWN: switch(event.button.button){ case SDL_BUTTON_MIDDLE: //do stuff break; } } break; } (ฉันใช้ SDL แต่ฉันคาดหวังว่าหลักปฏิบัติจะใช้กับไลบรารีและกรอบงานด้วย) สำหรับโครงการขนาดใหญ่ดูเหมือนจะไม่ใช่ทางออกที่ดีที่สุด ฉันอาจมีวัตถุหลายอย่างที่อยากรู้ว่าผู้ใช้กดอะไรดังนั้นจึงเหมาะสมสำหรับวัตถุเหล่านั้นในการจัดการอินพุต อย่างไรก็ตามพวกเขาไม่สามารถจัดการอินพุตได้หลังจากที่ใครคนหนึ่งได้รับเหตุการณ์มันจะถูกผลักออกจากบัฟเฟอร์เหตุการณ์ดังนั้นวัตถุอื่นจะไม่ได้รับอินพุตนั้น วิธีใดที่ใช้กันมากที่สุดในการต่อต้านสิ่งนี้?
16 c++  sdl  input  standards 

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 

6
ฉันสามารถพัฒนาเกมสำหรับแพลตฟอร์มมือถือใน C ++ ได้หรือไม่
ฉันมีความเข้าใจเป็นอย่างดีในภาษา C ++ และ C และมีประสบการณ์ในการพัฒนาเกม AAA โดยใช้ C ++ ตอนนี้ฉันคิดอย่างไร้ยางอายที่จะดำน้ำในการพัฒนาเกมมือถือทั้งใน iOS หรือ Android น่าเสียดายที่ฉันไม่รู้วัตถุประสงค์ C และ Java และไม่มีความกล้าที่จะเรียนรู้ ดังนั้นตามที่กล่าวไว้ข้างต้นมีความเป็นไปได้ไหมที่จะทำการพัฒนาอุปกรณ์พกพาใน C ++ โดยไม่ต้องใช้คำสั่งเดียวของ JAVA และ Objective-C?
16 c++  java  android  ios  objective-c 

1
การใช้คอนโทรลเลอร์ PS3 สำหรับการป้อนข้อมูลใน Mac OSX
ฉันจัดการค้นหาไดรเวอร์ USBเพื่อเชื่อมต่อกับคอนโทรลเลอร์ PS3 ใน OSX และตามที่ได้รายงานไว้ที่นี่สามารถเชื่อมต่อกับคอนโทรลเลอร์ผ่านทางบลูทู ธ ได้ ฉันตรวจสอบแล้วว่าอินพุตทำงานอย่างถูกต้องผ่าน Snes9x อย่างไรก็ตามนั่นเป็นเพียงพื้นหลังสำหรับคำถามที่แท้จริงของฉัน มีวิธีการเข้าถึง PS3 HID ผ่าน C ++ บน Mac หรือไม่? ฉันค่อนข้างใหม่ในการพัฒนา C ++ บน Mac โดยใช้ XCode และอินเทอร์เน็ตก็ผิดหวังในการค้นหาห้องสมุดที่จะใช้ ใครบ้างมีความคิดเกี่ยวกับวิธีที่ฉันสามารถเข้าถึงปุ่มควบคุม / แกนรัฐในรหัสเพื่อให้ฉันสามารถถ่ายโอนไปยังแผนที่อินพุตของฉันได้อย่างไร

3
มีเอกสารใดบ้างที่เปรียบเทียบ / เปรียบเทียบการปรับใช้มาตรฐานไลบรารี C ++ [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Game Exchange Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว (นี่ไม่ใช่การเขียนโปรแกรมเกมต่อ แต่ฉันแน่ใจว่าฉันถามเรื่องนี้ดังนั้นฉันจะได้รับการบอกว่าจะไม่ปรับให้เหมาะสมก่อนที่จะถึงแม้ว่าประวัติศาสตร์บอกเราทุกเกมใหญ่จบลงด้วยความกังวลเกี่ยวกับสิ่งเหล่านี้.) มีเอกสารใดบ้างที่สรุปความแตกต่างของประสิทธิภาพและโดยเฉพาะอย่างยิ่งการใช้หน่วยความจำระหว่างการใช้งานไลบรารีมาตรฐาน C ++ แตกต่างกันหรือไม่? รายละเอียดของการใช้งานบางอย่างได้รับการคุ้มครองโดย NDA แต่การเปรียบเทียบระหว่าง STLport กับ libstdc ++ เทียบกับ libc ++ กับ MSVC / Dinkumware (เทียบกับ EASTL?) ดูเหมือนว่าจะมีประโยชน์อย่างมาก โดยเฉพาะฉันกำลังมองหาคำตอบสำหรับคำถามที่ชอบ: หน่วยความจำค่าใช้จ่ายเกี่ยวข้องกับคอนเทนเนอร์มาตรฐานเท่าไร? คอนเทนเนอร์ใดมีถ้าทำการจัดสรรแบบไดนามิกโดยการประกาศเท่านั้น std :: string ทำการคัดลอกเมื่อเขียนหรือไม่? การเพิ่มประสิทธิภาพสตริงสั้น ๆ ? เชือก? std :: deque ใช้บัฟเฟอร์วงแหวนหรือไม่?

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