معرفی کتاب «Core Blender Development: Understanding the Essential Blender 2. 8 Source Code» نوشتهٔ Brad E. Hollister، منتشرشده توسط نشر Apress : Imprint: Apress در سال 2021. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.
کتاب «توسعهٔ هستهٔ بِلِندِر: درک کد منبع اصلی بِلِندِر.۸» (Core Blender Development: Understanding the Essential Blender.8 Source Code) نوشتهٔ برد ئی. هالیستر، مرجعی تخصصی برای برنامهنویسانی است که میخواهند به درک عمیقی از کد منبع این نرمافزار متنباز محبوب دست یابند. این کتاب با رویکردی منحصربهفرد، به بررسی لایههای زیرین بِلِندِر میپردازد و راهی روشن برای مشارکت در توسعهٔ این پروژهٔ عظیم فراهم میآورد.
دربارهٔ کتاب «توسعهٔ هستهٔ بِلِندِر»
بِلِندِر (Blender) یک نرمافزار متنباز برای مدلسازی سهبعدی و رندرینگ است که در تولید محتوای پروژههای انیمیشن، چاپ سهبعدی، بازیهای رایانهای و حتی مصورسازی علمی کاربرد گستردهای دارد. کتاب «توسعهٔ هستهٔ بِلِندِر» بهطور خاص به ماژولهای اصلی مرتبط با واسط کاربری گرافیکی (GUI) و مدلسازی هندسی میپردازد و با زبانی فنی و دقیق، خواننده را با پیچیدگیهای کد منبع مبتنی بر زبان سی (C) این نرمافزار آشنا میسازد. نویسنده با هدف قرار دادن مخاطبانی که تجربهٔ مهندسی معکوس در یک پایگاه کد بزرگ را ندارند، ساختاری گامبهگام طراحی کرده است تا آنها را از مرحلهٔ مهندسی معکوس عملگرهای هندسی تا درک ویژگیهای اصلی کد منبع هدایت کند. این کتاب با ارائهٔ مباحثی چون سیستم ساخت منحصربهفرد بِلِندِر و نحوهٔ ذخیرهسازی وضعیت در فایلهای «.blend»، به یکی از دغدغههای اصلی توسعهدهندگان تازهکار پاسخ میدهد. در حالی که مستندات وبسایت رسمی بِلِندِر مفید است، اما برای درک ژرفای کد منبع کافی نیست و این کتاب دقیقاً این خلأ را پر میکند. لحن کتاب علمی و ارجاعی است و با تمرکز بر جزئیات فنی، بهعنوان پلی میان مستندات عمومی و کد منبع عمل میکند تا درک کاملی از معماری این نرمافزار قدرتمند به دست دهد.
دربارهٔ نویسنده
برد ئی. هالیستر (Brad E. Hollister) دکترای علوم رایانه خود را از دانشگاه کالیفرنیا در سانتا کروز دریافت کرده است و تجربهٔ گستردهای در توسعهٔ نرمافزار، هم در حوزهٔ حرفهای و هم در پروژههای متنبازی همچون «بیآرال-سیایدی» (BRL-CAD)، «ویتیکی» (VTK) و «اسسیآیران» (SCIRun) دارد. زمینهٔ پژوهشی او شامل مصورسازی علمی، شبیهسازی واقعیت مجازی برای آموزش و گرافیک رایانهای است. هالیستر همچنین بهعنوان مشاور علمی باشگاه پردیس متنباز موزیلا در دانشگاه ایالتی کالیفرنیا در دومینگوئز هیلز فعالیت میکند.
چرا باید «توسعهٔ هستهٔ بِلِندِر» را بخوانید؟
درک بنیادین کد منبع: به شما میآموزد که چگونه کد مربوط به عملکردها و ویرایشگرهای مختلف بِلِندِر را بیابید و ساختار کلی آن را درک کنید.
مشارکت مؤثر در پروژه: با روند ردیابی اشکالات (باگها) و افزودن قابلیتهای جدید به پایگاه کد بِلِندِر آشنا میشوید و موانع ورود به جمع توسعهدهندگان را از میان برمیدارید.
بررسی ساختار فایلهای ذخیرهسازی: نحوهٔ کار با فایلهای «.blend» و چگونگی ذخیرهسازی وضعیت نرمافزار توسط آنها را بهطور دقیق مورد بررسی قرار میدهد.
فراتر از مستندات عمومی: این کتاب اطلاعاتی فراتر از آنچه در وبسایت انجمن بِلِندِر موجود است، در اختیار شما قرار میدهد و به درکی عمیقتر از هستهٔ آن کمک میکند.
مسیر یادگیری ساختاریافته: با ارائهٔ فصلبندی مشخص از مباحث مقدماتی تا پیشرفته، یک نقشهٔ راه برای آشنایی با ماژولهای گوناگون از جمله «blenlib»، «blenkernel»، سیستم «RNA» و «API» دادهها ارائه میدهد.
این کتاب برای چه کسانی مناسب است؟
این کتاب در درجهٔ اول برای برنامهنویسان و توسعهدهندگان سطح مبتدی تا متوسط طراحی شده است که به بِلِندِر، گرافیک رایانهای و مصورسازی علاقهمند هستند اما تجربهٔ کافی برای مهندسی معکوس یک پایگاه کد بزرگ را ندارند. همچنین برای دانشجویان علوم رایانه، محققان حوزهٔ گرافیک، و هر کسی که قصد دارد به توسعهٔ هستهٔ بِلِندِر کمک کند، منبعی ارزشمند و ضروری بهشمار میرود. اگر به دنبال درک «چگونگی» کارکرد درونی بِلِندِر به جای «چگونگی» استفاده از آن هستید، این کتاب راهنمای شماست.
سوالات متداول
آیا برای مطالعهٔ این کتاب به دانش قبلی از زبان برنامهنویسی سی نیاز است؟
بله، این کتاب به بررسی کد منبع بِلِندِر که به زبان سی نوشته شده است میپردازد، بنابراین آشنایی با مبانی این زبان برای درک مفاهیم ارائهشده ضروری است. با این حال، نویسنده فرض را بر این گذاشته که خواننده تجربهٔ کار با پایگاههای کد عظیم و بینسکویی را ندارد و مطالب را با زبانی قابلفهم برای برنامهنویسان نسبتاً تازهکار ارائه میدهد.
آیا این کتاب برای کاربران عادی بِلِندِر که برنامهنویس نیستند مفید است؟
این کتاب عمدتاً برای توسعهدهندگان نرمافزار نوشته شده است و مباحث بسیار تخصصی و فنی دارد. اگر هدف شما صرفاً یادگیری نحوهٔ کار با نرمافزار بِلِندِر (مدلسازی، انیمیشن و...) است، این کتاب مناسب نخواهد بود؛ زیرا بهجای آموزش کاربرد نرمافزار، به بررسی معماری و کد آن میپردازد.
آیا این کتاب به ماژولهای دیگر بِلِندِر مانند رندرینگ یا شبیهسازی فیزیک نیز میپردازد؟
تمرکز اصلی کتاب بر ماژولهای مرتبط با واسط کاربری و مدلسازی هندسی است. با این حال، نویسنده در مقدمه اشاره دارد که پس از مطالعهٔ این کتاب، خواننده پایه و اساس لازم برای کاوش در سایر ماژولهای کد منبع بِلِندِر را نیز به دست خواهد آورد.
Learn the essential source code of Blender and its unique build system. This book provides the inner workings of the Blender C-based source code, and will be indispensable for those wanting to contribute to this important open-source project.Blender is an open-source 3D modeling and rendering software package used in the production of assets for animated projects, 3D printing, games, and even scientific visualization. This book goes in depth and discusses the primary modules related to the GUI and the geometric modeling work. You'll start by learning how to reverse engineer geometric operators, and from there move on to the main features of the source code and how to apply them. When done, you'll have the necessary foundation for exploration in other modules of the Blender source code. Lack of software engineering knowledge, such as experience with large cross-platform code base, remains insurmountable for many new developers. While the Blender site includes much useful information, it is not detailed enough. __Core Blender Development__ breaks down the barriers to entry for open-source development in 3-D modeling. **What You’ll Learn** * Find the code for various functions and editors in Blender * Track down bugs, and contribute new functionality to the Blender code base * Examine the .blend file and how it stores Blender state * Understand the Blender core code base beyond the community website documentation * Review the explicit code traces and source files of descriptions of the code base **Who This Book Is For**Primarily for novice to intermediate level developers and programmers with an interest in Blender, graphics, and visualization, who likely don’t have experience of reverse engineering a large code base. Learn the essential source code of Blender and its unique build system. This book provides the inner workings of the Blender C-based source code, and will be indispensable for those wanting to contribute to this important open-source project. Blender is an open-source 3D modeling and rendering software package used in the production of assets for animated projects, 3D printing, games, and even scientific visualization. This book goes in depth and discusses the primary modules related to the GUI and the geometric modeling work. You'll start by learning how to reverse engineer geometric operators, and from there move on to the main features of the source code and how to apply them. When done, you'll have the necessary foundation for exploration in other modules of the Blender source code. Lack of software engineering knowledge, such as experience with large cross-platform code base, remains insurmountable for many new developers. While the Blender site includes much useful information, it is not detailed enough. Core Blender Development breaks down the barriers to entry for open-source development in 3-D modeling. What You’ll Learn Find the code for various functions and editors in Blender Track down bugs, and contribute new functionality to the Blender code base Examine the .blend file and how it stores Blender state Understand the Blender core code base beyond the community website documentation Review the explicit code traces and source files of descriptions of the code base Who This Book Is For Primarily for novice to intermediate level developers and programmers with an interest in Blender, graphics, and visualization, who likely don’t have experience of reverse engineering a large code base. Learn the essential source code of Blender and its unique build system. This book provides the inner workings of the Blender C-based source code, and will be indispensable for those wanting to contribute to this important open-source project. Blender is an open-source 3D modeling and rendering software package used in the production of assets for animated projects, 3D printing, games, and even scientific visualization. This book goes in depth and discusses the primary modules related to the GUI and the geometric modeling work. You'll start by learning how to reverse engineer geometric operators, and from there move on to the main features of the source code and how to apply them. When done, you'll have the necessary foundation for exploration in other modules of the Blender source code. Lack of software engineering knowledge, such as experience with large cross-platform code base, remains insurmountable for many new developers. While the Blender site includes much useful information, it is not detailed enough. Core Blender Development breaks down the barriers to entry for open-source development in 3-D modeling. You will: Find the code for various functions and editors in Blender Track down bugs, and contribute new functionality to the Blender code base Examine the .blend file and how it stores Blender state Understand the Blender core code base beyond the community website documentation Review the explicit code traces and source files of descriptions of the code base Front Matter ....Pages i-vii Intro to the “Core” Blender Source Code (Brad E. Hollister)....Pages 1-24 Blender “DNA” and Serialization (Brad E. Hollister)....Pages 25-54 ghost: Soul of the windowmanager Module (Brad E. Hollister)....Pages 55-82 The blenlib and blenkernel Modules (Brad E. Hollister)....Pages 83-109 Blender’s Embedded Python (Brad E. Hollister)....Pages 111-136 Blender “RNA” and the Data API (Brad E. Hollister)....Pages 137-172 The editors Module, Operators, and Event System (Brad E. Hollister)....Pages 173-205 Editor Creation (Brad E. Hollister)....Pages 207-237 Back Matter ....Pages 239-244