ورود

View Full Version : گرافیک سه بعدی



dele514
چهارشنبه 10 شهریور 1395, 18:56 عصر
سلام
میخواستم بدونم برای اینکه یه موتور رندر کننده مثل opengl بسازیم،به چه دانش هایی نیاز داریم؟(فقط بخش گرافیک سه بعدی نه دانش برنامه نویسی)
بیشتر منظورم چه مباحثی از ریاضیاته؟
ممنون میشم اگه کتاب یا سایت هایی رو معرفی کنید :لبخندساده:

[younes]
پنج شنبه 11 شهریور 1395, 00:41 صبح
به نظر میاد شما اینجا رو با stackoverflow.com اشتباه گرفتی .......

پیام حیاتی
پنج شنبه 11 شهریور 1395, 03:20 صبح
سلام
میخواستم بدونم برای اینکه یه موتور رندر کننده مثل opengl بسازیم،به چه دانش هایی نیاز داریم؟(فقط بخش گرافیک سه بعدی نه دانش برنامه نویسی)
بیشتر منظورم چه مباحثی از ریاضیاته؟
ممنون میشم اگه کتاب یا سایت هایی رو معرفی کنید :لبخندساده:
https://www.google.com/search?q=how+to+create+engine+graphics&oq=how+to+create+engine+gra&aqs=chrome.3.69i57j33l3.14624j0j4&client=tablet-android-lenovo&sourceid=chrome-mobile&ie=UTF-8


برای کتاب:

https://cse.google.com/cse?cx=013493258683483688568:xhfa6ctm1ki&q=Graphic%20engine#gsc.tab=0&gsc.q=Graphic%20engine%203D&gsc.sort=

پیام حیاتی
پنج شنبه 11 شهریور 1395, 03:21 صبح
;2338757']به نظر میاد شما اینجا رو با stackoverflow.com اشتباه گرفتی .......
چه ارتباطی داره؟!

[younes]
پنج شنبه 11 شهریور 1395, 11:37 صبح
چه ارتباطی داره؟!
از نظر من:
چقدر احتمال داره تو این انجمن کسی یه کتابخونه ی گرافیکی عالی نوشته باشه بعد بخواد تجربه اش رو با کسی شریک بشه؟
البته هستند کسانی که خیلی با سواد و خبره اند و کارای بزرگی انجام دادند اما اکثرا اعضای ده یازده سال قبل اند که به ندرت به اینجا سر میزنند و کمتر تمایل به جواب دادن دارند....

dele514
پنج شنبه 11 شهریور 1395, 17:05 عصر
ممنون از توجه و پاسختون اما اکثرا به موتور بازی اشاره داشتن تا موتور گرافیکی ولی یه چیزایی دستگیرم شد




به نظر میاد شما اینجا رو با stackoverflow.com اشتباه گرفتی .......
بذار شانسمونو امتحان کنیم

M.Rahimy
یک شنبه 14 شهریور 1395, 13:46 عصر
سلام
میخواستم بدونم برای اینکه یه موتور رندر کننده مثل opengl بسازیم،به چه دانش هایی نیاز داریم؟(فقط بخش گرافیک سه بعدی نه دانش برنامه نویسی)
بیشتر منظورم چه مباحثی از ریاضیاته؟
ممنون میشم اگه کتاب یا سایت هایی رو معرفی کنید :لبخندساده:

سلام
پیشنهاد من اینه که در ابتدا خود کتابخانهٔ OpenGl رو مطالعه کنید. همان‌هایی که در جاوا یا سی پیاده‌سازی کردن. چیزی که من متوجه شدم اینه که کاملا در سطح سخت‌افزار کار می‌کنه. مثلا وقتی که توی اندروید می‌گیم:


glEnable(GL20.GL_BLEND)
glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);


داره یک سری اعداد رو از طریق همون متد/تابع به کارت گرافیک می‌ده. و اینکه چطور پیاده سازی شده واقعا نمیشه گفت چون درایور کارت گرافیک انحصاری هست. مگر اینکه در جوامع لینوکس‌باز عضو بشید و از اونها بپرسید یا سورس یک درایور کارت گرافیک رو مطالعه کنید.

پس علاوه بر دونستن ریاضیات و هندسه (مخصوصا مبحث ماتریس در ریاضیات که باید حتما خورده باشید اش) باید به سخت‌افزار و چیپ‌های کارت گرافیک هم مسلط باشین.

مثالی از ثوابتی که در اوپن‌جی‌ال وجود داره رو در پیاده‌سازی با رابی در اینجا ببینید:

https://docs.omniref.com/ruby/gems/opengl-core/1.3.2/symbols/Gl::GL_TEXTURE_2D#line=4