کتاب Computer Graphics Programming in OpenGL With C++, 3rd Edition (برنامه نویسی گرافیک کامپیوتری در OpenGL با C++، ویرایش سوم) شامل آموزش گام به گام برنامه نویسی سایه زن OpenGL 4.0+ GLSL با C++، همراه با مبانی نظری گرافیک کامپیوتری سه بعدی است.
در ادامه مقدمهای از کتاب Computer Graphics Programming in OpenGL With C++ را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Computer Graphics Programming in OpenGL With C++:
این ویرایش جدید به طور عمده به عنوان یک کتاب درسی برای یک دوره کارشناسی علوم کامپیوتر در برنامهنویسی گرافیک سه بعدی OpenGL طراحی شده است. با این حال، ما همچنین تلاش کردهایم متنی را ایجاد کنیم که بتوان بدون گذراندن دوره، به صورت خودآموز مورد استفاده قرار گیرد. با در نظر گرفتن هر دو هدف، سعی کردهایم همه چیز را تا حد امکان واضح و ساده توضیح دهیم. تمام نمونههای برنامهنویسی تا حد ممکن ساده و خلاصه شدهاند، اما همچنان کامل هستند تا خواننده بتواند همه آنها را اجرا کند.
یکی از ویژگیهای منحصر به فرد کتاب Computer Graphics Programming in OpenGL With C++ این است که تلاش کردهایم آن را برای کسانی که تازه با برنامهنویسی گرافیک سه بعدی آشنا میشوند، قابلدسترس کنیم. در حالی که کمبودی در اطلاعات موجود در مورد این موضوع وجود ندارد – بلکه برعکس – بسیاری از دانشجویان در ابتدا احساس سردرگمی میکنند.
این متن تلاش ما برای نوشتن کتابی است که آرزو داشتیم هنگام شروع کار در اختیار داشتیم، با توضیحاتی گام به گام از مبانی، و پیشروی به صورت سازماندهی شده به سمت مباحث پیشرفته. ما به فکر گذاشتن عنوان «برنامهنویسی سایهزن به زبان ساده» بودیم؛ با این حال، فکر نمیکنیم واقعاً راهی برای آسان کردن «برنامهنویسی سایهزن» وجود داشته باشد. امیدواریم به آن نزدیک شده باشیم.
کتاب Computer Graphics Programming in OpenGL With C++ برنامهنویسی OpenGL را با C++ آموزش میدهد. یادگیری برنامهنویسی گرافیک با C++ چندین مزیت دارد:
- زبان اصلی OpenGL، زبان C است، بنابراین یک برنامه C++ میتواند مستقیماً از توابع OpenGL استفاده کند.
- برنامههای کاربردی OpenGL که با C++ نوشته شدهاند، معمولاً عملکرد بسیار بالایی را نشان میدهند.
- C++ ساختارهای برنامهنویسی مدرن (کلاسها، چندشکلی، و غیره) را ارائه میدهد که در C در دسترس نیستند.
- C++ یک انتخاب محبوب برای استفاده از OpenGL است و منابع آموزشی زیادی برای OpenGL با C++ در دسترس است.
لازم به ذکر است که بایندینگهای دیگری برای OpenGL برای زبانهای دیگر مانند جاوا، سی شارپ، پایتون و بسیاری دیگر وجود دارد. کتاب Computer Graphics Programming in OpenGL With C++ درسی فقط روی C++ تمرکز دارد.
یکی دیگر از ویژگیهای منحصر به فرد کتاب Computer Graphics Programming in OpenGL With C++، داشتن یک کتاب خواهر با عنوان «برنامهنویسی گرافیک کامپیوتری در OpenGL با جاوا» است. این دو کتاب به صورت هماهنگ سازماندهی شدهاند، با فصلها و بخشهای دارای شماره و موضوعات، شکلها، تمرینها و توضیحات نظری یکسان. در هر کجا که ممکن است، کد نیز به طور مشابه سازماندهی شده است.
البته، استفاده از C++ در مقابل جاوا منجر به تفاوتهای قابل توجهی در برنامهنویسی میشود (اگرچه تمام کدهای سایهزن یکسان هستند). با این حال، ما معتقدیم که مسیرهای یادگیری تقریباً یکسانی را ارائه کردهایم، حتی به دانشآموز اجازه میدهیم تا یکی از گزینهها را در یک کلاس واحد انتخاب کند.
برای روشن شدن مطلب، چند نکته مهم وجود دارد: اول اینکه OpenGL نسخههای مختلفی دارد (که بعداً به طور خلاصه به آنها میپردازیم) و دوم اینکه گونههای متفاوتی از OpenGL وجود دارد. برای مثال، علاوه بر «OpenGL استاندارد» (که گاهی «OpenGL دسکتاپ» نامیده میشود)، گونهای به نام «OpenGL ES» وجود دارد که برای توسعه سیستمهای تعبیهشده (به همین دلیل «ES») ساخته شده است. سیستمهای تعبیهشده شامل وسایلی مانند تلفنهای همراه، کنسولهای بازی، خودروها و سیستمهای کنترل صنعتی میشوند.
OpenGL ES اساساً زیرمجموعهای از OpenGL استاندارد است که بسیاری از عملیات غیرضروری برای سیستمهای تعبیهشده را حذف میکند. همچنین، OpenGL ES برخی قابلیتهای اضافی را اضافه میکند که معمولاً عملیات خاصی برای محیطهای هدف خاص هستند. کتاب Computer Graphics Programming in OpenGL With C++ روی OpenGL استاندارد تمرکز میکند.
گونهی دیگری از OpenGL به نام «WebGL» وجود دارد. WebGL بر پایه OpenGL ES ساخته شده است و برای پشتیبانی از استفاده از OpenGL در مرورگرهای وب طراحی شده است. WebGL به یک برنامه اجازه میدهد تا با استفاده از جاوااسکریپت، عملیات OpenGL ES را فراخوانی کند، که این کار جاسازی گرافیک OpenGL را در اسناد HTML (وب) استاندارد آسان میکند.
اکثر مرورگرهای وب مدرن از WebGL پشتیبانی میکنند، از جمله Apple Safari، Google Chrome، Microsoft Edge، Microsoft Internet Explorer، Mozilla Firefox و Opera. از آنجایی که برنامهنویسی وب خارج از محدوده کتاب Computer Graphics Programming in OpenGL With C++ است، به جزئیات WebGL نمیپردازیم. با این حال، توجه داشته باشید که از آنجایی که WebGL بر پایه OpenGL ES و آن هم بر پایه OpenGL استاندارد ساخته شده است، بخش زیادی از مطالب این کتاب را میتوان مستقیماً برای یادگیری این گونههای OpenGL به کار برد.
خود موضوع گرافیک سه بعدی به تصاویر چشمگیر و حتی زیبا منجر میشود. در واقع، بسیاری از کتابهای درسی محبوب در این زمینه پر از صحنههای خیره کننده هستند و ورق زدن گالریهای آنها وسوسه کننده است.
در حالی که ما فایده انگیزشی چنین مثالهایی را تأیید میکنیم، هدف ما آموزش است، نه تحت تأثیر قرار دادن. تصاویر کتاب Computer Graphics Programming in OpenGL With C++ صرفاً خروجی برنامههای نمونه هستند و از آنجایی که این یک متن مقدماتی است، بعید است صحنههای حاصلکننده یک متخصص را تحت تأثیر قرار دهند. با این حال، تکنیکهای ارائه شده در واقع عناصر پایهای برای تولید جلوههای خیرهکننده سه بعدی امروزی هستند.
همچنین ما سعی نکردهایم یک «مرجع» برای OpenGL ایجاد کنیم. پوشش ما از OpenGL فقط بخش کوچکی از قابلیتهای آن را نشان میدهد. در عوض، هدف ما استفاده از OpenGL به عنوان ابزاری برای آموزش اصول برنامهنویسی گرافیک سه بعدی مبتنی بر سایهزن مدرن و فراهم کردن درک عمیق کافی برای مطالعه بیشتر برای خواننده است.
سرفصلهای کتاب Computer Graphics Programming in OpenGL With C++:
- Cover
- Half Title
- Title
- Copyright
- Contents
- Preface
- Chapter 1: Getting Started
- Chapter 2: The OpenGL Pipeline
- Chapter 3: Mathematical Foundations
- Chapter 4: Managing 3D Graphics Data
- Chapter 5: Texture Mapping
- Chapter 6: 3D Models
- Chapter 7: Lighting
- Chapter 8: Shadows
- Chapter 9: Sky and Backgrounds
- Chapter 10: Enhancing Surface Detail
- Chapter 11 Parametric Surfaces
- Chapter 12: Tessellation
- Chapter 13: Geometry Shaders
- Chapter 14: Other Techniques
- Chapter 15: Simulating Water
- Chapter 16: Ray Tracing and Compute Shaders
- Chapter 17: Ray Tracing of Complex Models
- Chapter 18: Stereoscopy for 3D Glasses and VR Headsets
- Appendix A Installation and Setup for PC (Windows)
- Appendix B Installation and Setup for Macintosh
- Appendix C Using the Nsight Graphics Debugger
- Appendix D Building a Simple Camera Controller
- Index
جهت دانلود کتاب Computer Graphics Programming in OpenGL With C++ میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.