دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۲۵
  • اردیبهشت

جلسه ۰۹ : Attributes و بافر Objects درWebGL

  • دسته‌بندی‌ها :
جلسه ۰۹ : Attributes و بافر Objects درWebGL
    • جزئیات
    • نوع محتواآموزشی

      مقدمه

      سلام درود خدمت همراهان همیشگی سایت پی وی لرن . با آموزش WebGL همراهتون هستیم. در قسمت های قبلی در مورد انواع شیدر ها صحبت شد .در این قسمت به ارتباط Attributes و بافر Objects در WebGL می پردازیم. همچنین فعال کردن Attribute در WebGL رو خواهیم داشت.

      ارتباط Attributes و بافر Objects در WebGL

      هر attribute در برنامه شیدر vertex به یک شیء بافر vertex اشاره می کند. پس از ایجاد اشیاء بافر حقیقی، برنامه نویسان باید آنها را با attributes های برنامه شیدر vertex مرتبط سازند. هر attribute به تنهایی به یک vertex buffer object اشاره دارد که از آن ها مقدار داده ها را استخراج می کند و سپس این attribute ها به برنامه شیدر منتقل می شوند.
      برای مرتبط سازی Objects Buffer Vertex با Attributes های برنامه شیدر vertex باید مراحل زیر را دنبال کنید.
      ۱. موقعیت attribute را دریافت کنید
      ۲. attribute را به یک شیء بافر vertex اختصاص دهید.
      ۳. attribute را فعال کنید.

      دریافت موقعیت Attribute

      WebGL یک روش به نام getAttribLocation رافراهم می کند که موقعیت صحیح را باز می گرداند. vوش آن به شرح زیر است .

      مثال : 

      این روش ورتکس شیدر program object و مقادیر attribute از برنامه شیدر vertex را می پذیرد.
      قطعه کد زیر نشان می دهد که چگونه از این روش استفاده کنید.

      مثال : 

      در این جا، shader_program آبجکت برنامه شیدر است و coordinates هست attribute  برای شیدر hader program است.
      مشخصه را به یک VBO مشخص کنید
      برای اختصاص متغیر به ویژگی متغیر، WebGL یک روش به نام ()vertexAttribPointer  فراهم می کند. در اینجا نحوه این روش وجود دارد .

      مثال : 

      این روش شش پارامتر را قبول می کند و در زیر بحث می شود.
      Location – این مکان ذخیره سازی یک متغیر attribute را مشخص می کند. بر اساس این گزینه، شما باید مقدار برگشت داده شده توسط روش () getAttribLocation را منتقل کنید.
      Size – تعداد کامپوننت هر vertex در بافر object را مشخص می کند.
      Type – این نوع داده را مشخص می کند.
      Normalized – این مقدار بولین است. اگر درست باشد، داده های غیر شناور به [۰، ۱] نرمالیزه می شود؛ در غیر این صورت آن به [-۱، ۱] نرمالیزه می شود.
      Stride – این تعداد بایت ها را بین عناصر داده های مختلف vertex مشخص می کند یا صفر برای پیش فرض پیش فرض.
      Offset – این مشخص می کند Offset (در بایت ها) در یک بافر object که نشان می دهد که بایت داده vertex ذخیره شده است. اگر داده از ابتدا ذخیره شده باشد، مقدار offset برابر ۰ است.
      قطعه زیر نشان می دهد که چگونه از ()vertexAttribPointer  در یک برنامه استفاده کنید .

      مثال : 

      فعال کردن Attribute در WebGL

      برای دسترسی به بافر object در یک شیدر vertex ، باید vertex shader attribute را فعال کنید. برای این عملیات، WebGL روش ()enableVertexAttribArray را فراهم می کند. این روش موقعیت attribute را به عنوان یک پارامتر پذیرفته است. در این جا چگونگی استفاده از این روش در یک برنامه را داریم.

      مثال : 

      کلام پایانی

      اینم از مسائل مربوط به ارتباط Attributes و بافر Objects در WebGL و فعال کردن Attribute در WebGL .در ادامه مجموعه اموزشی WebGL اطلاعات بیش تری در اختیارتون قرار خواهیم داد.ممنون از همراهیتون.

      QR:  جلسه ۰۹ : Attributes و بافر Objects درWebGL
      به اشتراک بگذارید