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