OpenGL چیست ؟

smh1988

New Member
به بیان کاملا ساده ...
1-یک کتابخانه ی گرافیکی اپن سورس است ( open source graphic library )
در واقع یک رابط برنامه نویسی کاربردی است (API )
یا همان "رابط نرم افزاری برای سخت افزار گرافیکی" ( مانند DirectX )
(مثلا شما انتظار کشیده شدن یک شکل 3 بعدی را دارید و این رابط این کار را برای شما به راحتی انجام می دهد !
به این منظور که دیگر نیازی به برنامه نویسی سطح پایین و روشن کردن تک تک پیکسل ها نخواهید داشت .)
یعنی شما یک زبان را انتخاب می کنید (مثلا ++c ) سپس یک محیط را انتخاب میکنید ( مثلا Visual) سپس یک رابط (در اینجا اپن جی ال ) .و حالا می توانید برنامه نویسی گرافیکی سه بعدی را شروع کند :shock:
2-در همه جا قابل اجرا شدن است ::oops:
کنسول های بازی
سیستم های عامل ( ویندوز لینوکس ... )
اپل، مک ...
موبایل ها

اما به یک شرط : به این شرط که سازندگان آنها از این API پشتیبانی کنند !
که اکثر آنها سر تعظیم فرود آورده اند .

3- یک مثال جالب !
نرم افزار قدرتمند مایا : که آنرا با c & OpenGL نوشته اند !
photoshop ,3DSMax...
بازی هایی مثل Half Life,Unreal...
http://en.wikipedia.org/wiki/List_of_OpenGL_programs

4- دارای زیر مجموعه های زیادی است :
[LTR]# ARB (GPU assembly language) - OpenGL's low-level shading language
# Cg – Nvidia's shading language that works with OpenGL
# GLSL - Open crossplatform high-level shading language that works with OpenGL
# OpenCL - Open crossplatform GPU general purpose language that works with OpenGL
# OpenGL ES – OpenGL for embedded systems
# OpenAL – The Open Audio Library – designed to work well with OpenGL.
# OpenSL ES – Another audio library.
# OpenML - The Open Media Library - designed to work well with OpenGL. [/LTR]


5- چند منبع مهم ::wink:

http://en.wikipedia.org/wiki/OpenGL

http://www.opengl.org/documentation/books/

http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=cfrm&c=3
 

smh1988

New Member
ادامه ی OpenGL (کمی تخصصی تر )

[LTR]OpenGL® is the only cross-platform graphics API that enables developers
of software for PC, workstation, and supercomputing hardware to create highperformance,
visually-compelling graphics software applications, in markets
such as CAD, content creation, energy, entertainment, game development,
manufacturing, medical, and virtual reality.[/LTR]



6-OpenGL یک ماشین حالت است ! (state machine)
اگر درس "نظریه ی زمانها و ماشینها" رو پاس کرده باشید (رشته ی نرم افزار ) به خوبی با این مفهوم آشنا هستید .
به کمک این مفهوم شما برنامه نویسی ساخته یافته تر راحت تر سریع تر و گویا تری خواهید داشت .:oops:
مثال :
تابع glEnable با آرگومان GL_LINE_SMOOTH باعث فعال (on ) شدن antialiasing برای خطوط رسم شده می شود .
و همچنین تابع glDisable باعث off شدن آن می شود .

7- فرم کلی دستورات OpenGL به صورت زیر است :
[LTR]return-type glName{1234}{b s i f d ub us ui}{v} ([args ,] T arg1 , . . . , T argN [, args]);[/LTR]
مثال :
[LTR]void Color{34}{bsifd ubusui}[/LTR]
[LTR]glColor3b ( 255,0,0);[/LTR]
یعنی مقدار بافر رنگ را برابر رنگ قرمز قرار بده .(به همین راحتی به همین خوشمزگی )
اینطوری حفظ کردن توابع راحت تر می شه و از خطاهای احتمالی هم جلو گیری میشه .:green:

8-لیست توابع اصلی :
حدودا 500 الی 600 تابع دارد .:shock:
www.khronos.org/files/opengl4-quick-reference-card.pdf
 

smh1988

New Member
آخرین ویرایش:

armanbm

کاربر VIP
سلام.
ممنون از آموزشای خوبتون. این آخریش که عملا اینگلیسی بود اما دستتون درد نکنه.

خواستم خاطر نشان کنم که درس نظریه ی زبان ها و ماشین ها منحصر به رشته ی نرمافزار نبوده و رشته ی علوم کامپیوتر نیز دارای آن میباشد.

لذا از علاقمندان دعوت می شود این را هم بدانند!!!!

مخلص خالصان!
آرمان.!
 

mjamali

Member
سلام.من داخل تنظیمات بعضی بازیها هم گزینه open GL رو دیدم.
بعد از فعال سازی اون گزینه دقیقا چه اتفاقی در بازی میفته؟من تغییر زیادی رو احساس نکردم
 

the_king

مدیرکل انجمن
سلام.من داخل تنظیمات بعضی بازیها هم گزینه open GL رو دیدم.
بعد از فعال سازی اون گزینه دقیقا چه اتفاقی در بازی میفته؟من تغییر زیادی رو احساس نکردم

البته ارتباطی با موضوع برنامه نویسی نداره اما اتفاقی که می افته اینه که موتور بازی بجای استفاده از
قابلیت های DirectX از Open GL استفاده می کنه، کیفیت و سرعت هم با توجه به قدرت و قابلیت های
پشتیبانی شده در کارت گرافیکی ممکنه تغییر کنه.
 

mjamali

Member
خب.پس open gl کردن بازی گرافیک بالاتر می خواد

ممنون از راهنماییتون
 

جدیدترین ارسال ها

بالا