امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
سوال در مورد OPEN GL
#1
با سلام خدمت دوستان عزیز و استاد مقدم

راستش من در مورد یکی از دروس دانشگاهی با مبحث opengl بر خورد کردم یه سری تحقیق کردم تو یه فیلم برای که دانلود کردم متوجه شدم که این یه کتابخانه هست و در این فیلم اموزش از زبان c++ و نرم افزار visual stadio استفاده میکرد ایا من برای استفاده از این کتابخانه حتما باید با c++ برنامه بنویسم؟؟ ایا در کنار زبان های دیگه میشه از این کتابخانه استفاده کرد ؟؟ ایا نرم افزار دیگه ای هم به جز visual stadio هست که بتونم استفاده کنم؟
با سپاس فراوان از راهنمایییتون
پاسخ
#2
سلام
البته من با OpenGL زیاد کار نکردم ولی اطلاعاتی که دارم رو در اختیارتون قرار میدم.
لزومی نداره که حتماً با ++C برنامه نویسی کنید. میتونید از زبانهای دیگه هم استفاده کنید، ولی اکثر افرادی که با OpenGL کار میکنند از ++C استفاده میکنند و من هم توصیه میکنم که شما از ++C استفاده کنید.
ولی میشه در زبانهای دیگه مثل Visual Basic یا #C هم از OpenGL استفاده کرد.
حتی تکنولوژی WebGL که در JavaScript به کار میره، در اصل از کتابخانه‌ی OpenGL استفاده میکنه. یعنی شما با JavaScript هم میتونید برنامه‌نویسی OpenGL انجام بدید.
ولی در کل اگه هدفتون ایجاد یک Application برای یک پلتفرم خاص نیست. و هدفتون صرفاً انجام کار تحقیقاتی است. به 2 دلیل توصیه میکنم که حتماً از ++C استفاده کنید.
1- خود OpenGL با ++C نوشته شده
2- منابع آموزشی OpenGL اکثراً بر مبنای ++C آموزش میدهند.
پاسخ
#3
(2016/11/15، 07:02 PM)admin نوشته است: سلام
البته من با OpenGL زیاد کار نکردم ولی اطلاعاتی که دارم رو در اختیارتون قرار میدم.
لزومی نداره که حتماً با ++C برنامه نویسی کنید. میتونید از زبانهای دیگه هم استفاده کنید، ولی اکثر افرادی که با OpenGL کار میکنند از ++C استفاده میکنند و من هم توصیه میکنم که شما از ++C استفاده کنید.
ولی میشه در زبانهای دیگه مثل Visual Basic یا #C هم از OpenGL استفاده کرد.
حتی تکنولوژی WebGL که در JavaScript به کار میره، در اصل از کتابخانه‌ی OpenGL استفاده میکنه. یعنی شما با JavaScript هم میتونید برنامه‌نویسی OpenGL انجام بدید.
ولی در کل اگه هدفتون ایجاد یک Application برای یک پلتفرم خاص نیست. و هدفتون صرفاً انجام کار تحقیقاتی است. به 2 دلیل توصیه میکنم که حتماً از ++C استفاده کنید.
1- خود OpenGL با ++C نوشته شده
2- منابع آموزشی OpenGL اکثراً بر مبنای ++C آموزش میدهند.
با سلام مجدد خدمت استاد مقدم
استاد شما گفتید که تکنولوژیwebgl خودش داره ازopengl  استفاده میکنه یعنی زمانی که ما در جاوا اسکریپت از تابع arc برای رسم دایره استفاده میکنیم  این عمل در پشت پرده توسط open gl انجام میشه؟؟
پاسخ
#4
(2016/11/15، 08:24 PM)arashenayati نوشته است: با سلام مجدد خدمت استاد مقدم
استاد شما گفتید که تکنولوژیwebgl خودش داره ازopengl  استفاده میکنه یعنی زمانی که ما در جاوا اسکریپت از تابع arc برای رسم دایره استفاده میکنیم  این عمل در پشت پرده توسط open gl انجام میشه؟؟

خیر، تابع arc در حالت 2 بعدی ترسیمات Canvas به کار میره
اما WebGL مربوط به ترسیمات 3 بعدی در Canvas میشه و بسیار پیشرفته تر و پیچیده تر از امکانات 2 بعدی در Canvas است. در واقع این ترسیمات 3 بعدی با OpenGL انجام میشوند.
در واقع WebGL نسخه‌ی تحت وب کتابخانه‌ی OpenGL است که در مرورگر اجرا میشه. و البته لازمه بدونید که WebGL و ترسیمات 3 بعدی جزئی از استاندارد HTML5 به حساب نمیان و توسط شرکت Khronos ابداع شده، ولی در تمام مرورگرهای امروزی پشتیبانی میشه
پاسخ
#5
(2016/11/15، 09:13 PM)admin نوشته است:
(2016/11/15، 08:24 PM)arashenayati نوشته است: با سلام مجدد خدمت استاد مقدم
استاد شما گفتید که تکنولوژیwebgl خودش داره ازopengl  استفاده میکنه یعنی زمانی که ما در جاوا اسکریپت از تابع arc برای رسم دایره استفاده میکنیم  این عمل در پشت پرده توسط open gl انجام میشه؟؟

خیر، تابع arc در حالت 2 بعدی ترسیمات Canvas به کار میره
اما WebGL مربوط به ترسیمات 3 بعدی در Canvas میشه و بسیار پیشرفته تر و پیچیده تر از امکانات 2 بعدی در Canvas است. در واقع این ترسیمات 3 بعدی با OpenGL انجام میشوند.
در واقع WebGL نسخه‌ی تحت وب کتابخانه‌ی OpenGL است که در مرورگر اجرا میشه. و البته لازمه بدونید که WebGL و ترسیمات 3 بعدی جزئی از استاندارد HTML5 به حساب نمیان و توسط شرکت Khronos ابداع شده، ولی در تمام مرورگرهای امروزی پشتیبانی میشه

استاد مثل همیشه از این که ازتون سوال پرسیدم خوشحالم و واقعا ذهنم روشن شد.و روز به روز ارادتم هم بیشتر واقعا سپاس گذار از راهنمایی کاملتون
استاد به عنوان اخرین سوال خدمتتون که البته میتونید جواب ندید چون در حوزه تخصصی شما نیست من شنیدم که نرم افزار هایی مثل photoshop و   3Dmax از کتابخانه opengl استفاده میکنند ایا این ادعا درست هستش؟؟؟l
پاسخ
#6
در این مورد اطلاع دقیقی ندارم
ولی به طور کلی بیشتر برنامه های گرافیکی تحت ویندوز از DirextX برای انجام کارهای گرافیکی استفاده میکنند.
در واقع DirectX رقیب اصلی OpenGL است که توسط مایکروسافت ارائه شده و فقط در ویندوز قابل استفاده است. اما OpenGL یک کتابخانه‌ی Open Source است که علاوه بر Windows در سایر سیستم عامل‌ها، حتی سیستم عامل های موبایل مثل Android و iOS هم قابل استفاده است.
به طور کلی بیشتر برنامه‌هایی که فقط نسخه‌ی ویندوز دارند از DirectX استفاده می‌کنند، ولی برنامه‌هایی که در پلتفرمهای مختلف قابل استفاده هستند معمولاً از OpenGL استفاده می‌کنند. (من خودم بعضی از بازی‌های کامپیوتری رو دیدم که تحت ویندوز هستند و از OpenGL استفاده می‌کنند، از جمله بازی Angry Birds )
پاسخ
#7
(2016/11/16، 11:48 AM)admin نوشته است: در این مورد اطلاع دقیقی ندارم
ولی به طور کلی بیشتر برنامه های گرافیکی تحت ویندوز از DirextX برای انجام کارهای گرافیکی استفاده میکنند.
در واقع DirectX رقیب اصلی OpenGL است که توسط مایکروسافت ارائه شده و فقط در ویندوز قابل استفاده است. اما OpenGL یک کتابخانه‌ی Open Source است که علاوه بر Windows در سایر سیستم عامل‌ها، حتی سیستم عامل های موبایل مثل Android و iOS هم قابل استفاده است.
به طور کلی بیشتر برنامه‌هایی که فقط نسخه‌ی ویندوز دارند از DirectX استفاده می‌کنند، ولی برنامه‌هایی که در پلتفرمهای مختلف قابل استفاده هستند معمولاً از OpenGL استفاده می‌کنند. (من خودم بعضی از بازی‌های کامپیوتری رو دیدم که تحت ویندوز هستند و از OpenGL استفاده می‌کنند، از جمله بازی Angry Birds )
 استاد ممنون از راهنماییتون من همش میگم اخرین سوال ولی دنیای کامپیوتر اینقدر بزرگه که ادم هرچی بیشتر تحقیق و مطالعه میکنه سولات بیشتری براش به وجود میاد.
استاد من فکر میکردم اساس بازی های کامپیوتری به این شکل هست که اینا یه سری فریم های از قبل طراحی شده هستند و هنگام بازی برای بازیکن به نمایش در میان یعنی میشینن تصویر های 3 بعدی رو طراحی میکنن و ذخیره میکنن و هنگام بازی بر اساس عمل بازیکن اون فرم های خاص به نمایش درمیان ولی از صحبت های شما این طور به نظر میرسه که ترسیمات گرافیکی در هنگام بازی انجام میشن(با توجه به استفاده از کتابخانه OpenGLوDirectX) یعنی در هنگام بازی با محاسبات ریاضی فرم مورد نظر تولید میشه  لطفا اگه در این زمینه اطلاعی دارین راهنماییی کنید که البته میتونید اینم جواب ندین.
استاد در انتها بایدبگم تونستم بازی مارو پله رو با جاوا اسکریپت به نحوه قابل قبولی انجام بدم ولی بعضی از قسمت هاش هنوز مونده و سر وقت مزاحمتون میشم که فقط خواستم بگم همه این ها رو مدیون شما و اموزش هاتون هستم...
پاسخ
#8
البته در بازی های 3 بعدی، کاراکترهای بازی از قبل توسط نرم افزارهایی مثل 3ds Max یا Maya طراحی شده و وارد محیط بازی میشوند. ولی حرکات اونها (مثلاً بلند شدن یا نشستن کاراکتر) با انجام محاسبات ریاضی در زمان اجرای بازی انجام میشه
ولی در بازی های 2 بعدی، با توجه به اینکه تعداد کل حالتهای نمایشی یک کاراکتر خیلی کم هستد (معمولاً کمتر از 10 حالت)، کل حالتها با نرم افزارهای گرافیکی ساخته شده و در زمان اجرای بازی با توجه به شرایط یکی از این حالتها به کاراکتر مورد نظر اعمال میشه. (مثلاً اگه به کاراکترهای اصلی بازیهایی مثل Angry Birds یا Super Mario دقت کنید، میبینید که هر کاراکتر چند حالت بیشتر نداره، ولی کاراکترهای بازی های 3 بعدی مثل GTA ممکن صدها یا حتی هزاران حالت مختلف داشته باشند که نمیشه تمام اینها رو از قبل آماده کرد.)
پاسخ


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان