לדלג לתוכן

OpenGL

מתוך ויקיפדיה, האנציקלופדיה החופשית
גרסה מ־22:11, 29 בנובמבר 2011 מאת Orentet (שיחה | תרומות) (הערך זקוק לעריכה. אתקן אותו בימים הקרובים.)

OpenGL ‏(Open Graphics Library) הוא ממשק תכנות יישומים ליצירת תוכנות שמייצרות גרפיקה תלת ממדית ממוחשבת (וגם דו-ממדית). הממשק מורכב מיותר מ־250 קריאות פונקציות שונות שיכולות לשמש לציור של סצנות תלת-ממדיות מורכבות מפרימיטיבים פשוטים. OpenGL פותחה במקור על ידי חברת סיליקון גרפיקס (Silicon Graphics Inc.) בשנת 1992, אך כיום הפיתוח הוא בידי Khronos Group.

OpenGL פופולרית בתעשיית משחקי הווידאו, שם המתחרה העיקרית היא Direct3D המפותח ע"י חברת מייקרוסופט. שימוש נרחב ב־OpenGL ניתן למצוא בסביבות מציאות מדומה, סימולציות מדעיות, הצגת מידע, סימולטורים מדמי טיסה ופיתוח משחקי מחשב.

מבנה

ל-OpenGL שתי מטרות עיקריות:

  • לעטוף את ממשק המשתמש עם מאיצי 3D שונים, בעזרת ממשק אחיד
  • להסתיר את ההבדלים בין פלטפורמות חומרה שונות

הפעולה הבסיסית של OpenGL היא לקבל סוגי משתנים בסיסיים כמו נקודה, שורה, או פוליגון ולהמיר אותם לפיקסלים (רסטריזציה). המרה זאת נעשית בעזרת מכונת המצבים של OpenGL. רוב הפקודות של OpenGL עוסקות בהמרה זאת, או על ידי שליחת משתנים למכונת המצבים להמרה או בשליטה בקוניפגורציה של עיבוד הנתונים במכונת המצבים. לפני הופעת OpenGL 2.0 כל שלב של מכונת המצבים ביצע פעולה אחת והיו לו אופציות קונפיגורציה מוגבלות. בOpenGL 2.0 יש יותר אופציות שניתנות לתכנות בעזרת GLSL.

ל-OpenGL הייתה השפעה על מאיצי 3D, בכך שהיא עודדה הוספת פיצ'רים שכיום נחשבים לנורמה בתחום.

תיאור קצר של התהליך במכונת המצבים הוא:

  1. חישוב של הפונקציות שמתארות משטחים, ועקומות אם צריך
  2. פעולות על קודקודים, טרנספורצמיות שלהם, הארה שלהם בהתאם לתכונותיהם
  3. הפיכת הנתונים לפיקסלים (רסטריזציה)
  4. פעולות על חלקים מהתמונה, כמו עדכון ערכים בהתאם להוראות
  5. שליחת הנתונים אל תוך אוגר המסגרות

יש מאיצים גרפיים שמספקים פיצ'רים מעבר לרשימה זו, אך הם בדרך כלל הרחבה של הרשימה ולא שינוי רדיקלי שלה.


ערך זה הוא קצרמר בנושא מחשבים. אתם מוזמנים לתרום לוויקיפדיה ולהרחיב אותו.

תבנית:Link GA