بخشی از پاورپوینت
اسلاید 1 :
مصلحت نیست که از پرده برون افتد راز
ورنه در مجلس رندان خبری نیست که نیست!
اسلاید 2 :
موضوع : OpenGL
اسلاید 3 :
مقدمه
تاریخچه
معرفی
DirectX
ویژگی های OpenGL
نکات
فهرست
محتویات GL
تعریف توابع در GL
نحوه ی استفاده از GL
نتیجه گیری
منابع
سپاسگزاری
پاسخ به سوالات
اسلاید 4 :
مقدمه
گرافیک رایانهای یا گرافیک کامپیوتری (Computer graphics) یکی از قدیمیترین شاخههای علوم کامپیوتر است که به ترسیم، تغییر، و کار با تصاویر به شیوههای محاسباتی و کامپیوتری اقدام مینماید.
گرافیک کامپیوتری یکی از پرجاذبهترین و وسیعترین کاربردهای کامپیوترهاست.
بازیهای کامپیوتری، برنامههای ساخت پویانمایی (انیمیشن) دوبعدی و سهبعدی، شبیهسازیهای محاسباتی ، و پردازش تصاویر را میشود به عنوان چند نمونه نام برد.
اسلاید 5 :
تاریخچه
گرافیک سهبعدی
گرافیک سه بعدی در برنامههای کامپیوتری جدید کاربرد بسیاری دارد.
استفاده ای که برنامهها از گرافیک سه بعدی میکنند از بازیهای تعاملی سه بعدی تا شبیه سازی و پزشکی و مصارف شغلی متفاوت است.
محصولات پر کیفیت سه بعدی راه خودشان را به سمت فیلم ها و صنعت و
آموزش به خوبی پیدا کردهاند.
اسلاید 6 :
برنامهها برای گرافیک سه بعدی بر روی کامپیوترها تقریبا بیشمار هستند
امروزه به سختی میتوان کامپیوتری را یافت که نیاز به یک کارت گرافیک سه بعدی
نداشته باشد. سه بعدی همیشه برای تجسمات علمی و برنامههای مهندسی معروف بوده است.
رابطهای گرافیکی نرمافزاری هم از سختافزار سه بعدی استفاده فراوان میبرند.
برای مثال ورژن کنونی سیستمعامل مکینتاش یعنی Mac OS X برای رندر کردن
تمام پنجرهها و کنترلها و جلوههای تصویری از OpenGL استفاده میکند.
اسلاید 7 :
ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﻲداﻧﻴﺪ، وﻳﻨﺪوز ﺑﺮاي ﻛﺎرﻫﺎي ﺗﺠﺎري ﻣﺎﻧﻨﺪ ﻧﺮم اﻓﺰارﻫﺎي Access ، Excell وﻏﻴﺮه اراﺋﻪ ﺷﺪ ، ﻧﻪ ﺑﺮاي ﻛﺎرﻫﺎي ﮔﺮاﻓﻴﻜﻲ. ﻣﺜﻼً ﻣﺎ اﮔﺮ ﻣﻲﺧﻮاﺳﺘﻴﻢ ﺑﺎ وﻳﮋوال ﺑﻴﺴﻴﻚ ، ﺗﺮﺳﻴﻤﺎت ﮔﺮاﻓﻴﻜﻲ اﻧﺠﺎم دﻫﻴﻢ، ﻣﻲﺑﺎﻳﺴﺖ از ﻃﺮﻳﻖ GDI ﺑﻪ ﻛﺎرت ﮔﺮاﻓﻴﻚ دﺳﺘﺮﺳﻲ ﭘﻴﺪا ﻛﻨﻴﻢ ﻛﻪ اﻳﻦ ﻣﺴﺌﻠﻪ ﺑﺎﻋﺚ ﻛﺎﻫﺶ ﺳﺮﻋﺖ ﻣﻲﺷﺪ.
(Graphic Designer Interface)
رابط گرافیکی سیستم عامل ویندوز
اسلاید 8 :
ﻣﻮﺗﻮرﻫﺎيﮔﺮاﻓﻴﻚ اﺳﺘﺎﻧﺪارد
.ﻣﻮﺗﻮرﻫﺎي ﮔﺮاﻓﻴﻜﻲ ﺗﻮاﺑﻌﻲ ﺑﺮاي رﺳﻢ داﻳﺮه، ﻣﺜﻠﺚ، ﺧﻂ و اﺷﻜﺎل ﮔﺮاﻓﻴﻜﻲ دﻳﮕﺮ در ﺧﻮد دارﻧﺪ و ﺳﺮﻋﺖ اﺟﺮاي ﺑﺮﻧﺎﻣﻪﻫﺎي ﮔﺮاﻓﻴﻜﻲ را اﻓﺰاﻳﺶ ﻣﻲدﻫﻨﺪ. ﻣﻮﺗﻮرﮔﺮاﻓﻴﻚ DirectX و ﻣﻮﺗﻮرﮔﺮاﻓﻴﻜﻲOpenGL.
موتور گرافیکی (Engine) :برنامه ای که عملیات های مهم گرافیکی را مدیریت کرده و یک سطح انتزاعی بالاتر را به کاربر میدهد . موتور گرافیکی مهم ترین برنامه در ساخت بازی ها میباشد .
اسلاید 9 :
موتور گرافیکی OpenGL
OpenGL مخفف عبارت Open Graphic Library است به معنای کتابخانه گرافیکی منبع باز(OpenSource) است که توسط شرکتی به نام Sillicon Graphics در کشور ایالات متحده امریکا ساخته شدهاست .
در حقیقت این ابزار یک شتابدهنده گرافیکی است که به برنامه نویس قابلیت اجرای گرافیک با کیفیت و سرعت بالا را که در سیستمهای عامل به صورت پیش فرض امکان آن نیست را میدهد . این قابلیت با ویژگی کار در 3D که GDI و دیگر سیستمهای مشابه قابلیت کار در آن را ندارند همراه است
اسلاید 10 :
فن آوری OpenGL را میتوان یک واسط نرمافزاری در ارتباط با سختافزار گرافیکی نامید. ماهیت اصلی آن را کتابخانههای مدل سازی و گرافیک سه بعدی تشکیل میدهند که در ابتدا برای کار با سختافزارهای گرافیکی SGI توسعه داده شدند و سرعت و قابلیت بالایی دارند. توجه داشته باشید که OpenGL یک API است نه یک زبان برنامه نویسی و قابلیت حمل بر روی پلت فرمهای مختلف را دارا میباشد
Silicon Graphics Interface
اسلاید 11 :
واسط OpenGL بر روی سیستمهای Linux، Unix، Windows و MacOS قابل پیاده سازی میباشد. هیچ Graphic, API دیگری وجود ندارد که به این اندازه Portable باشد. همچنین با اکثر سرویس دهندههای محیطهای گرافیکی از قبیل Win32، MacOS، X-window system سازگار میباشد. توابع OpenGL را میتوان در زبانهای برنامه نویسی متنوعی از قبیل Ada، c، c++، Fortran، Python، Java و . به کار گرفت.
Portable
نرم افزار Portable، نرم افزاری هست که بدون نیاز به نصب اجرا می شود، بدون اشکال و مثل نسخه نصب شده کار میکند و در هنگام بسته شدن تمام تنظیمات جدید کاربر را در کنار خود ذخیره میکند و به هیچ عنوان چیزی بر روی سیستم عامل (اعم از فایل یا کد رجیستری) برجا نمیگذارند و نیز با نسخه نصب شده احتمالی همان نرم افزار تداخل (Conflict) نمیکند.
اسلاید 12 :
نکات
API چیست ؟
API مخفف Application Programming Interface به معنای رابط برنامه نویسی کاربردی است.
در واقعAPI یک کتابخانه سیستمی شامل صدها تابع استاندارد قابل دسترسی است که شرکت Microsoft آنها را داخل یکسری فایل DLL برای برنامه نویسی سیستمی قرار داده .
API را اصطلاحا قلب سیستم عامل ویندوز می نامند ، هر کاری که در این سیستم عامل انجام می شود توسط همین توابع API صورت می گیرد .
اسلاید 13 :
در حقیقت API بر خلاف نام آن که نشان دهنده یک رابط مستقل برای ایجاد برنامه های کاربردی تحت ویندوز است بیشتر توسط خود سیستم عامل ویندوز مورد استفاده قرار می گیرد
در اصل، اسم های این " رابط های برنامه کاربردی" (API's) تماما با Direct شروع می شوند، از قبیل Direct3D, DirectDraw، DirectMusic, DirectPlay, DirectSound و به همین منوال. DirectX ، اصطلاح کلی برای تمام این رابط های برنامه کاربردی می باشد
API
اسلاید 14 :
موتور گرافیکی DirectX
ﻳﻜﻲاز ﻣﻮﺗﻮرﻫﺎيﮔﺮاﻓﻴﻚﻛﻪ ﺑﺮاي ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﺎن ﺑﺎزيﻫﺎي ﻛﺎﻣﭙﻴﻮﺗﺮي، ﺗﻮﺳﻂ ﺷﺮﻛﺖ ﻣﺎﻳﻜﺮوﺳﺎﻓﺖ اراﺋﻪ ﺷﺪ، DirectX ﺑﻮد. اﻳﻦ ﻣﻮﺗﻮرﮔﺮاﻓﻴﻜﻲ ﺗﻨﻬﺎ ﺑﺮ روي ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ وﻳﻨﺪوز ﻛﺎر ﻣﻲﻛﻨﺪ.
DirectXﺑﻪ ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﺎن اﻣﻜﺎن ﺗﺮﺳﻴﻢ اﺷﻴﺎء دو ﺑﻌﺪي، ﺳﻪ ﺑﻌﺪي، ﭘﺨﺶ ﺻﺪاي ﺳﻪ ﺑﻌﺪي، آﻫﻨﮓ ﭘﺲزﻣﻴﻨﻪ و درﻳﺎﻓﺖ اﻃﻼﻋﺎت ورودي را ﻣﻲدﻫﺪ. ﻫﻤﭽﻨﻴﻦ ﺑﻪ ﻛﺎرﺑﺮان اﻣﻜﺎن ﺑﺮﮔﺰاري ﺑﺎزيﻫﺎي ﺗﺤﺖ ﺷﺒﻜﻪ را ﻣﻲدﻫﺪ
اسلاید 15 :
اجزاء تشکیل دهنده DirectX
Direct Draw
Direct 3D (D3D)
DXGI
Direct Input Direct Play Direct Sound Direct Sound 3D
Direct Music
Direct Media Direct Transform
Direct Show
Software Development Kit =SDK
Direct Media Objects Direct Setup
اسلاید 16 :
این کتابخانه شامل سه قسمت متفاوت ولی هماهنگ است که به زبان سی (C) نوشته شدهاست.
1. کتابخانه عمومی :
این کتابخانه شامل توابع و ثوابت عمومی مورد استفاده در GL است.
محتویات GL
1. کتابخانه عمومی زمان اجرا : opengl32.dll
2. کتابخانه عمومی زمان ترجمه یا کامپایل : opengl32.lib
3. کتابخانه عمومی زمان برنامه نویسی : gl.h
اسلاید 17 :
محتویات GL
2. کتابخانه کمکی :
این کتابخانه شامل توابع ترسیمات غیر استاتیک و ثوابت کنترلهای اختصاصی بر روی کارتهای گرافیکی و GDI میباشد .
1. کتابخانه کمکی زمان اجرا : glu32.dll
2. کتابخانه کمکی زمان ترجمه یا کامپایل : glu32.lib
3. کتابخانه کمکی زمان برنامه نویسی : glu.h
اسلاید 18 :
محتویات GL
3. کتابخانه صدا :
این کتابخانه شامل چندین قسمت است که به برنامه نویس قابلیت کنترل ابزار صدا را در برنامه میدهد . این کتابخانه با نام مستعار OpenAL در سایت OpenAL قرار دارد و قابل بارگذاری است .
اسلاید 19 :
Open AL
OpenAL، يك API ديگر است كه براي ايجاد و مديريت صداهاي سه بعدي در بازيهاي كامپيوتري و ديگر انواع نرمافزارها به صورت يك پروژه مشترك ميان شركت Loki Software و Creative ساخته شده است. كتابخانه اين API مجموعهاي از صداهاي قابل حركت در فضاي سهبعدي را مدلسازي ميكند. عناصر اصلي OpenAL شامل يك شنونده، يك منبع و يك بافر است. OpenAL در موتورهاي گرافيكي Epic Games Unreal نيز براي ساخت افكتهاي صوتي به كار ميرود.
اسلاید 20 :
محتویات GL
در GL متغیر نداریم ، یعنی در هیچ یک از منابع استاندارد حتی یک متغیر تعریف نشدهاست، این بدان معنا نیست که شما نمیتوانید از متغیر استفاده کنید بلکه بدان معنی است که خود سیلیکون (شرکت سیلیکون طراح و توسعه دهنده ی این روش) متغیری در GL تعریف نکردهاست .