ฉันเพิ่งเจอ Q / A นี้และเมื่อประมาณหนึ่งปีก่อนเมื่อฉันเริ่มเดินทางลงเส้นทางนี้ ฉันพบว่านี่เป็นแหล่งข้อมูลที่ดีมากและมีหน้าอ้างอิงเกี่ยวกับคำถามที่เกี่ยวข้องของฉันเอง
ส่วนที่ 1: -
หน้า -
เล็กน้อยเกี่ยวกับตัวฉัน:
ในช่วงกลางถึงปลายยุค 80 เมื่อฉันยังอยู่ในโรงเรียนประถมฉันจะแยกขยะสเตอริโอ, VCR และอุปกรณ์อิเล็คตรอนอื่น ๆ ที่มาจากยุค 50 ถึง 80 และจะดูแผงวงจรและอยากรู้ว่าพวกเขาทำอย่างไร ทำงาน ... พวกเขารับสัญญาณออกอากาศได้อย่างไร, ผลิตเสียง, วิดีโอ, ทำสิ่งนี้และอื่น ๆ ... ฉันสามารถจำแนกแต่ละส่วนได้ที่นี่และมีเช่นตัวต้านทาน, ตัวเก็บประจุ, ไดโอดและทรานซิสเตอร์ แต่ไม่ได้ รู้ว่าพวกเขาทำอะไรหรือทำหน้าที่อย่างไรตั้งแต่อายุยังน้อย
ตลอดหลายปีที่ผ่านมาฉันมีวิชาคณิตศาสตร์ฟิสิกส์และเคมีมาโดยตลอด ฉันเข้าใจคณิตศาสตร์ในระดับสูงและสามารถอ่านวงจรเรียบง่ายหรือพื้นฐานจากโรงเรียนมัธยมและมัธยมปลายซึ่งมาภายหลัง แต่ฉันไม่เคยทำให้การเรียนรู้เกี่ยวกับประตูตรรกะและวิธีการสร้าง ... ฉันทำอย่างไรก็ตาม เรียนรู้พีชคณิตแบบบูลในโรงเรียนมัธยมจากระดับลอจิกความน่าจะเป็นและสถิติของฉัน วิชาคณิตศาสตร์และวิทยาศาสตร์ของฉันทุกวิชาเป็นวิชาที่มีเกียรติ ฉันไม่ได้เรียนแคลคูลัสจนกระทั่งเทอมที่สองที่วิทยาลัยชุมชน ฉันทดสอบจากวิทยาลัยพีชคณิตและใช้ตรีโกณมิติเป็นหลักสูตรทบทวน คณิตศาสตร์ระดับสูงสุดของฉันจากห้องเรียนคือ Calculus II ของตัวแปรเดียว
ฉันเล่นวิดีโอเกมตั้งแต่ฉันอายุประมาณ 3 หรือ 4 ปี ตั้งแต่เป็นเด็กฉันมี Atari, NES, Sega Genesis และ PS1 เมื่อฉันอายุมากขึ้นและเข้าสู่วัยรุ่นตอนปลายและต้นทศวรรษที่ 20 ฉันได้ซื้อ PS2 และ SNES ที่มีชื่อเรื่องที่ต้องการ สิ่งนี้ไม่ได้หมายความว่าจะเป็นการเล่นเกมบนพีซีที่ย้อนไปไกลถึง Doom!
ฉันมักจะเป็นนักเล่นเกมตัวยงและพีซีเสมอและนี่ไม่รวมเกมพินบอลและอาร์เคด
ฉันได้รับพีซีเครื่องแรกเมื่ออายุประมาณ 12 ปีสำหรับคริสต์มาสในต้นปี 90 วันของ DOS 6.0 และ Win 3.11 หรือ OS / 2 ตั้งแต่นั้นมาฉันก็คุ้นเคยกับระบบปฏิบัติการตระกูล "Windows" และระบบทั้งหมดที่ฉันมีคือสถาปัตยกรรมของ Intel ฉันมีประสบการณ์ จำกัด กับ Apple หรือ Mac จากโรงเรียนหรือวิทยาลัย แต่ฉันไม่เคยได้รับสิทธิพิเศษในการทำงานบนระบบ Linux ฉันมี Cygwin และฉันลองใช้มือเพื่อเรียนรู้การทุบตี แต่ฉันคุ้นเคยกับ Dos หรือไวยากรณ์ Command Prompt
ในช่วงต้นยุค 90 ฉันจะได้รับสำเนาหนึ่งหรือสองชิ้นของ PC-World และจะพิมพ์ข้อมูลโค้ดลงใน QBasic ซึ่งฉันไม่รู้จักดีมากและจะพยายามทำให้โปรแกรมเหล่านั้นทำงานได้ สิ่งเดียวที่ประสบความสำเร็จคือโปรแกรมที่จะเปลี่ยนการกดปุ่มบนแถวบ้านของปุ่มเป็นเสียงเรียกเข้าที่แตกต่างกัน ฉันไม่ได้หมายถึงเสียงเรียกเข้าในโทรศัพท์มือถือฉันหมายถึงความถี่ต่อเนื่องตราบใดที่คุณกดปุ่มค้างไว้
มันเป็นความปรารถนาของฉันเสมอที่ไม่เพียง แต่ต้องการทราบว่าอุปกรณ์อิเล็กทรอนิกส์ทำงานอย่างไรในการหมุนเวียนในระดับดิจิตอลและระดับตรรกะเพื่อเรียนรู้วิธีการเขียนโปรแกรมคอมพิวเตอร์ แต่ฉันมีความปรารถนาที่จะทำวิดีโอของตัวเองอยู่เสมอ เกม. แม้แต่ในช่วงต้นยุค 90 ฉันต้องการสร้างเกม Frogger และ Tetris ...
นี่เป็นแรงบันดาลใจชั้นนำของฉันและความปรารถนาที่จะจัดการกับการเขียนโปรแกรมหรือการพัฒนาซอฟต์แวร์ประเภทที่ยากที่สุดในสาขาวิทยาศาสตร์คอมพิวเตอร์และนั่นคือการออกแบบเกม 3 มิติ มีสาขาอื่น ๆ ในสาขาวิทยาศาสตร์คอมพิวเตอร์ที่มีความแข็งแกร่ง แต่โดยทั่วไปแล้วเอ็นจิ้นเกมที่ซับซ้อนจะโดยทั่วไปหรือมักจะรวมเกือบทั้งหมดเป็นส่วนประกอบหรือเอนจิ้นย่อยที่ต้องการเทคนิคและคุณสมบัติ
ฉันมีพื้นฐานในการเขียนโปรแกรมตั้งแต่สมัยมัธยม แต่นี่เป็นข้อ จำกัด ของ Visual Basic ที่น่ากลัว ฉันเริ่มรับและเรียนรู้ C / C ++ ประมาณปี 2002 - 2003 จนกระทั่งไม่กี่ปีหลังจากที่ฉันสำเร็จการศึกษาจาก High School ในปี 1999 ถึงวันนี้ฉันยังไม่มีประสบการณ์ระดับวิทยาลัยในสาขาวิทยาศาสตร์คอมพิวเตอร์หรือวิศวกรรมคอมพิวเตอร์ แต่ผ่าน การอุทิศตนและความมุ่งมั่นฉันได้เรียนรู้เกี่ยวกับแนวคิดทุกอย่างที่มีเมื่อมันมาถึงคอมพิวเตอร์ฮาร์ดแวร์การเขียนโปรแกรมอัลกอริทึม ฯลฯ และฉันยังคงเรียนรู้มากเท่าที่ฉันสามารถ ...
ในช่วงแรก ๆ ของการเรียนรู้ C / C ++ ฉันมีการเข้าถึงอินเทอร์เน็ต แต่อินเทอร์เน็ตก็อยู่ในช่วงเริ่มต้นเว็บไซต์เช่น Amazon, Youtube, Facebook และอื่น ๆ ยังไม่ได้มีอยู่มันยังคงเป็นวันที่ 56k หมุนหมายเลขโมเด็มซึ่งต่อสายโทรศัพท์ของคุณหากคุณไม่มีสายเฉพาะสายที่สอง ใช้เวลาไม่กี่นาทีในการแสดงภาพบนหน้าจอไม่ต้องกังวลกับการเล่นวิดีโอต่อเนื่อง
ดังนั้นเมื่อมาถึงการวิจัยและเรียนรู้วิธีการเขียนโปรแกรมใน C ++ ทรัพยากรมี จำกัด และส่วนใหญ่อยู่ในรูปแบบข้อความ เมื่อพยายามที่จะแก้ไขปัญหาโครงการจากวันที่กวดวิชาอินเทอร์เน็ตก่อนโครงการจำนวนมากไม่สมบูรณ์นักเขียนเป็นมืออาชีพหรือนักศึกษาและพวกเขาได้ตั้งสมมติฐานมากมายที่ผู้อ่านคุ้นเคยกับแนวคิดที่จำเป็นเช่นการรวบรวม เชื่อมโยงและแก้จุดบกพร่องและบูรณาการห้องสมุด
สำหรับคนที่ไม่รู้อะไรเลยเกี่ยวกับหัวข้อเหล่านั้นพวกเขาตกอยู่ในความสูญเสียเพราะไม่รู้ว่าอะไรผิดพลาดหรือจะแก้ไขอย่างไรและจะทำให้มันทำงานได้อย่างถูกต้อง ฉันใช้เวลาหลายชั่วโมงในการลองผิดลองถูกที่มีทรัพยากร จำกัด มาก ขอความช่วยเหลือเช่นตอนนี้เราสามารถใช้เว็บไซต์นี้หรือมองหาคำอธิบายโดยละเอียดที่คุณสามารถหาได้ในcppreference ! หากคุณไม่รู้จักใครเป็นการส่วนตัวไม่มีคนมากมายที่คุณสามารถขอความช่วยเหลือได้!
เมื่อเวลาผ่านไปฉันได้พัฒนาความรู้ของฉันที่นี่และที่นั่นและในที่สุดอินเทอร์เน็ตก็พัฒนาเป็น DSL และตอนนี้อินเทอร์เน็ตความเร็วสูงเว็บไซต์กลายเป็นแบบโต้ตอบมากขึ้นวิดีโอเริ่มปรากฏขึ้นคุณภาพของวิดีโอดีขึ้นตามกาลเวลาเช่นไซต์ต่างๆ เมื่อ Youtube เริ่มปรากฏตัวและสิ่งต่าง ๆ ก็ง่ายขึ้นเล็กน้อยในด้านการวิจัย บทเรียนเพิ่มเติมพร้อมใช้งานมากขึ้นบางคนเก่งและมีประโยชน์ซึ่งคนอื่น ๆ สอนวิธีปฏิบัติที่ไม่ดี ...
ฉันได้ใช้เวลามากมายในการค้นหาและรับเครื่องมือที่จำเป็นสำหรับการพัฒนา ฉันต้องเรียนรู้ไวยากรณ์ภาษากระบวนการคอมไพเลอร์และการคอมไพล์การเชื่อมโยงการสร้างและการดีบัก จากนั้นฉันต้องเรียนรู้เกี่ยวกับไลบรารีและ API ที่มีอยู่ที่ต่างกันออกไปและวิธีกำหนดค่าโครงการหรือโซลูชันของฉันเพื่อเชื่อมโยงการพึ่งพาทั้งหมดเหล่านั้น
ในช่วงหลายปีที่ผ่านมาฉันได้เห็นภาษา C ++ เติบโตขึ้นพัฒนาและปรับตัวตามกาลเวลา ในตอนแรกมันยังคงอยู่เกือบเหมือนเดิมเป็นเวลาหลายปี แต่ในช่วง 10 ปีที่ผ่านมามีการเปลี่ยนแปลงอย่างรวดเร็วภายในช่วงเวลาสั้น ๆ นี้นับตั้งแต่ก่อตั้งขึ้น
ฉันพูดถึงทั้งหมดนี้เพราะ C ++ เป็นหนึ่งในภาษาที่ยากที่สุดในการฝึกฝนอย่างเต็มที่เนื่องจากความสามารถรอบตัวพลังชุดฟีเจอร์ที่หลากหลายและความสามารถในการให้คุณถ่ายภาพด้วยตัวเอง! และถึงแม้จะมีข้อแม้ทั้งหมดมันเป็นหนึ่งในภาษาที่ทรงพลังและเป็นที่ต้องการมากที่สุดที่ใช้ในอุตสาหกรรมชั้นนำชั้นนำในฐานะมาตรฐานสำหรับการพัฒนาประเภทนี้เพราะเมื่อทำอย่างถูกต้องจะรวดเร็วรัดกุมเชื่อถือได้และใช้ พิมพ์เท้าที่เล็กที่สุด
ตั้งแต่นั้นมาฉันได้เรียนรู้ด้วยตนเองใน C / C ++ เป็นเวลาหลายปีด้วยความตั้งใจและมุ่งเน้นการเรียนรู้การเขียนโปรแกรมกราฟิก 3 มิติและการออกแบบเกม ฉันใช้เวลาในการค้นหาค้นคว้าและค้นคว้ามากขึ้นใน 100 ถึง 1,000 ชั่วโมงในการอ่านการเรียนรู้และการนำความรู้นั้นไปใช้ในการออกแบบผลิตภัณฑ์และแอปพลิเคชั่นที่มีประโยชน์ ฉันมีความตั้งใจและต้องการที่จะเรียนรู้เพิ่มเติมเพื่อพัฒนาทักษะและฝีมือของฉัน
นี่เป็นขั้นตอนแรกจากนั้นฉันก็เริ่มอ่านและทำงานกับ DirectX 9.c ในขั้นต้นซึ่งฉันได้ทำใน C / C ++ และแม้แต่ C # จากนั้นฉันก็ย้ายไปยัง DirectX 10 และ Legacy OpenGL 1.0 จาก DirectX 11 และ OpenGL 3.x - 4.x ที่มาของพวกเขาและตอนนี้ฉันได้ลองแม้แต่มือที่ Vulkan
ฉันได้สร้างเอ็นจิ้นเกมที่ประสบความสำเร็จซึ่งทำงานผ่านบทเรียนออนไลน์ต่างๆทั้งในรูปแบบข้อความและวิดีโอ ฉันได้กล่าวไปแล้วว่าฉันมีพื้นฐานด้านคณิตศาสตร์ที่แข็งแกร่ง แต่มีข้อ จำกัด สำหรับแคลคูลัส I & II ฉันต้องสอนตัวเอง Vector แคลคูลัสที่ฉันมีความรู้บางส่วนจากชั้นฟิสิกส์แคลคูลัสของฉันในวิทยาลัย แต่สำหรับพีชคณิตเชิงเส้นที่มี Affine การแปลงและเรขาคณิตวิเคราะห์ฉันต้องเรียนรู้ด้วยตัวเองเมื่อสมการฟังก์ชันวิธีการอัลกอริทึมและ แนวคิดจำเป็น จากนั้นฉันต้องเรียนรู้วิธีการแปลรหัสเหล่านั้นให้มีประสิทธิภาพอ่านได้น่าเชื่อถือและสามารถใช้ซ้ำได้ซึ่งเป็นรหัสทั่วไปและปราศจากข้อบกพร่องให้มากที่สุดโดยใช้การดีบักเป็นร้อยเป็นพันชั่วโมง
มันเป็นการเดินทางที่มหัศจรรย์ที่ได้เรียนรู้หัวข้อและอัลกอริทึมที่รวมถึงการจัดการหน่วยความจำการนับการอ้างอิงการอินสแตนซ์การเรียกซ้ำและอื่น ๆ อีกมากมายที่ใช้ภายในหลาย ๆ องค์ประกอบของเกมเอ็นจิ้น ฉันสามารถเขียนรายการทั้งหมดที่นี่ แต่นั่นจะเป็นข้อมูลเพียงพอที่จะเติมพื้นที่ตอบคำถาม 3 หรือ 4 ข้อในการเขียน อย่างไรก็ตามฉันจะรวมรายการหัวข้อทั่วไปไม่ใช่หัวข้อย่อย
นี่คือหัวข้อหรือรายชื่อหัวข้อในสิ่งที่ประกอบด้วยเอ็นจิ้นเกมที่ทำงานได้อย่างสมบูรณ์ซึ่งรวมถึงเทคนิคการจัดเรียงที่หลากหลายทั้งหมดการตั้งค่าการเรนเดอร์และ shader ไปป์ไลน์เทคนิคการแรเงาและแสงผ่าน shaders การโหลดรูปภาพการโหลดเสียงและการจำลองและการแยกวิเคราะห์การสร้างรูปร่างดั้งเดิมด้วยคุณสมบัติวัสดุสีพื้นผิวและพิกัดปกติที่มีการแมปพื้นผิวด้วยตนเองการแปลงวัตถุประเภทกล้องลำดับชั้นกราฟฉากฉากคลาสผู้จัดการสำหรับพื้นผิวเสียงแบบอักษรและเฉดสีและ การจัดการหน่วยความจำระบบการบันทึกด้วยการจัดการข้อยกเว้นเทคนิคการเขียนโปรแกรมแบบหลายเธรดและแบบขนานระบบเครือข่ายเครื่องยนต์ฟิสิกส์การตรวจจับการชนเครื่องกำเนิดอนุภาคภาพเคลื่อนไหวเกม AI การสร้างภูมิประเทศภูมิประเทศกล่องท้องฟ้าและโดมใบไม้และอีกมากมาย ... GUI พร้อมแบบอักษรพื้นผิวสำหรับการแสดงผลข้อความการซ้อนทับ HUD สินค้าคงคลังแผนที่และการสร้างมาโครระบบรัฐและเครื่องรัฐและในที่สุดก็เขียนโปรแกรมแยกวิเคราะห์เพื่อสร้างภาษาสคริปต์ของคุณเองเพื่อให้วัตถุเหล่านี้มี ความสามารถในการเปลี่ยนค่าข้อมูลภายในเอ็นจิ้นโดยไม่ต้องคอมไพล์ซ้ำเพียงแค่โหลดไฟล์ข้อมูลเพื่อเติมข้อมูลวัตถุและโครงสร้างภายในคอนเทนเนอร์ตามลำดับเมื่อเริ่มต้นแอปพลิเคชันและในที่สุดก็เขียน parser เพื่อสร้างภาษาสคริปต์ของคุณเองโดยอัตโนมัติเพื่อให้วัตถุเหล่านี้มีความสามารถในการเปลี่ยนค่าข้อมูลภายในเครื่องยนต์โดยไม่ต้องคอมไพล์ใหม่เพียงแค่โหลดไฟล์ข้อมูลเพื่อเติมวัตถุข้อมูลและโครงสร้างภายในคอนเทนเนอร์ที่เกี่ยวข้อง เมื่อเริ่มต้นแอปพลิเคชันและในที่สุดก็เขียน parser เพื่อสร้างภาษาสคริปต์ของคุณเองโดยอัตโนมัติเพื่อให้วัตถุเหล่านี้มีความสามารถในการเปลี่ยนค่าข้อมูลภายในเครื่องยนต์โดยไม่ต้องคอมไพล์ใหม่เพียงแค่โหลดไฟล์ข้อมูลเพื่อเติมวัตถุข้อมูลและโครงสร้างภายในคอนเทนเนอร์ที่เกี่ยวข้อง เมื่อเริ่มต้นแอปพลิเคชัน
ตลอดหลายปีที่ผ่านมาฉันรู้สึกทึ่งที่ต้องการเรียนรู้ภาษาแอสเซมบลีจากพวกเขาต้องการเรียนรู้เกี่ยวกับคอมไพเลอร์แอสเซมเบลอร์และระบบปฏิบัติการที่เรียบง่ายฉันหมายถึงการทำงานภายในของพวกเขา
เวลาผ่านไปจากนั้นฉันก็ก้าวไปข้างหนึ่งเล็กน้อยและเริ่มเข้าสู่การเรียนรู้การจำลองฮาร์ดแวร์ ฉันเน้นเฉพาะ NES แต่ต้องการเรียนรู้การจำลองฮาร์ดแวร์ของ CPU โดยทั่วไป สิ่งนี้นำฉันไปสู่การเรียนรู้เกี่ยวกับชุดคำสั่งที่ฉันได้รู้จักแนวคิดและสิ่งที่เป็นเพราะฉันคุ้นเคยกับตระกูล x86 ของ Intel ในระดับหนึ่ง แต่ตอนนี้ฉันต้องเรียนรู้ชุดคำสั่ง 6502
แต่การดำน้ำในครั้งนี้ทำให้ฉันทำวิจัยมากขึ้นและเริ่มเรียนรู้เกี่ยวกับสถาปัตยกรรมชุดคำสั่งจากมุมมองทางวิศวกรรม นี่ทำให้ฉันได้เรียนรู้เกี่ยวกับวิธีการสร้างซีพียูจากลอจิกเกตและวิธีการสร้างลอจิกเกทจากทรานซิสเตอร์พร้อมกับส่วนประกอบทางไฟฟ้าอื่น ๆ ดังนั้นฉันจึงสิ้นสุดการเรียนรู้เกี่ยวกับสิ่งนี้จากสองมุมมองจากบนลงล่างและล่างขึ้นบน ทั้งสองวิธีมีประสิทธิภาพมากและฉันคิดว่าการเรียนรู้จากทั้งสองช่วยในการสร้างสะพานหรือช่องว่างที่ซอฟต์แวร์เนื้อฮาร์ดแวร์
จากนี้ฉันต้องรีเฟรชพีชคณิตแบบบูลและลงเอยด้วยการเรียนรู้เกี่ยวกับ K-Maps ตารางการใช้เครื่องรัฐทั้ง Mealy และ Moore และสิ่งอื่น ๆ ที่เกี่ยวข้องกับ Binary Logic และเลขคณิตกับประตูตรรกะทางกายภาพและวงจรรวม และสิ่งนี้นำฉันไปสู่อดีตที่ไม่พอใจที่ฉันเริ่มทำงานกับ Logisim และเริ่มเรียนรู้ HDL, VHDL, Verilog ฯลฯ ...
ฉันได้เรียนรู้ทั้งหมดนี้ในเวลาว่างเมื่อฉันสามารถทำได้ตลอด 15 - 18 ปีที่ผ่านมา
นี่คือบางส่วนของเว็บไซต์และลิงค์ที่แนะนำฉันตลอดหลายปีที่ผ่านมา หลายสิ่งเหล่านี้เป็นเว็บไซต์ล่าสุดที่ฉันได้เรียนรู้จากทั้งที่ไม่มีอยู่ฉันสูญเสียลิงก์และจำไม่ได้หรือเครื่องมือค้นหาผลักพวกเขาไปด้านหลังรายการค้นหา ...
ภาษา - C ++
บทเรียนกราฟิก 3 มิติและเว็บไซต์ทรัพยากร
ซีรี่ส์และช่องของ Youtube ครอบคลุมหัวข้อต่างๆข้างต้นรวมถึงฮาร์ดแวร์คอมพิวเตอร์และวิศวกรรมไฟฟ้า มีจำนวนมากเกินไปที่จะลงรายการดังนั้นฉันจะแสดงรายการของพวกเขาที่นี่ที่ฉันพบว่ามีประโยชน์มากที่สุดและมั่งคั่ง ฉันจะไม่ให้ลิงก์ แต่คุณสามารถค้นหา youtube สำหรับช่องเหล่านี้
- 3Blue1Brown - คณิตศาสตร์ขั้นสูง
- Bisqwit - การเขียนโปรแกรม C / C ++ ขั้นสูง (โครงการแอปพลิเคชัน) - ตัวจำลองฮาร์ดแวร์ของ NES
- Jason Turner - เทคนิคการเขียนโปรแกรม C ++ ขั้นสูงสมัยใหม่
- javidx9 - การเขียนโปรแกรม C / C ++ ขั้นสูง (โครงการแอปพลิเคชัน) - ตัวจำลองฮาร์ดแวร์ NES / แอสเซมบลีบางตัว
- MIT OpenCourse - หลักสูตรวิทยาลัยด้านคณิตศาสตร์และวิทยาศาสตร์คอมพิวเตอร์
- Bilkent Online Courses - หลักสูตรวิทยาลัยด้านวิทยาการคอมพิวเตอร์และวิศวกรรมคอมพิวเตอร์ (การออกแบบ CPU MIPS)
- The Cherno - หัวข้อการเขียนโปรแกรม C / C ++ ขั้นสูงและการพัฒนา - การพัฒนาโปรแกรมเกม
- Ben Eater - วิศวกรรมฮาร์ดแวร์ - การใช้งานจริงผ่าน Breadboards
- Neso Academy - วิศวกรรมฮาร์ดแวร์ - ทฤษฎีและแนวคิด
- โปรแกรมSocratica - Python
- เพียงแค่ใส่ - วิศวกรรมฮาร์ดแวร์ - ทฤษฎีและแนวคิด
- Bitwise - C / C ++ ขั้นสูงการออกแบบแอสเซมเบลอร์ผ่านการจำลองฮาร์ดแวร์
- หัวข้อ Bo Qian - C ++ ในโครงสร้างข้อมูลและอัลกอริธึม
- LineByLine - การเขียนโปรแกรม Vulkan
- Joshua Shucker - การเขียนโปรแกรม Vulkan
- www.MarekKnows.com - C ++, 3D Math และ Game Engine Development
และสิ่งเหล่านี้ไม่ได้คำนึงถึงหนังสือหลายเล่มที่ฉันมีในหัวข้อเหล่านี้
- หมายเหตุ - โปรดอย่าโหวตเพราะนี่เป็นเพียงข้อความถึงผู้อ่านที่มีประสบการณ์ส่วนตัวของฉันและไม่มีความพยายามใด ๆ ที่จะตอบหรืออ้างอิงคำถามต้นฉบับ ในอีกไม่กี่วันข้างหน้าเมื่อฉันมีเวลา ฉันจะเพิ่มคำตอบติดตามเพื่อให้ความคิดเกี่ยวกับคำถามของ OP ในขณะที่ให้ลิงก์ที่มีประโยชน์เพื่อเป็นข้อมูลอ้างอิงและชุดของทรัพยากรและฉันจะอัปเดตคำตอบนี้เพื่อรวมลิงก์บางอย่างไว้ที่นี่และแก้ไขหมายเหตุนี้ ช้าและฉันยังไม่มีเวลาพิสูจน์อักษรและแก้ไขสิ่งที่ฉันเขียนไปแล้ว ฉันจะทำสิ่งนี้เมื่อทำได้ "