এই দস্তাবেজটি রূপরেখা দেয় কিভাবে ভলকান গ্রাফিক্স লাইব্রেরি ডাউনলোড করে, কম্পাইল করে এবং Khronos© নমুনা অ্যাপ চালানোর মাধ্যমে শুরু করা যায়।
পূর্বশর্ত
শুরু করার আগে, নিশ্চিত করুন যে আপনি সঠিক হার্ডওয়্যার এবং প্ল্যাটফর্ম সংস্করণ প্রস্তুত করেছেন। আপনার Android 7.0 (Nougat), API স্তর 24 বা উচ্চতর চলমান Vulkan সমর্থন করে এমন একটি ডিভাইস বা এমুলেটর ব্যবহার করা উচিত।
আপনি সেটিংস মেনুতে গিয়ে এবং ফোন সম্পর্কে > Android সংস্করণ নির্বাচন করে আপনার Android সংস্করণ নিশ্চিত করতে পারেন। একবার আপনি নিশ্চিত করেছেন যে আপনার সঠিক হার্ডওয়্যার এবং প্ল্যাটফর্ম সংস্করণ সেট আপ আছে, আপনি প্রয়োজনীয় সফ্টওয়্যার ডাউনলোড করতে পারেন।
ডাউনলোড করুন
শুরু করার আগে, আপনাকে অবশ্যই বেশ কয়েকটি সরঞ্জাম এবং অন্যান্য সফ্টওয়্যার ডাউনলোড করতে হবে। মনে রাখবেন যে একটি Windows হোস্টে, এটি সুপারিশ করা হয় যে আপনি টুল এবং সোর্স কোডের জন্য একটি গভীর ফাইল পাথ শ্রেণিবিন্যাস এড়িয়ে চলুন; এটি কিছু উইন্ডোজ ওএস সংস্করণে ফাইল পাথ সীমার কাছাকাছি কাজ করার জন্য।
- আপনার যদি ইতিমধ্যেই অ্যান্ড্রয়েড স্টুডিও না থাকে তবে এটি ডাউনলোড করুন । এর মধ্যে রয়েছে সাম্প্রতিকতম Android SDK।
- Android স্টুডিওর মধ্যে থেকে NDK এবং CMake ইনস্টল করুন বা আলাদাভাবে ডাউনলোড করুন এবং ইনস্টল করুন ।
- Android স্টুডিও সঠিকভাবে কাজ করছে তা নিশ্চিত করতে Hello JNI নমুনা তৈরি করুন এবং চালান।
- আপনার হোস্ট প্ল্যাটফর্মের জন্য build.md- এ তালিকাভুক্ত python3 এবং অন্যান্য উপাদান ইনস্টল করুন।
আমদানি
এই বিভাগে, আপনি Khronos© Vulkan© নমুনা সংগ্রহস্থল ডাউনলোড করুন, একটি Android gradle প্রকল্প তৈরি করুন, তারপর Android Studio IDE দিয়ে খুলুন।
- নিম্নলিখিত পরিবেশ ভেরিয়েবল সেট করুন:
export ANDROID_HOME=/path/to/sdk-directory export ANDROID_NDK_HOME=$ANDROID_HOME/ndk/{your-ndk-version-dir}
- $PATH-এ CMake যোগ করুন, যা Android বিল্ড স্ক্রিপ্ট তৈরি করতে ব্যবহৃত হয়:
export PATH=$PATH:$ANDROID_HOME/cmake/{your-cmake-version}/bin
- একটি টার্মিনাল খুলুন এবং আপনার ডেভেলপমেন্ট ডিরেক্টরিতে সোর্স কোড ডাউনলোড করুন:
cd dev-directory git clone --recursive https://github.com/KhronosGroup/Vulkan-Samples.git
- Android নমুনা প্রকল্প তৈরি করতে এই নির্দেশাবলী অনুসরণ করুন ( Build.md থেকে):
cd Vulkan-Samples ./scripts/generate.py android
- অ্যান্ড্রয়েড স্টুডিও খুলুন। ফাইল নির্বাচন করুন > খুলুন এবং
Vulkan-Samples/build/android_gradle/build.gradle
নির্বাচন করুন। অ্যান্ড্রয়েড স্টুডিও প্রকল্পটি লোড করার পরে আপনার নিম্নলিখিতগুলির মতো কিছু দেখতে হবে:চিত্র 1. অ্যান্ড্রয়েড স্টুডিওর মধ্যে নমুনা প্রকল্প।
কম্পাইল
এই রেপোর সমস্ত নমুনা একটি Android প্রকল্পে সংগঠিত করা হয়েছে। প্রকল্পটি কম্পাইল করতে, নিম্নলিখিতগুলির মধ্যে একটি করুন:
- শুধুমাত্র উৎসগুলো কম্পাইল করতে, মেনু ব্যবহার করুন, Build > Make Project , অথবা Ctrl-F9 শর্টকাট কী টাইপ করুন।
- নমুনা APK তৈরি করতে, মেনু বিল্ড > বিল্ড বান্ডেল/এপিকে(গুলি) > বিল্ড APK(গুলি) নির্বাচন করুন।
আপনি অ্যান্ড্রয়েড স্টুডিওর বিল্ড উইন্ডোতে বিল্ড সফল বার্তাটি দেখতে পাবেন। যদি ত্রুটিগুলি প্রদর্শিত হয়, সেগুলি ঠিক করুন এবং পুনরায় কম্পাইল করুন৷
চালান
নমুনা প্রকল্প চালানোর আগে, নিশ্চিত করুন যে Android স্টুডিও আপনার সংযুক্ত ভলকান ডিভাইস বা অ্যান্ড্রয়েড এমুলেটরকে চিনছে। আপনি নিম্নলিখিত মত কিছু দেখতে হবে:
প্রকল্পটি চালানোর জন্য, নিম্নলিখিতগুলি করুন:
- মেনু Run > Run vulkan_sample ব্যবহার করুন, অথবা রান বোতামে ক্লিক করুন টুলবারে, এবং আপনার সংযুক্ত ডিভাইসে নমুনা ইনস্টল এবং শুরু হওয়ার জন্য অপেক্ষা করুন।
- আপনার সংযুক্ত Android ডিভাইসে, প্রয়োজনীয় অ্যাক্সেসের অনুরোধগুলি অনুমোদন করুন৷
- সমস্ত ফাইল পরিচালনা করার জন্য অ্যাক্সেসের অনুমতি সক্ষম করুন, তারপর নমুনা প্রধান স্টার্ট স্ক্রীন ফেরাতে তীর ব্যাক বোতামটি আলতো চাপুন৷
- ডিস্ক অ্যাক্সেসের অনুমতি দিন:
চিত্র 4. ডিস্ক অ্যাক্সেস সক্ষম করুন।
- আপনি নমুনা প্রধান মেনু পর্দা দেখতে হবে, নিম্নলিখিত অনুরূপ:
চিত্র 5. নমুনা প্রধান মেনু। - নমুনা তালিকার মাধ্যমে ব্রাউজ করুন, এবং চালানোর জন্য কয়েকটি নির্বাচন করুন। আপনি যদি ভলকান ডেভেলপমেন্টে নতুন হন, আপনি "API" নমুনা দিয়ে শুরু করতে পারেন। উদাহরণস্বরূপ, "হ্যালো ট্রায়াঙ্গেল" ট্যাপ করলে নিচের মতো একটি রেন্ডার করা ত্রিভুজ দেখাতে হবে:
চিত্র 6. হ্যালো ট্রায়াঞ্জ নমুনা।
আপনার ডেভেলপমেন্ট সিস্টেম এখন আপনার টেস্ট ডিভাইসে নমুনা চালানোর জন্য সেট আপ করা হয়েছে।
Vulkan নমুনাগুলি ডেস্কটপ এবং মোবাইল সহ একাধিক অপারেটিং সিস্টেমের জন্য তৈরি করা হয়েছে। পারফরম্যান্স , এক্সটেনশন এবং টুলিংয়ের অধীনে কিছু নমুনা আপনার ডিভাইসে অস্থির এবং ক্র্যাশ হতে পারে। এটি বিভিন্ন কারণে হতে পারে, যেমন:
- নির্দিষ্ট ভলকান বৈশিষ্ট্যগুলি অ্যান্ড্রয়েডের জন্য ডিজাইন করা হয়নি।
- আপনার Android OS সংস্করণ অসমর্থিত।
- আপনার হার্ডওয়্যার প্ল্যাটফর্মের GPU ক্ষমতা।
অন্বেষণ
ভলকান নমুনার জাভা বিভাগটি নেটিভ অ্যাক্টিভিটি ক্লাস থেকে উদ্ভূত হয়েছে। এটি সাধারণ অ্যাপ্লিকেশন লাইফসাইকেল ইভেন্টগুলি পাস করে, যেমন অ্যাপ তৈরি করা, শুরু করা, থামানো এবং C/C++ কোডে ধ্বংস করা। নমুনার C/C++ বিভাগে, একটি নমুনা কাঠামো রয়েছে যা রান-টাইম সাব নমুনা স্যুইচিং কার্যকারিতা প্রয়োগ করে। খুব উচ্চ স্তরে, Android সিস্টেম ইভেন্ট/বার্তাগুলি নমুনা অ্যাপের ভলকান কোডে পৌঁছানোর জন্য নিম্নলিখিত পথ দিয়ে যায়:
-
NativeSampleActivity
Java বিভাগ -
NativeSampleActivity
C/C++ বিভাগ -
android_native_glue
কোড -
android_main
- নমুনা কাঠামো
- স্বতন্ত্র সাব নমুনার কোড
android_main
হল NativeSampleActivity
এবং অ্যাপ কোডের মধ্যে সেতু, যেটি নমুনা কোড অনুসরণ করার জন্য আপনার জন্য শুরু হতে পারে। আপনি যদি শুধুমাত্র ভলকান নির্দিষ্ট উত্সগুলিতে ফোকাস করতে চান তবে আপনি Vulkan_Samples\samples
এর অধীনে কোডটি অন্বেষণ করতে পারেন, যাতে নিম্নলিখিতগুলি রয়েছে:
- "এপিআই" বিভাগের নমুনা।
- "পারফরম্যান্স" বিভাগের নমুনা।
- "এক্সটেনশন" বিভাগের নমুনা।
- "টুলিং" নমুনা।
Vulkan_Samples\shaders
হল সব শেডারের ঘর।
আপনি মৌলিক Vulkan ব্যবহার এবং নমুনা কাঠামোর সাথে পরিচিত হতে "API" বিভাগের নমুনাগুলি ব্রাউজ করা শুরু করতে পারেন৷ তারপরে আপনি "পারফরম্যান্স" এবং "এক্সটেনশন" বিভাগের নমুনাগুলিতে অগ্রগতি করতে পারেন। শেডার কোডের জন্য, আপনি অ্যান্ড্রয়েড স্টুডিওতে প্রজেক্ট ভিউ ব্যবহার করতে পারেন।
অতিরিক্ত সম্পদ
Vulkan API কয়েকটি সংস্করণের মাধ্যমে হয়েছে, তাই এটি পরিপক্ক হচ্ছে। ভলকান স্ট্যান্ডার্ড কমিটি এবং ভলকান সম্প্রদায় ভলকান উপাদানের একটি সমৃদ্ধ সেট তৈরি করেছে যা API-এর ব্যবহার এবং সর্বোত্তম অনুশীলনগুলি প্রদর্শন করে। নিম্নলিখিত তালিকায় ভলকান অ্যাপ্লিকেশন বিকাশের জন্য কিছু সংস্থান রয়েছে:
ভলকান স্পেসিফিকেশন। খরোনোস গ্রুপ ভলকান স্পেসিফিকেশন বজায় রাখে। সম্পূর্ণ স্পেসিফিকেশন, প্রশিক্ষণ, গাইড এবং টিউটোরিয়ালের জন্য ভলকান হোমপেজ দেখুন।
বৈধতা স্তর. অ্যাপ্লিকেশান বিকাশের জন্য বৈধকরণ স্তরগুলি অপরিহার্য। বিস্তারিত জানার জন্য অ্যান্ড্রয়েড ডকুমেন্টেশনে ভলকান যাচাইকরণ স্তরগুলি দেখুন।
Shaderc. NDK-তে Shaderc কোড হল Shaderc রেপোর নিম্নধারা। সর্বশেষ সংস্করণ পেতে ব্যবহারের ডকুমেন্টেশন এবং নির্দেশাবলীর জন্য, Shader কম্পাইলার দেখুন।