עבור לתוכן

Ogre vs OpenGL for 3D graphics. What is better?

Featured Replies

פורסם

הגעתי למסקנה שאין צורך להיתמקד יותר מדי בגרפיקה דו מימדית זה לא יביא אותי מהר יותר למטרה שלי אז החלטתי לעבור לתלת מימד. הייתי כבר בטוח שאני אשתמש ב OGL לגרפיקה תלת מימדית + SDL לטיפול בחלון וקלט (במקום להיסתבך עם Win32API וגם SDL מביא לי אפשרות לכתוב cross platformed software), עד שלפתע צצה תגובה בפורום אחר שהייתה מנוסחת ככה:

If you want to make game use Ogre.

ופה אני נתקע. שמעתי על Ogre קצת אבל ממש קצת ולכן אני שואל פה מה כדי OGL או Ogre?

יש לשים לב שאני מתכוון להיתמקד ביצירת משחקים תלת מימדיים.

תודה רבה מראש.

פורסם

אני חושב שכדאי לך להתחיל בקטן.

פורסם
  • מחבר

אני חושב שכדאי לך להתחיל בקטן.

אפשר פירוט ךמה אתה מתכוון?

פורסם

להתחיל מדו מימד.

פורסם

Ogre מנוע מוכן שבנוי בOpenGL ובעיקר מספריות python.

זה לא ילמד אותך כלום כמעט, ולא תוכל לעבוד איתו בצורה רצינית מעבר לכלים שלו בלי ידע מוקדם.

עזוב OpenGL זה מת, תלמד managed directx עם דגש על managed. המדריכים של ne-he לopengl טובים בשביל תפיסה כללית בסיסית מעבר לזה לא צריך להתמקד בAPI היה כבר.

פורסם
  • מחבר

UnsignedInteger

כנראה שפשוט לא ציינתי נכון בהודעה שלי. אני כבר כשנה לומד דו מימד.

דובי זובי

תודה רבה על המידע, אם Ogre זה אכן מנוע שבנוי על OGL אז זה טיפשי ללמוד אותו.

MDX לא יודע מה בדיוק מסמל ה managed אבל אני יודע ש DX הוא לא cross platform וזה חשוב לי. אני אשקול את ההצעה הזאתי בכל מקרה. חוץ מזה עוד שנה מקסימום שנתיים DX9 ימות, ואני לא בקטע של להחליף כרטיס מסך שיתמוך ב DX10 גם לא בעוד שנתיים.

בכל מקרה תודה רבה על התגובות.

פורסם

תבדוק את XNA. זו טכנולוגיהדומה לDX שתחליף אותה.

פורסם

UnsignedInteger

כנראה שפשוט לא ציינתי נכון בהודעה שלי. אני כבר כשנה לומד דו מימד.

דובי זובי

תודה רבה על המידע, אם Ogre זה אכן מנוע שבנוי על OGL אז זה טיפשי ללמוד אותו.

MDX לא יודע מה בדיוק מסמל ה managed אבל אני יודע ש DX הוא לא cross platform וזה חשוב לי. אני אשקול את ההצעה הזאתי בכל מקרה. חוץ מזה עוד שנה מקסימום שנתיים DX9 ימות, ואני לא בקטע של להחליף כרטיס מסך שיתמוך ב DX10 גם לא בעוד שנתיים.

בכל מקרה תודה רבה על התגובות.

managed הוא דוט נטי.

תבדוק את XNA. זו טכנולוגיהדומה לDX שתחליף אותה.

XNA לא תחליף DX היא לא נועדה לזה, XNA הוא framework יעודי לפיתוח משחקים לא API גראפי, הAPI הגראפי שלו הוא Direct3Dx(אין ספריות Direct3D רגילות רק X - כלומר managed(ולא X זה לא 10))

פורסם

OpenGL _רחוק_ מלהיות מת. למעשה, הוא חי טוב מאוד, תודה רבה.

אם אתה עובד על: Mac, Linux, Playstation3, פלאפונים, PSP, BSD, Unix ולמעשה כל דבר שהוא לא windows, אז OpenGL זה הדרך.

אני ממליץ שתלמד OpenGL קודם - הוא עובד על יותר דברים ולכן יש לך יותר אפשרויות. D3D אפשר ללמוד אח"כ.

פורסם
  • מחבר

תודה רבה לכולם

פורסם

OpenGL _רחוק_ מלהיות מת. למעשה, הוא חי טוב מאוד, תודה רבה.

אם אתה עובד על: Mac, Linux, Playstation3, פלאפונים, PSP, BSD, Unix ולמעשה כל דבר שהוא לא windows, אז OpenGL זה הדרך.

אני ממליץ שתלמד OpenGL קודם - הוא עובד על יותר דברים ולכן יש לך יותר אפשרויות. D3D אפשר ללמוד אח"כ.

הOpenGL בPS3 הוא בCG ולא בGLSL לכן מבחינת שפת תכנות זה שפת תכנות שונה ללמוד כאשר רוצים לעבוד עם שפת תכנות גבוהה, ואתה לא רוצה להתחיל לתכנת באסמבלר נכון..?

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

Managed D3D מלמד אותך C# וD3D בו זמנית, בהתחשב שMS עובדת על API גראפי לES אז גם שמה בקרוב יהיה D3D.

כן אפליקציות מקצועיות וGPGPU שנכנס עכשיו מאוד חזק לחלק מהענפים עדיין עובדים בOpenGL אבל לתכנות אפליקציות גראפיות נטו D3Dx הרבה יותר עדיף ללמוד עכשיו, גם אם לא תוכל להציק קוביה צבעונית בשיעור הראשון שלך...

פורסם

הOpenGL בPS3 הוא בCG ולא בGLSL לכן מבחינת שפת תכנות זה שפת תכנות שונה ללמוד כאשר רוצים לעבוד עם שפת תכנות גבוהה, ואתה לא רוצה להתחיל לתכנת באסמבלר נכון..?

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

Managed D3D מלמד אותך C# וD3D בו זמנית, בהתחשב שMS עובדת על API גראפי לES אז גם שמה בקרוב יהיה D3D.

כן אפליקציות מקצועיות וGPGPU שנכנס עכשיו מאוד חזק לחלק מהענפים עדיין עובדים בOpenGL אבל לתכנות אפליקציות גראפיות נטו D3Dx הרבה יותר עדיף ללמוד עכשיו, גם אם לא תוכל להציק קוביה צבעונית בשיעור הראשון שלך...

א) אני מתכנת לאסמבלר כבר שנים. לפעמים אין ברירה, וזה לא קשה כ"כ.

ב) אין טעם ללמוד פלטפורמה מצומצמת וסגורה כאופציה ראשונה. עדיף ללמוד פלטפורמה שהיא כמעט תקן, ונמצאת על מגוון רחב של מכשירים. את D3D אפשר ללמוד במקביל או אח"כ. בכל מקרה היא מסובכת יותר לשימוש.

ג) זה גרפיקה. אם אני לא יכול לסובב קוביה בשיעור הראשון, מה הטעם? קודם מסובבים קוביה.

ד) אני רואה שגם אתה מסכים, OpenGL ממש לא מת.

ה) כמו כן, המשפט שלך מצחיק: "חלק מהענפים עדיין עובדים ב-OpenGL"... למעשה כל הענפים עובדים ב-OpenGL. חלק קטן מאוד מהם עובד גם ב-D3D (משחקים ל-XBOX ותוכנות windows).

פורסם

תראה אם הבחור דיבר על Ogre אפשר להניח שהוא התכוון למשחקים ולא לאפליקציות כלליות. ומה לעשות שDirectX הרבה יותר עדיף ללמוד בשביל זה כיוון שבכל מקרה אם זאת המטרה שלך אתה תצתרך ללמוד את זה גם אם המשחק הוא בOpenGL יש הרבה יותר דברים בDX מאשר D3D. ואם משחק נטו הוא רצונך, אז כן בDX יקח לך הרבה פחות "שעורים" לבנות אחד.

הדבר הזה גם חושף אותו למדיה, לפונקציות UI מתקמות בVista ולדברים רבים נוספים. MS עושה כל מה שהיא יכולה לעשות בשביל להביא את DX לעם, OpenGL גם הוא לא בדיוק תקן פתוח לגמרי, אתה תמיד תיהיה מוגבל לתמיכת החומרה שלך בהרחבות. בהתחשב שהARB מתה, ואף אחד לא ברור מה קבוצת קרונוס עושה כרגע זה יוצר בעיות לא קטנות לאיש הקטן לדעתי. בשונה מזה MS מנסה עכשיו לירות לכל הכיוונים, החל מגרסאת XNA חינאמית(שתיהיה כמובן דיי מוגבלת אבל בהתחשב שהeductaion license של הSDK של ה360 שעכשיו זה הפך לXNA עולה 30 אלף דולר אפשר גם על זה להגיד תודה).

בהתחשב שמשחקים על MAC עכשיו כרגע גם יהיו ברובם DX לאחר שEA אמרה שהיא תעשה את זה דרך סיידר או איך שלא קוראים להם אז גם השוק הזה פתוח לך, במיוחד שאני לא חושב שיעבור הרבה זמן עד שMS תשחרר גרסאת DX למאק בצורה רשמית, בעקר כיוון שיש לה אחת מוכנה.

OpenGL זה באמת API נפלא והכל, אבל מה לעשות שהוא מגביל אותך מבחינה של שפות תכנות, כמות הפונקציות שאתה חשוף אליהם, ועדיין יצריך שימוש רחב בDX במילא תחת אפליקציות חלוניות.

ואני עומד מאחורי מה שאמרתי על חלק, משחקים תופסים בצורה מוחצת את רוב נתח השוק של האפליקציות הגראפיות. תוכנות CAD למינהם, אפליקציות יעודיות(GPGPU, עיבוד תמונה וכו') תופסים היום חלק שולי בשוק מכל בחינה ממקומות עבודה ועד רווח\הכנסות בכללי.

תוכנות מולטימדיה, בעקר עם המעבר לUVD עובדות המון עם DX וזה יתרון נוסף.

Managed DirectX נותן לך נסיון עבודה בסביבה מנוהלת שכל השוק עובר לזה עכשיו, נותן לך נסיון עבודה עם C#(שהשוק בארץ פשוט צמא בצורה לא יאמנת למתכנתים האלה) ונותן לך נסיון בתכנות תחת APIים רבים שישמושיים למספר דבר מעבר לאפליקציה גראפית טיפוסית.

פורסם
  • מחבר

דובי זובי

הממ דיברתי על Ogre כי זה מה שאמרו לי בפורום אחר. עד עכשיו לא ידעתי שOgre זה בעצם מנוע מוכן שבנוי על OpenGL.

הרעיון הוא לא רק לבנות משחק אן הייתי רוצה רק לבנות משחק הייתי מוריד איזה Game Maker.

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

פורסם

אם משחקים אז רק DX אני לא חושב שאפילו Zelig יערער על זה, כמובן אם היעוד הוא מקצועי.

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

קיימות עוד מספר חברות שעושות outsourcing למשחקים בישראל אבל העבודה שמה שונה מפיתוח. בכל מקרה הענף הזה מתפתח בישראל בצורה יחסית טובה בשנתיים האחרונות, הרבה חברות מחפשות אנשים עם ידע בDirectX וOpenGL, אינטל למשל שוכרת המון עובדים בעלי הכרות עם Direct3D וOpenGL לחטיבה הגראפית שלה בישראל.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים