PDA

View Full Version : لود کردن مدل سه بعدی در OpenGL



vice_city
شنبه 30 اردیبهشت 1391, 21:34 عصر
سلام.
من تازه با openGl شروع کردم.
میخام یه مدل سه بعدی مثلا OBJ,3DS ... یا هرچی توی صحنه با بافت لود کنم و بچرخونم.تو اینترنت سرچیدم ولی سورس های خیلی متفاوتی پیدا کردم. لطفا راهنمایی کنید که چطور باید این کار رو انجام بدم. ممنون.

pswin.pooya
شنبه 30 اردیبهشت 1391, 23:07 عصر
سلام
ميتوني از كتابخونه assimp استفاده كني. اما اگر فقط obj و 3ds رو ميخواي خيلي راحت ميتوني كدش رو بنويسي. داخل كتاب focus on 3d models اين موضوع رو شرح داده.

discover
شنبه 06 خرداد 1391, 01:48 صبح
با سلام

میشه یه کم بیشتر با مثال توضیح بدید. من یه محیطی طراحی کردم الان میخام یه آدم توش لود کنم نه می خوام حرکت کنه نه چیزی فقط تو یه مختصات خاصی که من میخوام قرار بگیره
حالا فرقی هم نمیکنه ولی ترجیح میدم تصویری که لود میشه فرمتش .png باشه که بصورت ترنس پرنت روی بکگراندم قرار بگیره

یه سوال دیگه که ربطی به تاپیک نداره اما گفتم تاپیک جدید ایجاد نکنم... من 2 تا مشکل دیگه دارم... اول اینکه کدی که با اوون بشه تو opengl یه نوشته رو در یک مختصات خاصی با اندازه مورد نظر چاپ کرد رو نمی تونم پیدا کنم... دوم هم اینکه من با تابع PlaySound() تونستم آهنگ به پروژه ام اضافه کنم اما بعد از قرار دادن آهنگ وقتی میخوام پنجره پروژه رو حرکت بدم یا مثلاً یه پنجره دیگه ای (مثلاً هر پنجره ای مثل باز کردن my computer) رو باز کنم و ببندم، محتویات پنجره پروژه (که شامل عکس بک گراند و ترسیمهای خطی و نوشته ها) به هم میریزه و کل محتویات یه نیم صفحه ای به سمت راست شیفت میشن...
ممنون میشم راهنمایی کنید

neda_1367_sh
شنبه 06 خرداد 1391, 22:45 عصر
با سلام

میشه یه کم بیشتر با مثال توضیح بدید. من یه محیطی طراحی کردم الان میخام یه آدم توش لود کنم نه می خوام حرکت کنه نه چیزی فقط تو یه مختصات خاصی که من میخوام قرار بگیره
حالا فرقی هم نمیکنه ولی ترجیح میدم تصویری که لود میشه فرمتش .png باشه که بصورت ترنس پرنت روی بکگراندم قرار بگیره

یه سوال دیگه که ربطی به تاپیک نداره اما گفتم تاپیک جدید ایجاد نکنم... من 2 تا مشکل دیگه دارم... اول اینکه کدی که با اوون بشه تو opengl یه نوشته رو در یک مختصات خاصی با اندازه مورد نظر چاپ کرد رو نمی تونم پیدا کنم... دوم هم اینکه من با تابع PlaySound() تونستم آهنگ به پروژه ام اضافه کنم اما بعد از قرار دادن آهنگ وقتی میخوام پنجره پروژه رو حرکت بدم یا مثلاً یه پنجره دیگه ای (مثلاً هر پنجره ای مثل باز کردن my computer) رو باز کنم و ببندم، محتویات پنجره پروژه (که شامل عکس بک گراند و ترسیمهای خطی و نوشته ها) به هم میریزه و کل محتویات یه نیم صفحه ای به سمت راست شیفت میشن...
ممنون میشم راهنمایی کنید

سلام ببین برا مشکل دوم باید یه تابع reshape تعریف کنی تا به هم نریزن
یه نگاهی به این کد بنداز


void














reshape (int w, int h)

{

glViewport (0, 0, (GLsizei) w, (GLsizei) h);

glMatrixMode (GL_PROJECTION);

glLoadIdentity();





if














(w <= h)

glOrtho (-1.5, 1.5, -1.5*(GLfloat)h/(GLfloat)w,

1.5*(GLfloat)h/(GLfloat)w, -10.0, 10.0);





else













glOrtho (-1.5*(GLfloat)w/(GLfloat)h,

1.5*(GLfloat)w/(GLfloat)h, -1.5, 1.5, -10.0, 10.0);

glMatrixMode(GL_MODELVIEW);

glLoadIdentity();

}






اینم برا سوال اولت
glRasterPos2i(x,y);
اگه این جواب داد خبرشو بده.