آموزش OpenGL را با پایتون برای گرافیک و بازی یاد بگیرید

Learn OpenGL with Python for Graphics and Games

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: ایجاد دانش برتر در مورد رندر سخت افزار سایه زن رأس از گرافیک های سه بعدی. مفاهیم اساسی مورد نیاز برای ارائه یک صحنه با OpenGL را درک کنید. کد سایه زن ورتکس را برای رندر کردن نقاط، قاب سیمی، اشیاء جامد روشن و مش های بافتی بنویسید. مراحل خط لوله رندر OpenGL را شناسایی کنید و در مورد هدف هر کدام بحث کنید. توسعه یک موتور گرافیکی سه بعدی تعمیم یافته در پایتون را کامل کنید. پیش نیازها: دانش کاری یک زبان رویه ای یا شی گرا. احترام سالم به بردارها و مثلثات.

چرا باید OpenGL را یاد بگیرید؟ (الف) یکی از کتابخانه های گرافیکی اصلی است که برای پیاده سازی بیشتر (یا به طور کامل) روی سخت افزار توسعه یافته است. (ب) دانش درباره OpenGL آنچه را که در پس‌زمینه دیگر موتورهای گرافیکی و بازی می‌گذرد، به شما نشان می‌دهد که مهارت‌های برتر حل مسئله و عیب‌یابی را در دیگر برنامه‌ها به شما می‌دهد (ج) درک شما از ریاضیات سه بعدی را بهبود می‌بخشد، و (د) برنامه‌نویسی سایه‌زن راس را به خط مقدم توسعه برنامه‌های گرافیکی رایانه‌ای می‌آورد و سطح بالاتری از مهارت را در ایجاد گرافیک‌های دوبعدی و سه‌بعدی با پردازش موازی مبتنی بر GPU ارائه می‌کند.

طراحی شده برای دانش آموزان سطح متوسط ​​با دانش برنامه نویسی، محتوای این دوره گام به گام شما را با راه اندازی Python، Pygame و PyOpenG و توسعه یک موتور گرافیکی 3 بعدی تعمیم یافته که بر روی fly (همچنان که دوره پیشرفت می‌کند)، برای تمرکز بر افزودن قابلیت‌های مورد نیاز، زیرا هر مفهوم اساسی در تولید گرافیک کامپیوتری، ریاضیات، و رندر آشکار می‌شود.

شما در مورد:

خواهید آموخت
  • محیط توسعه Pycharm.

  • API Pygame که یک رابط برای OpenGL است.

  • PyOpenGL، یک پوشش پایتون برای OpenGL API.

  • سیستم‌ها را در فضای متعامد، پرسپکتیو، فضای صفحه و فضای دوربین هماهنگ کنید.

  • حرکت دوربین مجازی.

  • ساخت گرافیک سه بعدی با استفاده از سایه زن های راس.

  • رنگ رأس.

  • نورپردازی.

  • ریاضیات ضروری برای کار با فضای سه بعدی و تعیین موقعیت رئوس با انواع ماتریس‌های مشاهده ۴×۴.

  • کار با فایل های مدل سه بعدی OBJ.

  • نقشه برداری UV و بافت مش ها.

آنچه مردم در مورد دوره های پنی می گویند:

  • بار دیگر پنی یک دوره قدرتمند، واضح و ارزشمند ارائه می دهد. من معتقدم که این مطالب برای درک عملکرد اساسی بسیاری از موتورهای بازی بسیار مفید خواهد بود. همچنین چیزی کمی متفاوت است که به من اجازه می دهد تا با ساختن بازی ها بر روی مهارت های پایتون خود کار کنم و کمی سرگرم شوم. او در آموزش‌هایش بسیار واضح است، بسیار آگاه است و البته اطلاعاتی را برای پیگیری و درک آسان ارائه می‌کند که می‌توانید به راحتی آن‌ها را بگیرید و یاد بگیرید.

  • اجازه دهید بگویم این برای شخصی که به انواع خاصی از طراحی بازی علاقه دارد چقدر اهمیت دارد. ایجاد بازی هایی که می توانید رفتارهای هوش مصنوعی ایجاد کنید که از موقعیت های اضطراری پشتیبانی می کند.

  • من صادقانه عاشق رویکرد آموزشی Holistic هستم و هرگز در عرض چند ساعت در مورد کدنویسی موثر با چنین توضیحات دقیق چیزهای زیادی یاد نگرفتم!

این دوره بر ارائه تجربه عملی به دانش‌آموزان در زمینه کدنویسی یک موتور گرافیکی سه بعدی عمومی با استفاده از PyOpenGL تمرکز دارد، در حالی که مقدمه آسان پایتون را برای برنامه‌نویسان متوسط ​​نیز فراهم می‌کند.


سرفصل ها و درس ها

معرفی Introduction

  • خوش آمدی Welcome

  • به انجمن دانشجویی H3D بپیوندید Join the H3D Student Community

  • تماس با H3D Contacting H3D

  • سه بعد، بردارها و مختصات دکارتی Three Dimensions, Vectors and Cartesian Coordinates

  • نشان دهنده رنگ Representing Colour

  • سوالات متداول FAQs

شروع شدن Getting Started

  • راه اندازی یکپارچه محیط توسعه Integrated Development Environment Setup

  • تست OpenGL در PyCharm Testing OpenGL in PyCharm

  • معرفی Pygame Introducing Pygame

  • مبانی برنامه نویسی OpenGL OpenGL Programming Basics

  • ترسیم نشانه های ستاره Plotting Star Signs

اصول اولیه گرافیک پایه Basic Graphics Primitives

  • نقاط و توابع رسم Points and Plotting Functions

  • ترسیم نقاط با ماوس Plotting Points with a Mouse

  • نگاشت مقادیر بین سیستم های مختصات Mapping Values Between Coordinate Systems

  • رسم خطوط قسمت 1 Drawing Lines Part 1

  • رسم خطوط قسمت 2 Drawing Lines Part 2

  • رسم نمودار با خطوط Drawing a Graph with Lines

  • ذخیره یک نمودار خطی در یک فایل داده Saving a Line Graph to a Data File

  • بارگذاری یک خط از یک فایل داده Loading a Line from a Data File

  • چند ضلعی ها Polygons

گرافیک لاک پشت Turtle Graphics

  • برنامه نویسی لاک پشت Programming a Turtle

  • چرخش و حرکت لاک پشت Rotating and Moving the Turtle

  • سیستم های لیندن مایر Lindenmayer Systems

  • ترسیم یک سیستم ال Drawing an L-System

  • سیستم های تابع تکرار شونده قسمت 1 Iterative Function Systems Part 1

  • سیستم های تابع تکرار شونده قسمت 2 Iterative Function Systems Part 2

کار با مش ها Working with Meshes

  • ساختار یک مش The Structure of a Mesh

  • ایجاد کلاس مکعب Creating a Cube Class

  • بارگیری مش از یک فایل Loading a Mesh from a File

  • نمایش مش بارگذاری شده Displaying a Loaded Mesh

طراحی به صورت سه بعدی Drawing in 3D

  • فضاهای مختصات Coordinate Spaces

  • تنظیم تبدیل‌های مشاهده Setting Viewing Transformations

  • حرکت و نشانه گیری دوربین Moving and Aiming the Camera

  • حرکت دوربین زنده Live Camera Moving

  • چرخش دوربین زنده Live Camera Rotating

  • حساسیت به حرکت ماوس Mouse Movement Sensitivity

  • تجسم جهت گیری جهان Visualising World Orientation

تبدیل های آفین Affine Transformations

  • تحولات ابتدایی The Elementary Transformations

  • بیایید در مورد ماتریس ها صحبت کنیم Let's Talk about Matrices

  • ماتریس در تبدیل Matrices in Transformation

  • ترجمه Translation

  • ترجمه های مش Mesh Translations

  • ترجمه در پرواز Translating on the Fly

  • چرخش Rotation

  • چرخش های مش Mesh Rotations

  • مقیاس بندی Scaling

  • ویژگی های تبدیل آفین Properties of Affine Transformations

بهینه سازی طراحی در PyOpenGL Optimising Drawing in PyOpenGL

  • Refactoring برای انعطاف پذیری Refactoring for Flexibility

  • تست پایه موتور Testing the Engine Foundation

  • OpenGL Shader Language OpenGL Shader Language

  • انواع داده های سایه زن Shader Datatypes

  • کامپایل کد سایه زن Compiling Shader Code

  • اولین ورتکس شیدر من قسمت 1 My First Vertex Shader Part 1

  • اولین ورتکس شیدر من قسمت 2 My First Vertex Shader Part 2

  • کار با چند رأس Working with Multiple Vertices

  • کار با چندین رنگ Working with Multiple Colours

  • برگرداندن مش Bringing back the Mesh

  • گذراندن لباس فرم Passing Uniforms

حرکت دوربین و ماتریس Camera Movement and Matrices

  • ماتریس برای تبدیل Matrices for Transformations

  • انجام تحولات Performing Transformations

  • ماتریس چشم انداز The Perspective Matrix

  • یک دوربین جدید A New Camera

  • کار با Projection و Modelviews در Vertex Shaders Working with Projection and Modelviews in Vertex Shaders

  • اضافه کردن تبدیل به مش ها Adding Transformations to Meshes

  • با Vertex Shaders، محورهای جهانی ایجاد کنید Create World Axes with Vertex Shaders

  • تنظیم برای رول دوربین ناخواسته Adjusting for Unwanted Camera Roll

  • محدود کردن زوایای پیچ Restricting Pitch Angles

ایجاد اشیاء سه بعدی Creating 3D Objects

  • ایجاد یک شی 3 بعدی Creating a 3D Object

  • در حال بارگذاری یک فایل OBJ Loading an OBJ File

  • استفاده مجدد از مقیاس و چرخش Reapplying Scaling and Rotation

  • چرخش، چرخش و چرخش بیشتر Rotations, rotations and more rotations

  • متحرک سازی با تحولات Animating with Transformations

  • تبدیل تمام مش ها Transforming All Meshes

  • ترجمه و مقیاس گذاری در زمان واقعی Translating and Scaling in Realtime

چراغ ها Lights

  • نرمال ها Normals

  • بارگیری Vertex Normals و UVs Loading Vertex Normals and UVs

  • اضافه کردن نور به سایه بان های Vertex Adding Lights to Vertex Shaders

  • عبور از Vertex Normals Passing Vertex Normals

  • نورهای محیطی، پراکنده و چشمگیر Ambient, Diffuse and Specular Lights

  • اطلاعات بیشتر در مورد چراغ های Specular More on Specular Lights

  • منابع نور چندگانه بخش 1 Multiple Light Sources Part 1

  • منابع نور چندگانه قسمت 2 Multiple Light Sources Part 2

بافت ها Textures

  • UV ها UVs

  • بافت ها Textures

  • سایه بان ها با بافت Shaders with Textures

  • بازی با مقادیر UV Playing with UV Values

  • مخلوط کردن Blending

سفارشی سازی سایه بان ها Customising Shaders

  • بارگیری سایه بان ها از یک فایل Loading Shaders from a File

  • پیکربندی مجدد کلاس مش Reconfiguring the Mesh Class

  • با توجه به دوربین و نور Considering the Camera and Light

  • ادغام یک سایه زن دوم و متفاوت Integrating a Second and Different Shader

  • چند چراغ Multiple Lights

  • پروژه نهایی Final Project

کلمات پایانی Final Words

  • چند کلمه پایانی از پنی Some Final Words from Penny

  • الان کجا؟ Where to Now?

نمایش نظرات

آموزش OpenGL را با پایتون برای گرافیک و بازی یاد بگیرید
جزییات دوره
14 hours
95
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
2,402
4.7 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Penny de Byl Penny de Byl

استاد برنده جایزه بین المللی و نویسنده پرفروش سلام ، من دکتر پنی دی بایل هستم. من کاملاً سازنده بسیاری از مسائل مربوط به کمبود رایانه و دانشگاهی هستم و علاقه واقعی به تدریس دارم. من بیش از 25 سال است که در دانشگاه ها در استرالیا و اروپا در سطح استاد کامل در مورد توسعه بازی ها ، برنامه نویسی ، گرافیک رایانه ای ، انیمیشن و طراحی وب به دیگران آموزش می دهم. من همچنین برای یونیتی ، SAE ، انستیتوی سرگرمی استرالیا و ویکی گودت مشورت کرده ام. بهترین کتابهای درسی من از جمله توسعه بازی جامع با وحدت در بیش از 100 موسسه در سراسر جهان استفاده می شود. فارغ التحصیلان من در شرکت هایی مانند اپل ، Ubisoft ، LinkedIn و Deloitte Digital کار می کنند. من دارای مدرک ممتاز گرافیک رایانه و دکترا هستم. در هوش مصنوعی برای شخصیت های بازی در طول زندگی حرفه ای من جوایز زیادی را برای تعالی تدریس در سطح ایالتی ، ملی و بین المللی از جمله جایزه تعالی تدریس و آموزش استرالیا و مسابقه برنامه درسی بازی موبایل یونیت برنده شده ام. رویکرد من در زمینه آموزش علوم کامپیوتر و زمینه های مرتبط مبتنی بر پروژه است که به شما کارگاه های عملی می دهم و می توانید بلافاصله دندان های خود را در آن قرار دهید.

Penny @Holistic3D.com Penny @Holistic3D.com

هیجان علمی ، نویسنده و توسعه بازی سلام ، من دکتر پنی د بیل هستم. من کاملاً سازنده بسیاری از مسائل مربوط به کمبود رایانه و دانشگاهی هستم و علاقه واقعی به تدریس دارم. من بیش از 25 سال است که در دانشگاه ها در استرالیا و اروپا در سطح استاد کامل در مورد توسعه بازی ها ، برنامه نویسی ، گرافیک رایانه ای ، انیمیشن و طراحی وب به دیگران آموزش می دهم. من همچنین برای یونیتی و SAE مشورت کرده ام. بهترین کتابهای درسی من از جمله توسعه بازی جامع با وحدت در بیش از 100 موسسه در سراسر جهان استفاده می شود. فارغ التحصیلان من در شرکت هایی مانند اپل ، Ubisoft ، LinkedIn و Deloitte Digital کار می کنند. من دارای مدرک ممتاز گرافیک رایانه و دکترا هستم. در هوش مصنوعی برای شخصیت های بازی در طول زندگی حرفه ای من جوایز زیادی را برای تعالی تدریس در سطح ایالتی ، ملی و بین المللی از جمله جایزه تعالی تدریس و آموزش استرالیا و مسابقه برنامه درسی بازی موبایل یونیت برنده شده ام. رویکرد من در زمینه آموزش علوم کامپیوتر و زمینه های مرتبط مبتنی بر پروژه است که به شما کارگاه های عملی می دهم و می توانید بلافاصله دندان های خود را در آن قرار دهید.