تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 3 از 3

نام تاپيک: آموزش کاربردی OpenGL در دلفی ...

  1. #1
    پروفشنال
    تاريخ عضويت
    Jul 2006
    محل سكونت
    گیلان _ رشت
    پست ها
    635

    پيش فرض آموزش کاربردی OpenGL در دلفی ...

    سلام دوستان ...
    تصميم گرفتم آموزش OpenGL رو به صورت کاربردي شروع کنم ...
    من توي يه پست ديگه هم قبلا آموزش رو تا يه جاهايي نوشته بودم ولي چون اون پست شلوغ شد و ديگه کم کم داشت Down مي شد ، گفتم که يه پست جديد بدم و از ابتدا شروع کنم ...
    خوب ...
    براي آشنايي مقدماتي با OpenGL به لينک زير بريد :

    ادامه بحث :
    در ابتدا طريقه ساخت يک پنجره مخصوص OpenGL رو آموزش مي دم : ( نکته مهم : براي هرگونه استفاده از توابع و رسم اشکال 2 بعدي يا 3 بعدي با OpenGL بايد پنجره نخصوص اون رو ايجاد کنيد )
    خوب ...
    مراحل اين کار :
    1. ايجاد DC
    2. برپايي فرمت نقطه اي
    3. ايجاد RC
    نکته مهم : در هنگام خروج از برنامه بايد DC و RC ساخته شده را حذف نماييم که بعدا بحث خواهيم کرد ...
    خوب در ابتدا بايد چند پروسجر رو به فرم برنامتون اضافه کنيد :
    1. پروسجر CleanUp که براي پاک کردن DC و RC به کار مي ره :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    در پروسجر بالا ، DC و RC را حذف مي کنيم و در صورتي که با خطا مواجه شويم پيغامي ظاهر خواهد شد ...
    2. پروسجر InitGL براي شروع به کار پنجره مخصوص :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    در پروسجر بالا از سه تابع استفاده شده :
    ( 1. glClearColor : براي تعيين رنگ به کار مي رود
    2. glMatrixMode : اين تابع ماتريس جاري را تعيين مي کند ( از ماتريسها براي تعيين مکان اشياء و مکان دوربينها استفاده مي شود که سه مقدار دارد : GL_MODELVIEW که ماتريس پيشفرض مي باشد، GL_PROJECTION و GL_TEXTURE .
    البته تابع ديگري هم استفاده شده به نام glLoadIdentity که ماتريس قابل تغيير فعلي رو به ماتريس اصلي و واحد تبديل مي کنه )
    3. glOrtho : که ديد سه بعدي براي اشياء را فراهم مي کند )
    3. پروسجر DrawGLScene که براي ايجاد قابليت رسم و رسم استفاده مي شود :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    در پروسجر بالا هم ابتدا قابليت GL_DEPTH_TEST ( مربوط به عمق مي شود و با 39 مقدار ديگر قابل تغير است ) به برنامه اضافه مي شود و در آخر هم توابعي براي رسم به کار رفته است ...
    اگر توجه کنيد از تابع glVertex3f براي رسم استفاده شده است که تمام آنها بين بلوکهاي Begin و end قرار گرفته اند ...
    براي رسم اشياء بايد نام آنها را در قسمت Brgin وارد کرده و سپس شروع به رسم کنيم و سپس با بلوک end به رسم خود پايان دهيم ...
    از تابع glFlush که در پايان آمده هم براي اطمينان از صحت رسم استفاده مي شود ...
    خوب ...
    4. پروسجر SetDCPixelFormat که براي ترسيم فرمت نقطه اي استفاده مي شود ...
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    چون در پروسجر بالا از توابع اي استفاده شده که قبلا توضيح داده شد ، ديگه از توضيح اونها صرف نظر مي کنيم ( با کمي نگاه کردم به کد مي تونيد کارش رو بفهميد ، البته اگه سئوالي پيش اومد حتما بپرسيد )
    خوب پروسجرها تمام شدن ، حال مي ريم روي فرم تا رويدادهاش رو تنظيم کنيم :
    اول در خاصيت FormCreate کد زير رو بنويسيد :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    بعد در خاصيت FormDestroy کد زير رو بنويسيد :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    بعد در خاصيت FormPaint کد زير رو بنويسيد :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حالا در خاصيت FormResize کد زير رو بنويسيد و تمام :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    توجه : دستورات hrc: HGLRC و f_Hdc : LongInt را در قسمت Var در اول کدهاي فرم به عنوان متغير تعريف کنيد ...
    حالا ديگه تموم شد ...
    البته ما در کدهاي بالا از توابعي استفاده کرديم که کامل توضيح داده نشدن ، ولي در پست بعدي فقط در مورد توابع و کاربردهاي اونها صحبت مي کنيم ...
    موفق باشيد ...

  2. #2
    پروفشنال
    تاريخ عضويت
    Jul 2006
    محل سكونت
    گیلان _ رشت
    پست ها
    635

    پيش فرض

    كسي نظري چيزي نداره ؟ ... !!!!
    فردا صبح بحث بعدي رو شروع مي كنم ...
    موفق باشيد ...

  3. #3
    حـــــرفـه ای مرد مباح's Avatar
    تاريخ عضويت
    Dec 2005
    محل سكونت
    روي ميخ
    پست ها
    2,143

    پيش فرض

    من كه قبلا نظرم رو داده بودم. شديدا منظر آموزشات هستم. ممنون

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •