معرفی کتاب «OpenGL ES 3.0 Programming Guide» نوشتهٔ Daniel Ginsburg; Budirijanto Purnomo; Dave Shreiner; Aaftab Munshi، منتشرشده توسط نشر Addison-Wesley Professional در سال 2014. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.
کتاب «OpenGL ES.0 Programming Guide» نوشتهٔ دنیل گینزبورگ، بودیریجانتورنو پورنومو، دیو شراینر و آفتاب مونشی، مرجعی جامع و معتبر برای یادگیری رابط برنامهنویسی گرافیکی پیشرو در دستگاههای همراه و توکار است. این کتاب با زبانی دقیق و همراه با مثالهای عملی، شما را از مبانی اولیه تا تکنیکهای پیشرفتهٔ رندرینگ سهبعدی راهنمایی میکند و به شما امکان میدهد تا جلوههای بصری خیرهکنندهای را بدون افت عملکرد یا کاهش عمر باتری، خلق کنید.
دربارهٔ کتاب OpenGL ES.0 Programming Guide —
کتاب «راهنمای برنامهنویسی OpenGL ES.0» که توسط انتشارات Addison-Wesley Professional منتشر شده، به عنوان مرجعی استاندارد و رسمی برای توسعهدهندگانی محسوب میشود که با این رابط برنامهنویسی کار میکنند. این کتاب که نسخهٔ دوم و بهروزرسانیشدهٔ اثر پیشین است، با دقت تمامی جنبههای جدیدترین نسخهٔ این کتابخانه، یعنی OpenGL ES.0، از جمله نگاشت سایه، نمونهبرداری چندگانه، و بازخورد تبدیلی را پوشش میدهد. نویسندگان با رویکردی گامبهگام، ضمن معرفی مفاهیم بنیادین، شما را با ساختار لولهٔ رندرینگ (graphics pipeline) و زبان سایهزن (Shading Language) این نسخه آشنا میکنند. فضای حاکم بر کتاب، کاملاً آموزشی و عملی است. نویسندگان که همگی از متخصصان برجستهٔ این حوزه هستند، با زبانی شیوا و ساختاری منظم، مطالب را از سطوح مقدماتی آغاز کرده و به مباحث پیشرفتهای چون نورپردازی پیکسلبهپیکسل و سیستمهای ذرات میرسانند. وجه تمایز اصلی این کتاب، تأکید بر یادگیری از طریق کدنویسی است؛ تمامی مفاهیم با مثالهای کد قابلدانلود به زبان C همراه شدهاند که بر روی پلتفرمهای مختلفی مانند iOS، اندروید، ویندوز و لینوکس تست شدهاند. این ویژگی، کتاب را به منبعی بینظیر برای کسانی تبدیل میکند که میخواهند دانش خود را به سرعت به کار گیرند. علاوه بر محتوای غنی، این کتاب شامل کارتهای مرجع رنگی از رابط برنامهنویسی و زبان سایهزن است که توسط گروه Khronos تهیه شده و مراجعهٔ سریع به دستورات را میسر میسازد.
دربارهٔ نویسنده
این کتاب حاصل همکاری چهار تن از متخصصان برجستهٔ دنیای گرافیک رایانهای است. دنیل گینزبورگ (Dan Ginsburg) بنیانگذار شرکت مشاورهای Upsample Software است که در زمینهٔ گرافیک سهبعدی و محاسبات پردازندههای گرافیکی فعالیت دارد و پیشتر کتاب «راهنمای برنامهنویسی OpenCL» را نیز تألیف کرده است. بودیریجانتورنو پورنومو (Budirijanto Purnomo) معمار ارشد نرمافزار در شرکت Advanced Micro Devices (AMD) است. دیو شراینر (Dave Shreiner) یکی از بزرگترین مراجع دنیا در زمینهٔ OpenGL و سردبیر مجموعه کتابهای این انتشارات است. آفتاب مونشی (Aaftab Munshi) نیز سردبیر مشخصات فنی نسخههای پیشین OpenGL ES بوده است.
چرا باید OpenGL ES.0 Programming Guide را بخوانید؟
مرجعی جامع و کامل از کل رابط برنامهنویسی: این کتاب تنها منبعی است که تمامی جزئیات API و زبان سایهزن OpenGL ES.0 را به صورت ساختاریافته پوشش میدهد و نیازی به مراجعهٔ مکرر به مستندات رسمی نیست.
یادگیری مبتنی بر مثالهای کد عملی: تمام مباحث با مثالهای کد واقعی و قابلاجرا به زبان C همراه است که به درک عمیقتر و کاربرد سریعتر مطالب کمک میکند.
پوشش تکنیکهای پیشرفته و بهینهسازی: از مباحث پایه مانند بافتنگاری و سایهزنها گرفته تا تکنیکهای پیشرفته مانند رندرینگ چندهدف، سیستمهای ذرات، و نکات کلیدی برای بهینهسازی عملکرد.
سازگاری و تست بر روی پلتفرمهای مختلف: کدهای کتاب بر روی سیستمعاملهای iOS، اندروید، ویندوز و لینوکس تست شدهاند، که آن را به منبعی مطمئن برای توسعهٔ چندسکویی تبدیل میکند.
تأیید شده توسط متخصصان صنعت: این کتاب مورد تحسین متخصصانی از شرکتهای بزرگی چون Freescale، Qualcomm و Imagination Technologies قرار گرفته و به عنوان کتابی «ضروری» برای هر توسعهدهندهٔ OpenGL ES معرفی شده است.
این کتاب برای چه کسانی مناسب است؟
مخاطب اصلی این کتاب، توسعهدهندگان نرمافزار و بازیهای موبایل، دانشجویان رشتههای علوم کامپیوتر و مهندسی نرمافزار، و هر برنامهنویسی است که قصد دارد با گرافیک سهبعدی بر روی دستگاههای همراه یا توکار کار کند. این کتاب برای هر دو گروه برنامهنویسان مبتدی که به دنبال یک شروع اصولی هستند و همچنین توسعهدهندگان حرفهای که به دنبال یک مرجع کامل و بهروز برای ارتقای دانش خود میگردند، ارزشی یکسان دارد.
سوالات متداول
آیا برای استفاده از این کتاب، به دانش قبلی دربارهٔ نسخههای قدیمیتر OpenGL ES نیاز است؟
خیر، این کتاب به عنوان یک منبع خودآموز طراحی شده و تمام مفاهیم پایه را از ابتدا پوشش میدهد، اگرچه داشتن آشنایی مقدماتی با مفاهیم گرافیک سهبعدی میتواند مفید باشد. ساختار گامبهگام کتاب، آن را برای مبتدیان نیز مناسب کرده است.
آیا تمرکز کتاب بیشتر بر روی مباحث تئوری است یا کدنویسی عملی؟
این کتاب تعادلی عالی بین تئوری و عمل برقرار میکند. مبانی نظری به طور دقیق توضیح داده میشوند، اما تأکید اصلی بر روی یادگیری از طریق مثالهای کد عملی و قابلاجرا است که میتوانید آنها را دانلود و اجرا کنید.
آیا کدهای کتاب برای سیستمعامل خاصی بهینهسازی شدهاند؟
خیر، یکی از نقاط قوت اصلی این کتاب، ارائهٔ کدهایی است که بر روی چندین پلتفرم محبوب مانند iOS، Android.3، ویندوز و اوبونتو تست و پیادهسازی شدهاند، که آن را به منبعی ارزشمند برای توسعهٔ فراپلتفرمی تبدیل میکند.
OpenGL (R) ES (TM) is the industry's leading software interface and graphics library for rendering sophisticated 3D graphics on handheld and embedded devices. The newest version, OpenGL ES 3.0, makes it possible to create stunning visuals for new games and apps, without compromising device performance or battery life. In the (R) (TM) the authors cover the entire API and Shading Language. They carefully introduce OpenGL ES 3.0 features such as shadow mapping, instancing, multiple render targets, uniform buffer objects, texture compression, program binaries, and transform feedback. Through detailed, downloadable C-based code examples, you'll learn how to set up and program every aspect of the graphics pipeline. Step by step, you'll move from introductory techniques all the way to advanced per-pixel lighting and particle systems. Throughout, you'll find cutting-edge tips for optimizing performance, maximizing efficiency with both the API and hardware, and fully leveraging OpenGL ES 3.0 in a wide spectrum of applications. All code has been built and tested on iOS 7, Android 4.3, Windows (OpenGL ES 3.0 Emulation), and Ubuntu Linux, and the authors demonstrate how to build OpenGL ES code for each platform. c EGL API: communicating with the native windowing system, choosing configurations, and creating rendering contexts and surfaces Shaders: creating and attaching shader objects; compiling shaders; checking for compile errors; creating, linking, and querying program objects; and using source shaders and program binaries OpenGL ES Shading Language: variables, types, constructors, structures, arrays, attributes, uniform blocks, I/O variables, precision qualifiers, and invariance Geometry, vertices, and primitives: inputting geometry into the pipeline, and assembling it into primitives 2D/3D, Cubemap, Array texturing: creation, loading, and rendering; texture wrap modes, filtering, and formats; compressed textures, sampler objects, immutable textures, pixel unpack buffer objects, and mipmapping Fragment shaders: multitexturing, fog, alpha test, and user clip planes Fragment operations: scissor, stencil, and depth tests; multisampling, blending, and dithering Framebuffer objects: rendering to offscreen surfaces for advanced effects Advanced rendering: per-pixel lighting, environment mapping, particle systems, image post-processing, procedural textures, shadow mapping, terrain, and projective texturing Sync objects and fences: synchronizing within host application and GPU execution This edition of the book includes a color insert of the OpenGL ES 3.0 API and OpenGL ES Shading Language 3.0 Reference Cards created by Khronos. The reference cards contain a complete list of all of the functions in OpenGL ES 3.0 along with all of the types, operators, qualifiers, built-ins, and functions in the OpenGL ES Shading Language. OpenGL ® ES TM is the industry's leading software interface and graphics library for rendering sophisticated 3D graphics on handheld and embedded devices. The newest version, OpenGL ES 3.0, makes it possible to create stunning visuals for new games and apps, without compromising device performance or battery life. In the OpenGL® ESTM 3.0 Programming Guide, Second Edition, the authors cover the entire API and Shading Language. They carefully introduce OpenGL ES 3.0 features such as shadow mapping, instancing, multiple render targets, uniform buffer objects, texture compression, program binaries, and transform feedback. Through detailed, downloadable C-based code examples, you'll learn how to set up and program every aspect of the graphics pipeline. Step by step, you'll move from introductory techniques all the way to advanced per-pixel lighting and particle systems. Throughout, you'll find cutting-edge tips for optimizing performance, maximizing efficiency with both the API and hardware, and fully leveraging OpenGL ES 3.0 in a wide spectrum of applications. All code has been built and tested on iOS 7, Android 4.3, Windows (OpenGL ES 3.0 Emulation), and Ubuntu Linux, and the authors demonstrate how to build OpenGL ES code for each platform. Coverage includes EGL API: communicating with the native windowing system, choosing configurations, and creating rendering contexts and surfaces Shaders: creating and attaching shader objects; compiling shaders; checking for compile errors; creating, linking, and querying program objects; and using source shaders and program binaries OpenGL ES Shading Language: variables, types, constructors, structures, arrays, attributes, uniform blocks, I/O variables, precision qualifiers, and invariance Geometry, vertices, and primitives: inputting geometry into the pipeline, and assembling it into primitives 2D/3D, Cubemap, Array texturing: creation, loading, and rendering; texture wrap modes, filtering, and formats; compressed textures, sampler objects, immutable textures, pixel unpack buffer objects, and mipmapping Fragment shaders: multitexturing, fog, alpha test, and user clip planes Fragment operations: scissor, stencil, and depth tests; multisampling, blending, and dithering Framebuffer objects: rendering to offscreen surfaces for advanced effects Advanced rendering: per-pixel lighting, environment mapping, particle systems, image post-processing, procedural textures, shadow mapping, terrain, and projective texturing Sync objects and fences: synchronizing within host application and GPU execution This edition of the book includes a color insert of the OpenGL ES 3.0 API and OpenGL ES Shading Language 3.0 Reference Cards created by Khronos. The reference cards contain a complete list of all of the functions in OpenGL ES 3.0 along with all of the types, operators, qualifiers, built-ins, and functions in the OpenGL ES Shading Language. OpenGL® ES is the industry's leading software interface and graphics library for rendering sophisticated 3D graphics on handheld and embedded devices. The newest version, OpenGL ES 3.0, makes it possible to create stunning visuals for new games and apps, without compromising device performance or battery life. In the OpenGL ® ES 3.0 Programming Guide, Second Edition, the authors cover the entire API and Shading Language. They carefully introduce OpenGL ES 3.0 features such as shadow mapping, instancing, multiple render targets, uniform buffer objects, texture compression, program binaries, and transform feedback. Through detailed, downloadable C-based code examples, you'll learn how to set up and program every aspect of the graphics pipeline. Step by step, you'll move from introductory techniques all the way to advanced per-pixel lighting and particle systems. Throughout, you'll find cutting-edge tips for optimizing performance, maximizing efficiency with both the API and hardware, and fully leveraging OpenGL ES 3.0 in a wide spectrum of applications. All code has been built and tested on iOS 7, Android 4.3, Windows (OpenGL ES 3.0 Emulation), and Ubuntu Linux, and the authors demonstrate how to build OpenGL ES code for each platform. Coverage in c ludes EGL API: communicating with the native windowing system, choosing configurations, and creating rendering contexts and surfaces Shaders: creating and attaching shader objects; compiling shaders; checking for compile errors; creating, linking, and querying program objects; and using source shaders and program binaries OpenGL ES Shading Language: variables, types, constructors, structures, arrays, attributes, uniform blocks, I/O variables, precision qualifiers, and invariance Geometry, vertices, and primitives: inputting geometry into the pipeline, and assembling it into primitives 2D/3D, Cubemap, Array texturing: creation, loading, and rendering; texture wrap modes, filtering, and formats; compressed textures, sampler objects, immutable textures, pixel unpack buffer objects, and mipmapping Fragment shaders: multitexturing, fog, alpha test, and user clip planes Fragment operations: scissor, stencil, and depth tests; multisampling, blending, and dithering Framebuffer objects: rendering to offscreen surfaces for advanced effects Advanced rendering: per-pixel lighting, environment mapping, particle systems, image post-processing, procedural textures, shadow mapping, terrain, and projective textures OpenGL ES TM is the industrys leading software interface and graphics library for rendering sophisticated 3D graphics on handheld and embedded devices. The newest version, OpenGL ES 3.0, makes it possible to create stunning visuals for new games and apps, without compromising device performance or battery life. In the OpenGL ES TM 3.0 Programming Guide, Second Edition, the authors cover the entire API and Shading Language. They carefully introduce OpenGL ES 3.0 features such as shadow mapping, instancing, multiple render targets, uniform buffer objects, texture compression, program binaries, and transform feedback. Through detailed, downloadable C-based code examples, youll learn how to set up and program every aspect of the graphics pipeline. Step by step, youll move from introductory techniques all the way to advanced per-pixel lighting and particle systems. Throughout, youll find cutting-edge tips for optimizing performance, maximizing efficiency with both the API and hardware, and fully leveraging OpenGL ES 3.0 in a wide spectrum of applications. All code has been built and tested on iOS 7, Android 4.3, Windows (OpenGL ES 3.0 Emulation), and Ubuntu Linux, and the authors demonstrate how to build OpenGL ES code for each platform. Coverage in c ludes This edition of the book includes a color insert of the OpenGL ES 3.0 API and OpenGL ES Shading Language 3.0 Reference Cards created by Khronos. The reference cards contain a complete list of all of the functions in OpenGL ES 3.0 along with all of the types, operators, qualifiers, built-ins, and functions in the OpenGL ES Shading Language. OpenGL ES 3.0 is the industry's leading software interface and graphics library for rendering sophisticated 3D graphics on handheld and embedded devices. In the OpenGL ES 3.0 Programming Guide, leading authorities on the OpenGL ES interface provide start-to-finish guidance on the new 3.0 release and how how to maximize its use in a wide range of high-performance applications. Developers creating 3D handheld games, user interfaces, or applications using OpenGL ES 3.0 will want to read the OpenGL ES 3.0 Programming Guide. This book focuses on the OpenGL ES 3.0 pipeline (the API and the shading language), and shows how to develop applications for OpenGL ES 3.0 via examples, descriptions, and best-practices. The OpenGL ES 3.0 specification contains many new features that are covered in this 2nd edition of the book