שאלה על-VERTEX SHADER - כרטיסי מסך - HWzone פורומים
עבור לתוכן
  • צור חשבון

שאלה על-VERTEX SHADER


amitaihasnes7

Recommended Posts

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

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

(מקווה שלא עשיתי סלט גדול מידי :s05:)

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

VS הוא לא מעבד גראפי, אלא מין פונקציה שלו.

בצינור העיבוד של הVS מחושבים קוקודים (vertices) כפי שאמרת, והם מרכיבים משולשים (triangels) שנקראים גם פוליגונים והם למעשה מרכיבים כל דבר שאתה רואה (וגם שלא) בסביבה התלת מימדית.

בעבר המעבד היה אחראי לפעולות העיבוד הגאומטרי, מה שהיה גורם לאיבוד ביצועים גבוה עקב כך שהמעבד הוא לא צ'יפ דידקטי לכך, עד שnVIDIA יצאו עם הGeForce 256 שכלל את פונקציית הT&L או TnL, שבעצם העבירה פעולת העיבוד הגאומטרי לכרטיס המסך שכמובן מכיל צ'יפ דידקטי והביצועים עלו בהתאם.

במשך הזמן הצטרף הProgramble Pipeline ביחד עם DX8.0 שכלל שני סוגים, Shader Pipeline וVertex Shader Pipeline, משחקים החלו לתמוך בפונק' אלו ובמקום בניית הגאומטריה ע"י הFixed Pipeline הישן בTnL החלו להשתמש בפונק' המתקדמות של הVS ליצירת הגאומטריה.

כרטיסי הHigh-End של היום כוללים 8 צינורות עיבוד של VS.

*יש טעויות כתיב באנגלית (כנראה), אנא סלח.

*אתם מוזמנים לתקן.

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

בגדול אתה צודק

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

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

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

בגדול אתה צודק

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

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

וגם לא יוצר גאומטריה, בגדול כל מה שהוא עושה זה טרנספורמציה מobject space לclip space שבשונה מTnL אפשר לשחק איתה המון.

בעזרת פונקציות יותר מתקדמות כמו render 2 vertex buffer אפשר ליצור איזהשהיא מוניפולציה גאומטרית, אולם טכנית אין שימוש בVS כיוון שזה נעשה דרך הPS ברובו, משתמשים בPS כדי לעשות Vertex skining ובVS בשביל מוניפולציית הvertex stream.

GS בD3D10 ייתן אפשריות של מוניפולציית הgeometry stream שבעזרתה באמת ניתן לעבוד עם הגאומטריה עצמה, ולא עם אוסף של קורדינאטות.

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

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

כמו כן יש לציין שבלבלתם לי ת'מוח, ובנוסף יש לציין שלא הבנתי כלום.

אי לכך ובהתאם לזאת, יש לשאול שלא הבין אנוכי את ההבדל בין VS לPS.

התסבירו לי?

:silly:

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

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

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

כמו כן יש לציין שבלבלתם לי ת'מוח, ובנוסף יש לציין שלא הבנתי כלום.

אי לכך ובהתאם לזאת, יש לשאול שלא הבין אנוכי את ההבדל בין VS לPS.

התסבירו לי?

:silly:

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

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

:lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol:

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

אם אתה רוצה גם להבין אתה צריך ללכת כמה צעדים אחורה!!

(אין ספק!!! דוגמא לא פרייר.....)

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

ארכיון

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

×
  • צור חדש...