מה זה בעצם מנוע תלת מימד..?

b0necrack3r

New member
מה זה בעצם מנוע תלת מימד..?

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

galrt

New member
ok

a 3d engine is basically a rendering device of 3d objects/scenes for a game or any interactive/realtime application. it's basically the part that is responsible for taking data like a pixel or an object, texture.. and rendering to the screen. it can use different ways to render, like using direct3d or opengl interface or make your own rendering functions. you dont need to build engines, you can download already made up engines that take care of rendering calls, collisions, all kind of dymanics for you from all kind of websites online, try gamasutra.com OR you can learn how to use/call direct3d or opengl using a coding platform like Vc++ and make an engine your self.
 

mad ox

New member
השאלה לא מוגדרת מספיק

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

voguemaster

New member
לתקן אי דיוקים

מנוע תלת מימדי זו הגדרה רחבה למספר ישויות שונות. כל אחד משתמש במונח מנוע תלת מימדי כדי לתאר משהו. אז רק כדי לדייק, גם D3D ו-OpenGL הם מנועים תלת מימדיים. למעשה, מנוע תלת מימדי מורכב בגדול משתי ישויות נפרדות: 1. החלק שמנהל את האובייקטים שקיימים בעולם. החלק הזה בד"כ נקרא scene graph ותפקידו בכוח הוא לדעת את כל מה שצריך על כל האובייקטים שקיימים. איפה הם נמצאים, מה האוריינטציה שלהם, הגיאומטריה שלהם, מאפייני רינדור, חומרים טקסטורות וכד' (אם יש בד"כ יש חלוקה לוגית בין נתוני הגיאומטריה למאפייני הרינדור). התפקיד שלו בגדול הוא לנהל את האובייקטים ולהזין אותם בצורה חכמה לישות השניה שנקראת rendered. 2. ה-renderer כשמו כן הוא, תפקידו לרנדר את הגיאומטריה של האובייקטים אל המסך כולל חומרים. ברמה הזו אפשר להכניס את D3D ואת OGL ברמה העקרונית, אם כי יש להם גם קצת פונק' של 1. כמובן שה-renderer יכול לממש יכולות רינדור בתוכנה. הרבה אנשים קוראים ליכולות כאלו גם כן מנוע תלת מימדי אבל זה לא נכון לקרוא לזה כך. זה פשוט software renderer. איך בונים מנוע כזה ? מתחילים מלקרוא ספרים של אנשים שכתבו מנועים, קוראים מאמרים על הנושא (יש כמה חביבים) ומתחילים לעבוד (בהנחה שאתה מתכנת מנוסה). כמובן שיש הרבה יותר מדי פרטים בדרך אבל בגדול כך זה מתבצע. שים לב שבחברות מסחריות האנשים שאחראים לכתיבת המנוע הם בד"כ צוות גדול של אנשים ולכן אני אומר לך כבר מעכשיו, מנוע רציני זו עבודת צוות רצינית. מה גם, בד"כ את ה-DESIGN של המנוע לא מצליחים לעשות טוב בפעם הראשונה. אני בדיוק בשלבים של כתיבת מנוע כזה שמשתמש ב-D3D בתור מנוע רינדור. גם אני מבין שכנראה המנוע שאני אכתוב יהיה בסיסי ביחס לדברים אחרים שמסתובבים וכמובן שיש את הסיכוי שמתישהו אני איאלץ לכתוב אותו מחדש ב-DESIGN טוב יותר. זה רק נעשה יותר גרוע בגלל העובדה שאני הולך לכתוב גם מנוע פיסיקלי
 

galrt

New member
אם הבן אדם לא יודע מה זה בכלל

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

b0necrack3r

New member
תודה רבה חברה!

תודה רבה מכל התגובות שלכם הבנתי כמעט הכל ומשמ עניתם לי על השאלה!
 
למעלה