איך גלגל מרובע הפך לעגול? מה השתנה בגרפיקה? - עמוד 5 - כרטיסי מסך - HWzone פורומים
עבור לתוכן
  • צור חשבון

איך גלגל מרובע הפך לעגול? מה השתנה בגרפיקה?


alex.turovsky

Recommended Posts

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

תאורה זו גם אחריות של הכרטיס מסך בילבד.

עין הצופה ? מה זה ?

מעבד CPU לא עושה הרבה יותר מלחשב AI ופיזיקה במשחקים, טוב נו הוא גם מפעיל את הכרטיס קול...

אתה צודק, וגם אני צודק. אם הייתי טורח לפרט יותר קודם לא היתה נוצרת אי הבנה.

כל פוליגון הוא משולש הנמתח בין 3 קודקודים, כן? כל הקודקודים בסצנה ממוקמים ע"י המעבד.

כרטיס המסך מקבל את המידע הגאומטרי הגולמי (Wireframe אם תרצו) הזה ועושה איתו את מה שהוא יודע לעשות (טקסטורות, שיידינג וכו').

כיום זה מתחיל להשתנות עם יכולת ה-Instancing של DX10 (המעבד מעביר את הגאומטריה של "עץ" למאיץ, ומאז בכל פעם שצריך למקם "עץ", מספיק שהמעבד ילחש למאיץ את המילה "עץ" במקום להעביר את הגיאומטריה בכל פעם). DX10 הוסיף גם Geometry Shaders (שינוים בגיאומטריה הבסיסית שמבוצעים ע"י ה-GPU, אבל עדיין על סמך הוראות מה-CPU), ATI במקביל מנסים לדחוף לתקן גם את יכולת ה-Tesselation ("שבירה" של פוליגון בודד לכמה קטנים יותר) שהם הציגו ב-X360... יום אחד עוד יכתבו קוד שמנצל את כל זה.

המחשבים היום לא עובדים כמו אלה של אתמול, וגם מחר הם יעבדו אחרת.

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

"עין הצופה" - המצלמה שמתעדת את המתרחש ומעבירה את זה למסך. בין אם היא נמצאת בתוך הדמות שאתה משחק (FPS), מאחוריה (3PS), בשמיים(RTS, פלטפורמה וכו') או איפה שלא יהיה.

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

אם יש לכם יותר מדי זמן פנוי, אתם מוזמנים לקרוא את הסדרה של 3 המאמרים הנ"ל מ-ExtremeTech שמסבירה בפירוט מלא ומייגע את כל התהליך, ואז תבינו הכל ותהיו חכמים כמוני. כמעט.

http://www.extremetech.com/article2/0,1697,9722,00.asp

כדאי לקחת בחשבון שמדובר בכתבות מ-2001. היישום כיום מבוסס על אותם עקרונות, אבל לא מעט גם השתנה.

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

קישור לתוכן
שתף באתרים אחרים

  • תגובות 108
  • נוצר
  • תגובה אחרונה

משתתפים בולטים בדיון

משתתפים בולטים בדיון

אתה צודק, וגם אני צודק. אם הייתי טורח לפרט יותר קודם לא היתה נוצרת אי הבנה.

כל פוליגון הוא משולש הנמתח בין 3 קודקודים, כן? כל הקודקודים בסצנה ממוקמים ע"י המעבד.

כרטיס המסך מקבל את המידע הגאומטרי הגולמי (Wireframe אם תרצו) הזה ועושה איתו את מה שהוא יודע לעשות (טקסטורות, שיידינג וכו').

כיום זה מתחיל להשתנות עם יכולת ה-Instancing של DX10 (המעבד מעביר את הגאומטריה של "עץ" למאיץ, ומאז בכל פעם שצריך למקם "עץ", מספיק שהמעבד ילחש למאיץ את המילה "עץ" במקום להעביר את הגיאומטריה בכל פעם). DX10 הוסיף גם Geometry Shaders (שינוים בגיאומטריה הבסיסית שמבוצעים ע"י ה-GPU, אבל עדיין על סמך הוראות מה-CPU), ATI במקביל מנסים לדחוף לתקן גם את יכולת ה-Tesselation ("שבירה" של פוליגון בודד לכמה קטנים יותר) שהם הציגו ב-X360... יום אחד עוד יכתבו קוד שמנצל את כל זה.

המחשבים היום לא עובדים כמו אלה של אתמול, וגם מחר הם יעבדו אחרת.

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

"עין הצופה" - המצלמה שמתעדת את המתרחש ומעבירה את זה למסך. בין אם היא נמצאת בתוך הדמות שאתה משחק (FPS), מאחוריה (3PS), בשמיים(RTS, פלטפורמה וכו') או איפה שלא יהיה.

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

אם יש לכם יותר מדי זמן פנוי, אתם מוזמנים לקרוא את הסדרה של 3 המאמרים הנ"ל מ-ExtremeTech שמסבירה בפירוט מלא ומייגע את כל התהליך, ואז תבינו הכל ותהיו חכמים כמוני. כמעט.

http://www.extremetech.com/article2/0,1697,9722,00.asp

כדאי לקחת בחשבון שמדובר בכתבות מ-2001. היישום כיום מבוסס על אותם עקרונות, אבל לא מעט גם השתנה.

וואו

זה היה הסבר מעולה תודה

קישור לתוכן
שתף באתרים אחרים

אתם יכולים לבנות שניכם רצף כרונולוגי מסודר של מה שקורה מהרגע שבו אני לוחץ על כפתור

START או RUN במשחק כולשהו

ועד שנוצרת התמונה ואני מתחיל לרוץ במשחק ?

קישור לתוכן
שתף באתרים אחרים

התחלתי לנסח תשובה, אבל מהר מאוד הבנתי שהתהליך והרקע הנלוה הם בהיקף של כ-7 נקודות אקדמיות, אז בינתיים לא.

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

קישור לתוכן
שתף באתרים אחרים

אני רוצה לקבל בעזרתכם מושג על מה זה

Quadratic Texture Maps . . .

מדובר על זה שבהתחלה nVIDIA לא הלכו על ה אלא על שיטה משלהם שאני לא כל כך מבין מה זה אומר.

כמו כן, מה זה אומר The curved side of the polygons

תודה

When the NV1 was produced, many of the 3D standards we now take for granted had not yet been decided. Since polygons had not yet become the standard for 3D gaming, chose to implement Quadratic Texture Maps, not polygons, as its graphics primitive. Whereas today's 3D cards must use many small polygons to replicate smoothness, the NV1 used the curved sides of polygons. This allowed the NV1 to display smoother looking 3D models with fewer calculations. Textures were stored in system and pulled over the PCI or VESA Local Bus as needed - exactly what AGP promised a few years later.

קישור לתוכן
שתף באתרים אחרים

מה זה יחידת בסיס של פוליגונים?

ואת הלינק ראיתי , רק שלא הבנתי, הרי כל הצורות נוצרות ע"י נקודות על קו, ומישכת הקו לכיוונים שונים כדי לתת לקו צורה. ריבוי קווים כאלה יוצר דמות. מה רצית לומר בזה? הרי גם לפני ה , צורות נראו בדיוק אותו דבר, רק לא הבנתי אם הן לא הורכבו מפוליגונים אז ממה?

ובמה שונה מהAPI הזה של QUADRATIC SURFACES ?

קישור לתוכן
שתף באתרים אחרים

יחידת הבסיס של הפוליגונים הם משלושים ישרים שמוגדרים ע"י 3 נקודות במרחב (ורטקסים).

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

DIRECTX עובד עם משולשים.

קישור לתוכן
שתף באתרים אחרים

This allowed the NV1 to display smoother looking 3D models with fewer calculations.

משהו לא הגיוני לי פה . . . אם משולשים שDIRECTX עובד לפיהןם קלים יותר לעבודה וקטנים יותר ותיאורטים ככל שהצורה בעלת פחות צלעות, קל יותר ליצור איתה עיגולים, איך בדיוק משטחים ריבועיים אמורים ליצור ע"פ הנ"ל מודלים חלקים יותר ועם פחות חישובים . . . ולמה התעשייה לא עברה לזה אם כך ?!

לדוגמה, כדור עגול מורכב ממשולשים בבסיס האזנה (כמו אלה של יחידה 8200).

Menwith-hill-radomes.jpg

קישור לתוכן
שתף באתרים אחרים

מה שאתה מראה פה זה כיפה גאודזית:

http://he.wikipedia.org/wiki/%D7%9B%D7%99%D7%A4%D7%94_%D7%92%D7%90%D7%95%D7%93%D7%96%D7%99%D7%AA

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

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

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

קישור לתוכן
שתף באתרים אחרים

מה שאתה מראה פה זה כיפה גאודזית:

http://he.wikipedia.org/wiki/%D7%9B%D7%99%D7%A4%D7%94_%D7%92%D7%90%D7%95%D7%93%D7%96%D7%99%D7%AA

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

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

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

]

דבר ראשון זה נכון

OPEN GL הוצג כבר ב1992 על ידי SILICON GRAPHICS

DIRECTX1 הוצג יחד עם 95, ב1995.

השאלה שלי היא

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

קישור לתוכן
שתף באתרים אחרים

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

קישור לתוכן
שתף באתרים אחרים

הבנתי.

תגידו, אם לא עם פוליגונים (אגב מה ההגדרה שלהם בכלל), איך עוד אפשר לבנות צורות תלת מימד למשחקים עם רמות פירוט כמו בCRYSIS ?

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

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

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

קישור לתוכן
שתף באתרים אחרים

ארכיון

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


×
  • צור חדש...