ABA


"2 שאלות בשפתC .. גרפיקה ועברית.."
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #5193 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 5193
פוקיפC
חבר מתאריך 3.11.16
20 הודעות
   21:48   24.02.03   
אל הפורום  
  2 שאלות בשפתC .. גרפיקה ועברית..  
 
   1) בניתי מכונית והיא נובעת על רקע של כביש איך אני יכול לעשות שהמכונית תיסע בלי להשאיר עקבות ובלי לטעון את הכביש כל פעם מחדש?
2) יש אפשרות לכתוב בעברית? בכל דרך שהיא????
תודה..


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  תשובות אנילאאנוכי 25.02.03 14:47 1
     תודה אבל מה זה דפים וירטואלים? פוקיפC 25.02.03 18:42 2
         תעלה לכאן את הקובץ של המכונית או את האפליקציה שרון אורן  25.02.03 19:48 3
             הנה זה פוקיפC 25.02.03 20:18 4
                 התוכנית הזאת לא רק שהיא מסורבלת ולא מובנת, liranh  26.02.03 06:33 5
                     באתר אנילאאנוכי 26.02.03 10:33 6
  תשובה: dryice 26.02.03 15:48 7
     בדיוק !!! Dudenland 26.02.03 18:07 8
  אז ככה תודה רבה לכולם פוקיפC 26.02.03 18:31 9
     זה בדיוק מה שניסיתי להסביר לך. Dudenland 26.02.03 20:21 10
         תודה רבה.. פוקיפC 26.02.03 22:22 11
         לא ממש הבנתי liranr 28.02.03 17:15 12
             תראה... Dudenland 28.02.03 17:42 13
                 הבנתי, תודה רבה liranr 28.02.03 21:06 14

       
אנילאאנוכי

דרג אמינות חבר זה
   14:47   25.02.03   
אל הפורום  
  1. תשובות  
בתגובה להודעה מספר 0
 
   1) תשתמש בדפים וירטואלים
2) יש קובץ שקוראים לו- HEBREW.COM


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
פוקיפC
חבר מתאריך 3.11.16
20 הודעות
   18:42   25.02.03   
אל הפורום  
  2. תודה אבל מה זה דפים וירטואלים?  
בתגובה להודעה מספר 1
 
   אם תוכל לבוא אלי לאיי סי קיו...
ודרך אגב יש למישהו לינק לHEBREW.COM?
וזה מתאים ל XP?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
שרון אורן 
חבר מתאריך 27.5.02
259 הודעות, דרג אמינות חבר זה
   19:48   25.02.03   
אל הפורום  
  3. תעלה לכאן את הקובץ של המכונית או את האפליקציה  
בתגובה להודעה מספר 2
 
   אני רוצה לראות

פתיחת אייפונים נעולים לסים פרי
https://www.unlock-it.co.il


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
פוקיפC
חבר מתאריך 3.11.16
20 הודעות
   20:18   25.02.03   
אל הפורום  
  4. הנה זה  
בתגובה להודעה מספר 3
 
  

האיי סי קיו שלי- 141454363


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
liranh  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 16.6.09
4157 הודעות, 1 פידבק, 2 נקודות
   06:33   26.02.03   
אל הפורום  
  5. התוכנית הזאת לא רק שהיא מסורבלת ולא מובנת,  
בתגובה להודעה מספר 4
 
   היא גם לא בנוייה טוב ולא עובדת!
למשל: איך אתה קורא לפונקציה reka() שבכלל לא בנית אחת כזאת?!
או שכתבת בתחילת התוכנית, אחרי ה- includes כל מיני פקודות, מחוץ לשום פונקציה, ובלי שום קשר לכלום!
איך בדיוק הדבר הזה עובד לך??


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
אנילאאנוכי

דרג אמינות חבר זה
   10:33   26.02.03   
אל הפורום  
  6. באתר  
בתגובה להודעה מספר 5
 
   www.cprogramming.com
יש מדור של מדריכים, תכנס לזה ותראה שלמטה יש כמה מדריכים על גרפיקה.
ובניהם יש גם מדריך על דפים וירטואלים.

אתה גם יכול לקנות את הספר "C נושאים מתקדמים ומולטימדיה"
בהוצאת הוד-עמי. תחפש עליו חומר באתר של ההוצאה: www.hod-ami.co.il
(הספר הזה מאוד מומלץ למי שמתחיל עם גרפיקה ודברים מתקדמים יותר).



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dryice

דרג אמינות חבר זה
   15:48   26.02.03   
אל הפורום  
  7. תשובה:  
בתגובה להודעה מספר 0
 
   אתה רוצה למחוק את המכונית, ולצייר אותה מחדש, למעשה אתה צריך
לצייר רק את החלק של הכביש שהיה מכוסה ע"י המכונית ולא את כולו,
אפשר שבציור המכונית אתה תשמור מה היה מתחת למכונית לפני הציור,
ואז תוכל לשחזר ולצייר את המכונית טיפה הצידה.

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

DRYICE


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Dudenland

דרג אמינות חבר זה
   18:07   26.02.03   
אל הפורום  
  8. בדיוק !!!  
בתגובה להודעה מספר 7
 
   אני ממליץ שתשתמש ב-Buffer.

אני מניח שיש לך משתנים ששומרים את המידע הנחוץ אודות המיקום של המכונית ושל הכביש, ושאר הדברים...

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

זוהי הדרך המקובלת ביותר כיום, בעולם הגרפיקה, ומומלץ לאמץ אותה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
פוקיפC
חבר מתאריך 3.11.16
20 הודעות
   18:31   26.02.03   
אל הפורום  
  9. אז ככה תודה רבה לכולם  
בתגובה להודעה מספר 0
 
   לא שמתי לב העלתי קובץ.. לא נכון..
זאת אומרת זה אותה תוכנית אבל לא מושלמת
כי שמרתי בשם אחר ושכחתי...
מצטער..
מישהו יכול להסביר לי איך עובדים עם באפר ולמה זה משמש?
בבקשה.
141454363-איציק...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Dudenland

דרג אמינות חבר זה
   20:21   26.02.03   
אל הפורום  
  10. זה בדיוק מה שניסיתי להסביר לך.  
בתגובה להודעה מספר 9
 
   אני אתן לך דוגמה:
כשאני בונה, למשל, שומר-מסך, כמו אלו שבאים עם ה-Windows, שבו תופיע צורה, נניח קובייה, עם צבעים שונים, באמצעות DirectX, אני בעצם יוצר מחלקה של קוביות, שבה אני שומר, בין היתר, את המיקום של הקובייה (או באמצעות Struct פשוט, או באמצעות מטריצה תלת-מימדית של Translation ו-Transformation).
מה שבפועל מבצע ה-DirectX, זה טעינת הנתונים ל-Buffer, ולאחר סיום הטעינה, מרעננים את המסך.

הסבר:
ה-Buffer ישמש כחוצץ בין הנתונים למסך. רענון מסך יעיל, יעשה פעם אחת באיטרציה אחת, כלומר, לא נרצה, בתוכנית שבה יש כמה אובייקטים תלת-מימדיים, לטעון אובייקט, ולרענן, עבור כל אובייקט. דרך יעילה, תהיה לטעון את כל האובייקטים, ואחר כך לרענן את המסך, רק פעם אחת.
אם כן, איך נעשה את זה ?
נגדיר Buffer, שיהיה חוצץ זיכרון. בתוכנית שלך זה יהיה בעצם משתנה מערך שיכיל ערכי צבעים. משתנה זה יהיה מערך דו-מימדי בגודל X*Y (הרוחב * הגובה).
בכל לולאה (איטרציה), שבה אתה מעלה את הכביש, את המכונית, ואת שאר הדברים, אתה תטען את האובייקטים (עצמים) מהעצם הכי רחוק, עד לעצם הכי קרוב, למשתנה Buffer, בדיוק כמו שטענת למסך).
ע"י כך, בסיום הלולאה, תיווצר תמונה (Frame) שתכיל בדיוק את כל העצמים והמיקום המדוייק שלהם.
לאחר מכן, (בסיום האיטרציה), אתה תחליף את המשתנה [Buffer[X,Y בכתובת הזיכרון של המסך (או שתעשה זאת באמצעות פונקציות מובנות, תלוי במה אתה משתמש), וכך, אתה מבצע ריענון למסך רק פעם אחת באיטרציה, כלומר אתה בונה את ה-Frame בנפרד, ואז מעתיק אותו למסך.

זה הכל, בינתיים.

Dudenland


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
פוקיפC
חבר מתאריך 3.11.16
20 הודעות
   22:22   26.02.03   
אל הפורום  
  11. תודה רבה..  
בתגובה להודעה מספר 10
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
liranr

דרג אמינות חבר זה
   17:15   28.02.03   
אל הפורום  
  12. לא ממש הבנתי  
בתגובה להודעה מספר 10
 
   ההעתקה מה Buffer למסך לא דורשת בלאו-הכי X*Y פעולות?
אם לא, אני ישמח להבין למה לא.
ואם כן, מה הרווחנו פה בעצם?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Dudenland

דרג אמינות חבר זה
   17:42   28.02.03   
אל הפורום  
  13. תראה...  
בתגובה להודעה מספר 12
 
   ההעתקה מה-Buffer לזיכרון המסך דורשת X*Y פעולות, אבל באופן מסודר:

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

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

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

Dudenland


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
liranr

דרג אמינות חבר זה
   21:06   28.02.03   
אל הפורום  
  14. הבנתי, תודה רבה  
בתגובה להודעה מספר 13
 
   ועוד שאלה, אם אני כבר לומד את הנושא
נתקלתי כמה פעמים במונח double buffer, ואני מניח שהכוונה היא פשוטו
כמשמעו להחזיק 2 באפרים. השאלה שלי היא למה זה טוב ואיך זה הופך את
האנימציה ליותר חלקה?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net