menusearch
javapro.ir

با این کتابخانه زبان جاوا گرافیک رایانه ای را در کدهای جاوا جاسازی کنید

جستجو
پنج شنبه ۱ آذر ۱۴۰۳ | ۱۵:۴۱:۵۵
۱۴۰۰/۵/۱۳ چهارشنبه
(4)
(0)
با این کتابخانه زبان جاوا گرافیک رایانه ای را در کدهای جاوا جاسازی کنید
با این کتابخانه زبان جاوا گرافیک رایانه ای را در کدهای جاوا جاسازی کنید

کاربرد JOGL در زبان برنامه نویسی جاوا چیست؟

 

JOGL چیست و چه کاربردی دارد؟


Java Open Graphic Library (JOGL) یک کتابخانه بسته بندی شده است که امکان استفاده از OpenGL با زبان برنامه نویسی جاوا را فراهم می‌کند. بنابراین، برنامه نویسان می‌توانند به راحتی با کمک JOGL گرافیک رایانه ای را در کد جاوا جاسازی کنند. JOGL یک کتابخانه منبع باز است که به API های کامل OpenGL دسترسی دارد. از این رو، تمام ویژگی های OpenGL را به ارث می‌برد. JOGL بدون هیچ گونه کمبودی قادر به انجام هر نوع سیستم عامل مانند Window، Linux و Mac است.

 

 


اگر می‌خواهید موتور بازی یا سایر نرم افزارهای جاوا را که به گرافیک سه بعدی نیاز دارند، توسعه دهید، استفاده از جاوا Binding برای OpenGL (JOGL) را در نظر بگیرید. این سطح پایین API جاوا به عنوان پلی برای بستر اصلی فناوری OpenGL عمل می‌کند.

 

 

 

رابط بومی جاوا
Java Native Interface (JNI) یک چارچوب برنامه نویسی است که به برنامه های جاوا اجازه می‌دهد تا از طریق برنامه های بومی و کتابخانه های نوشته شده به زبان های دیگر با آنها ارتباط برقرار کنند. بنابراین، جاوا از طریق Java Native Interface از کدهای بومی پشتیبانی می‌کند. در JOGL، نقش JNI ارائه بستری است که از طریق آن می‌توانید به ویژگی های مختلف OpenGL دسترسی پیدا کنید. از این رو، JNI به عنوان واسطه بین جاوا و OpenGL عمل می‌کند.

 

 

کتابخانه گرافیک رایانه ای در زبان جاوا
رابط بومی جاوا

 

 

 

استفاده از JOGL
اگر می‌خواهید از JOGL زبان برنامه نویسی جاوا استفاده کنید، باید jogl.jar و کد محلی همراه آن را دریافت کنید. اولین ترفند یافتن باینری ها برای سیستم عامل و استخراج آنها است. هر سیستم عامل متفاوت است، اما دو قسمت برای نصب وجود دارد. jogl.jar باید در مسیر classpath سیستم قرار داده شود، و کتابخانه باینری باید هر کجا که کتابخانه ها در سیستم عامل شما قرار دارند قرار داده شود.

 

 

 

JOGL / OpenGL زبان جاوا چگونه کار می‌کند؟
نخست، چند کلمه در مورد نحوه کار : OpenGL رویه ای. شما موضوعی را شروع می‌کنید که بارها و بارها یک نمایشگر () را با نرخ فریم در ثانیه (fps) فراخوانی می‌کند. در این روش، صفحه را پاک می‌کنید و کل صحنه را از نو می‌سازید. این کار را با صدور دستورات بدوی انجام می‌دهید: شروع راس، این نقطه 1، نقطه 2، سوم، انتهای انتها است. البته، این امر برای بافت ها، نورپردازی و موارد مشابه پیچیده تر می‌شود، اما نکته اصلی این است که یک شی GL وجود دارد که دارای روش های  () glWeverever 1000 است که شما بارها و بارها از آنها استفاده خواهید کرد.

 

بله ابتدایی است اما نزدیک به سخت افزار است و این به معنی سریع و انعطاف پذیر بودن است. برای ادغام با جاوا، باید امتیازاتی وجود داشته باشد: یعنی، مولفه AWT (یک مولفه توسعه دهنده ) (GLCanvas)در صف رویداد AWT ادغام شده است، و شما باید یک شنونده (GLEventListener) را برای مکالمه های چرخه حیات پیاده سازی کنید. به عنوان کمی آماده سازی برای دنیای D3، شکل های زیر سیستم مختصات و دوربین را نشان می‌دهد.

 

 

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

 

 

 

کتابخانه گرافیکی کاربردی در زبان برنامه نویسی جاوا

      سیستم مختصات سه بعدی

 

 

 

رابط های JOGL
برای ایجاد یک برنامه JOGL زبان جاوا، لازم است که رابط های زیر را درک کنید:
رابط GLEventListenerرابط قابل تنظیم GLA

 

 

کلاس های JOGL
در زیر، با کلاسهای ارائه شده توسط JOGL آشنا خواهیم شد. از طریق این کلاس ها، می‌توانیم عملکرد OpenGL را در کد جاوا اضافه کنیم.
کلاس GLCanvas
کلاس GLJPanel
کلاس GLProfile
کلاس GLCapunities


کلاس GLCanvas و GLJPanel کلاس های GUI هستند که رابط GLAutoDrawable را پیاده سازی می‌کنند و به عنوان سطوح رسم دستورات OpenGL استفاده می‌شوند. کلاس GLCanvas یک جز A AWT با وزن سنگین است که در بسته javax.media.opengl.awt وجود دارد. عملکرد کلاس Canvas را گسترش می‌دهد و پشتیبانی از ارائه OpenGL زبان برنامه نویسی جاوا را فراهم می‌کند. GLCanvas به عنوان یک جز A AWT، در مقایسه با Swing با AWT سازگار است. به دلیل شتاب سخت افزاری، عملیات OpenGL را به سرعت اجرا می‌کند.

 


کاربرد کتابخانه گرافیکی JOGL در زبان جاوا

قالب کدگذاری JOGL

 

 

سازندگان GLCanvas
GLCanvas () با استفاده از مکانیزم قابلیت های پیش فرض OpenGL در دستگاه صفحه پیش فرض، یک مولفه جدید GLCanvas با مجموعه پیش فرض قابلیت های OpenGL زبان جاوا ایجاد می‌کند.

 

 

 

قاب های اصلی JOGL
Frame ظرفی است که شامل یک عنوان و حاشیه است. همچنین می‌تواند حاوی اجزای مختلف دیگری مانند برچسب ها، دکمه ها، جعبه چک کلاس جاوا باشد.


در اینجا، ما می‌آموزیم که چگونه با استفاده از فناوری JOGL یک قاب ایجاد کنیم.


در زیر مراحل ایجاد یک قاب وجود دارد.


یک پروژه جاوا جدید ایجاد کنید و تمام پرونده های مورد نیاز jar را در آن اضافه کنید. کلاس جاوا ایجاد کنید و بسته های مورد نیاز را وارد کنید.


اکنون، رابط GLEventListener را پیاده سازی کرده و روش های زیر را نادیده بگیرید:
void init (GLAutodrawableobj)
نمایشگر بی اعتبار (GLAutodrawableobj)
تغییر شکل باطل (GLAutodrawableobj)
خالی کردن اعتبار (GLAutodrawableobj)
اشیاء کلاس GLProfile را بسازید و نسخه دقیق OpenGL API را مشخص کنید.

 

GLProfile gp = GLProfile.get(GLProfile.GL4);



کلاس GLCapunities را بسازید و شی کلاس GLProfile را با آن منتقل کنید.

 

GLCapabilities cap = new GLCapabilities(gp);



اکنون کلاس GLCanvas را بسازید و شی کلاس GLCapunities را با آن منتقل کنید.

 

GLCanvas gc = new GLCanvas(cap);



اکنون، از روش addGLEventListener () برای اضافه کردن GLEventListener با یک شی از کلاس GLCanvas استفاده کنید.

 

gc.addGLEventListener(af);



اندازه بوم را با استفاده از روش () setSize تنظیم کنید و ابعاد را به عنوان پارامتر منتقل کنید.

 

gc.setSize(350, 350);



این ساختار اصلی است که برای ایجاد یک قاب استفاده می‌شود. اکنون این قسمت را با قابلیت کیت ابزار پنجره تعبیه خواهیم کرد.

 

 

جایگزین ساده GLCanvas توسط GLJPanel در زبان جاوا
جایگزین ساده GLCanvas توسط GLJPanel

 

 

 

قاب JOGL با استفاده از AWT
AWT (Abstract Window Toolkit) یک رابط برنامه نویسی زبان جاوا است که برای توسعه برنامه های مبتنی بر پنجره استفاده می‌شود. اجزای ارائه شده توسط AWT وزن سنگین و بستگی به سکو دارند. بسته java.awt شامل کلاسهای مختلف AWT برای API است.

 

قاب JOGL با استفاده از Swing
Swing یک مجموعه ابزار رابط کاربر گرافیکی با وزن سبک است که برای توسعه برنامه های زبان جاوا مبتنی بر پنجره استفاده می‌شود. بسته java.swing کلاسهای مختلفی برای swing API ارائه می‌دهد.

 

 


JOGL Primitives
به عنوان یک کتابخانه گرافیکی باز در زبانجاوا، می‌توانیم اشکال مختلف مانند دایره، مثلث، مربع را در JOGL ترسیم کنیم. از این رو، برای ترسیم این اشکال OpenGL بدوی هایی را فراهم می‌کند که JOGL را در ترسیم دو بعدی و همچنین شکلهای سه بعدی تسهیل می‌کند.

 

OpenGL Primitive پارامترهای داخلی مختلفی را ایجاد می‌کند که براساس آنها می‌توان اشکال مختلفی ترسیم کرد. هر پارامتر نقش خاصی در ترسیم شکل دارد.

 

 

 

اشیا JOGL 3D
به غیر از D2، JOGL همچنین گرافیک های سه بعدی را با پشتیبانی سخت افزاری به برنامه های زبان جاوا ارائه می‌دهد. از روش glMatrixMode() برای تعیین ماتریس فعلی استفاده می‌شود.

 

شامل یک حالت در پارامتر خود است که پشته ماتریس هدف را برای عملیات ماتریس بعدی مشخص می‌کند. این حالت می‌تواند هر یک از مقادیر زیر را بپذیرد:


 GL_MODELVIEW - برای اعمال عملیات ماتریس بعدی در پشته ماتریس modelview که تحولات (مانند چرخش، مقیاس گذاری، رعد و برق) یک جسم را تعریف می‌کند، استفاده می‌شود.


 GL_PROJECTION - برای اعمال عملیات ماتریس بعدی در پشته ماتریس حرفه ای که ویژگی های دوربین را از جمله نسبت ابعاد، فاکتور بزرگنمایی و غیره تعریف می‌کند، استفاده می‌شود.


 GL_TEXTURE - برای اعمال عملیات ماتریس بعدی روی پشته ماتریس بافت استفاده می‌شود.


 GL_COLOR - برای اعمال عملیات ماتریس بعدی روی پشته ماتریس رنگ استفاده می‌شود.


از روش  gluPerspective () برای نمایش صحیح جسم سه بعدی در یک سطح دو بعدی استفاده می‌شود.

 

برای دسترسی به این روش یک شی از کلاس GLU ایجاد کنید. این کلاس دسترسی به OpenGL Utility Library را فراهم می‌کند. این روش را با شی کلاس GLU مرتبط کنید.

 

 

 


پشتیبانی از گرافیک 3D

 

 

 

چند واقعیت در مورد JOGL:
JOGL تقریباً به طور کامل در جاوا نوشته شده است. بیشتر کد اصلی آن در طی مراحل ساخت توسط ابزاری به نام GlueGen به صورت خودکار تولید می‌شود.


JOGL مولفه های AWT و Swing را برای ادغام گرافیک های سه بعدی در GUI فراهم می‌کند.


JOGL از زبانهای GLSL بررسی معماری OpenGL (ARB) و Cg انویدیا پشتیبانی می‌کند.


JOGL فقط از ارائه رنگ واقعی (15 بیت در هر پیکسل و بالاتر) پشتیبانی می‌کند.


JOGL از New I / O (NIO) در اجرای خود استفاده می‌کند.


JOGL از محبوب ترین ویژگی های معرفی شده توسط Magician، جاوا GL5 و سایر اتصالات جاوا برای OpenGL پشتیبانی می‌کند. به عنوان مثال، JOGL از الگوی "خط لوله قابل ترکیب" شعبده باز پشتیبانی می‌کند، که می‌تواند اشکال زدایی سریعتر را برای برنامه های JOGL فراهم کند.

 

 

 

در دسترس بودن OpenGL برای جاوا
بسیاری از اتصالات جاوا OpenGL فقط برای سیستم عامل های Win32 یا در بهترین حالت برای سیستم عامل های Win32 و Unix در دسترس هستند. از طرف دیگر، برای بسیاری از سیستم عامل های اصلی توسعه و استقرار که برای رایانه های شخصی و ایستگاه های کاری در نظر گرفته شده بود، در دسترس بود.

نظرات کاربران
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

بستن
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

0 نظر
هدر سایت
بلک فرایدی آکادمی جاواپرو،50% تخفیف روی تمامی دوره های جاوا تا 10 آذر 1403
مشاهده سرفصل ها و ثبت نام در دوره Spring Boot جاواپرو  [کلیک کنید]
آموزش پروژه محور اسپرینگ بوت(Spring Boot)-سیستم دانشگاه
ثبت نام در دوره آموزش Spring security
دوره معماری میکروسرویس ها (Microservices) با استفاده از Spring Boot و Spring Cloud
دوره پرتاب | آموزش پیش نیازهای برنامه نویسی
دوره آموزش مبانی زبان برنامه نویسی جاوا
دوره آموزش مفاهیم پیشرفته زبان برنامه نویسی جاوا
مقدمه ای از زبان برنامه نویسی جاوا(java)
آموزش زبان برنامه نویسی جاوا
آموزش گرافیک در زبان برنامه نویسی جاوا
آموزش مدیریت چیدمان گرافیکی در زبان جاوا
آموزش ساخت بازی دوبعدی در زبان جاوا
Collection ها در زبان برنامه نویسی جاوا
آموزش پروژه محور ساخت برنامه مدیریت بانک با JavaFX
نمونه پروژه های رایگان زبان جاوا
آموزش دیتابیس در زبان برنامه نویسی جاوا
نمونه مثال پایه ای زبان برنامه نویسی جاوا
نمونه مثال String در زبان برنامه نویسی جاوا
آموزش جامع برنامه نویسی JavaFX
آموزش ساخت برنامه آزمون تستی در JavaFX
آموزش برنامه نویسی سوکت در جاوا
آموزش ساخت برنامه دفترچه تلفن با JavaFX
آموزش ساخت ربات ساده تلگرام با زبان جاوا
آموزش ساخت برنامه ماشین حساب با JavaFX
آموزش ساخت برنامه ساده مدیریت ایمیل ها با JavaFX
دوره آموزش Spring Boot
سفارش انجام پروژه زبان برنامه نویسی جاوا(JAVA)
سفارش انجام پروژه برنامه نویسی متلب(MATLAB) با قیمت منصفانه و تحویل به موقع
سفارش انجام پروژه زبان برنامه نویسی سی شارپ (#C)
سفارش انجام پروژه زبان برنامه نویسی سی(C)
سفارش انجام پروژه زبان برنامه نویسی پایتون(Python)
سفارش انجام پروژه زبان برنامه نویسی PHP (پی اچ پی)
سفارش انجام پروژه زبان برنامه نویسی اسمبلی(Assembly)
سفارش انجام پروژه زبان برنامه نویسی جاوا اسکریپت (Javascript)
سفارش انجام پروژه هوش مصنوعی
سفارش انجام پروژه طراحی الگوریتم
سفارش انجام پروژه ساختمان داده ها
سفارش انجام پروژه مهندسی نرم افزار
سفارش انجام پروژه شبکه های کامپیوتری
سفارش انجام پروژه پایگاه داده: دیتابیس (database)
 سفارش انجام پروژه سیستم عامل
سفارش انجام پروژه پاورپوینت(PowerPoint)
سفارش انجام پروژه اکسل (Excel)
سفارش انجام تحقیق و تهیه مقاله
سوالات متداول برنامه نویسی
جدیدترین مطالب
گفتگو را شروع کنید
مشاوره ،تدریس خصوصی و سفارش انجام انواع پروژه های برنامه نویسی