প্রকল্প সম্পর্কে
DirectXTex হলো মাইক্রোসফটের একটি শেয়ার্ড-সোর্স C++ লাইব্রেরি যা .DDS ফাইল পড়া ও লেখা এবং টেক্সচার কনটেন্ট প্রক্রিয়াকরণ কার্য সম্পাদনের জন্য ব্যবহৃত হয়। এর উল্লেখিত ক্ষমতার মধ্যে রয়েছে রিসাইজিং, ফরম্যাট রূপান্তর, মিপ-ম্যাপ তৈরি, Direct3D রানটাইম টেক্সচার রিসোর্সের জন্য ব্লক কম্প্রেশন এবং উচ্চতা-মানচিত্র থেকে নরমাল-মানচিত্র রূপান্তর। লাইব্রেরিটি Windows Image Component (WIC) API ব্যবহার করে এবং এতে .TGA ও .HDR রিডার ও রাইটারও অন্তর্ভুক্ত, কারণ এই ফরম্যাটগুলো টেক্সচার পাইপলাইনে সাধারণ কিন্তু WIC-এ অন্তর্নির্মিত কোডেক নেই।
রিপোজিটরিটি মূল লাইব্রেরি এবং বেশ কয়েকটি নমুনা টুল ও রানটাইম লোডারের চারপাশে সংগঠিত:
- DirectXTex: মূল লাইব্রেরি, যাতে রয়েছে সম্পূর্ণ বৈশিষ্ট্যসম্পন্ন DDS রিডার/রাইটার (লিগ্যাসি ফরম্যাট রূপান্তর সহ), TGA ও HDR রিডার/রাইটার, WIC-ভিত্তিক বিটম্যাপ রিডার/রাইটার (BMP, JPEG, PNG, TIFF, HD Photo) এবং টেক্সচার প্রক্রিয়াকরণ ফাংশন। শুধুমাত্র DirectXTex.h এবং DirectXTex.inl পাবলিক হেডার হিসেবে বর্ণিত; বাকি বেশিরভাগই অভ্যন্তরীণ।
- Auxiliary: ঐচ্ছিক সোর্স ফাইল যেমন OpenEXR এবং Xbox টেক্সচার টাইলিং এক্সটেনশন ব্যবহার করে অ্যাডাপ্টার লোডিং ফাংশন।
- Common: লাইব্রেরি ও টুল দ্বারা ব্যবহৃত শেয়ার্ড সোর্স হেডার।
- Texconv: DirectXTex-ভিত্তিক একটি কমান্ড-লাইন টেক্সচার ইউটিলিটি, যা লিগ্যাসি texconvex.exe টুলের মতো আর্গুমেন্ট সমর্থন করে, তবে -10/-11 আর্গুমেন্ট এবং ফিল্টার নামের পার্থক্য রয়েছে, সাথে JPEG XR (HD Photo) সমর্থন।
- Texassemble: পৃথক ইনপুট ইমেজ থেকে কিউবম্যাপ, ভলিউম ম্যাপ বা টেক্সচার অ্যারে তৈরি করার জন্য একটি কমান্ড-লাইন ইউটিলিটি।
- Texdiag: ইমেজ কনটেন্ট বিশ্লেষণের জন্য একটি কমান্ড-লাইন ইউটিলিটি, প্রধানত ডিবাগিংয়ের জন্য।
- DDSView: DDS ফাইলের জন্য একটি সরল Direct3D 11-ভিত্তিক ভিউয়ার, যেখানে অ্যারে টেক্সচার এবং ভলিউম ম্যাপের জন্য কীবোর্ড নেভিগেশন রয়েছে।
- DDSTextureLoader: Direct3D 9, 11 এবং 12-এর জন্য একটি হালকা রানটাইম DDS লোডার যা কোনো রানটাইম পিক্সেল ডেটা রূপান্তর করে না এবং 1D, 2D, ভলিউম ম্যাপ, কিউবম্যাপ, মিপম্যাপ লেভেল, টেক্সচার অ্যারে এবং BC ফরম্যাট সমর্থন করে।
- ScreenGrab: Direct3D 9, 11 এবং 12-এর জন্য টেক্সচার লেখার মডিউল, প্রধানত স্ক্রিনশটের জন্য, যা DDS বা WIC-সমর্থিত ইমেজ ফরম্যাট লেখে।
- WICTextureLoader: Direct3D 9, 11 এবং 12-এর জন্য একটি 2D টেক্সচার লোডার যা WIC ব্যবহার করে বিটম্যাপ লোড করে, ফিচার লেভেল বা স্পষ্ট প্যারামিটারের ভিত্তিতে রিসাইজ করে, প্রয়োজন হলে DXGI_FORMAT-এ ফরম্যাট রূপান্তর করে এবং একটি 2D টেক্সচার তৈরি করে। এটি 1D টেক্সচার, ভলিউম টেক্সচার, কিউবম্যাপ বা টেক্সচার অ্যারে সমর্থন করে না।
README-তে উল্লেখিত বিল্ড প্রয়োজনীয়তার মধ্যে রয়েছে Visual Studio 2022 বা 2026, Windows-এর জন্য clang v12 বা তার পরে, অথবা MinGW, এবং Visual Studio-র জন্য Windows 11 SDK (22000) বা তার পরে প্রয়োজন। এটি GCC 11 বা তার পরে ব্যবহার করে Windows Subsystem for Linux-এর জন্যও তৈরি করা যেতে পারে। CMake প্রকল্পগুলির জন্য সংস্করণ 3.21 বা তার পরে প্রয়োজন। উপাদানগুলো লিগ্যাসি DirectX SDK-এর কনটেন্ট ছাড়াই কাজ করার জন্য ডিজাইন করা হয়েছে।
ডকুমেন্টেশন GitHub উইকিতে হোস্ট করা হয়েছে। README-তে CoPilot CLI স্কিল ইনস্টলেশন, API পরিবর্তনের রিলিজ নোট (যেমন টাইপড এনাম বিটমাস্ক ফ্ল্যাগ এবং CREATETEX_FLAGS পরিবর্তন), vcpkg-এর পক্ষে কিছু NuGet প্যাকেজের অবনতি, Windows 7 এবং Windows 8.0 সমর্থন প্রত্যাহার এবং কমান্ড-লাইন টুলের জন্য GNU-স্টাইল লং অপশনও নথিভুক্ত করা হয়েছে। প্রকল্পটি MIT লাইসেন্সযুক্ত এবং CLA-এর অধীনে অবদান স্বাগত জানায়, সাথে পরীক্ষাগুলি একটি পৃথক টেস্ট-স্যুট রিপোজিটরিতে জমা দেওয়া হয়।
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.