ডকুমেন্টেশনে আচ্ছাদিত হিসাবে, ত্রিভুজ অনুরাগীরা Direct3D 10 বা তারপরে সমর্থন করে না ।
কেন? ত্রিভুজ ভক্তদের সাথে কাজ করার অন্তর্নিহিত কমতি রয়েছে কি?
ডকুমেন্টেশনে আচ্ছাদিত হিসাবে, ত্রিভুজ অনুরাগীরা Direct3D 10 বা তারপরে সমর্থন করে না ।
কেন? ত্রিভুজ ভক্তদের সাথে কাজ করার অন্তর্নিহিত কমতি রয়েছে কি?
উত্তর:
এক দশকেরও বেশি সময় ধরে হার্ডওয়্যার বিক্রেতারা ত্রিভুজ স্ট্রিপগুলি, তাত্ক্ষণিক ত্রিভুজ তালিকা এবং তাত্ক্ষণিক ত্রিভুজ স্ট্রিপগুলিকে দ্রুততম আদিম প্রকার হিসাবে ব্যবহার করছেন। কেন? স্ট্রিপগুলি আরও ভাল ক্যাশে লোকেশন রয়েছে (ধারাবাহিকভাবে প্রথমটিতে ফিরে যাওয়ার পরিবর্তে জমা দেওয়া শেষ 2 টি ভার্ট পুনরায় ব্যবহার করে) এবং ইনডেক্সিংয়ের ফলে হার্ডওয়্যার ভার্টেক্স ক্যাসগুলি বাস্তবে কাজ করতে দেয়, পাশাপাশি ডুপ্লিকেট ভার্টস অপসারণের জন্য আরও কার্যকর হয়।
যদি সমস্ত হার্ডওয়্যার বিক্রেতারা "এইভাবে এটি করুন এবং আপনি দ্রুত হতে চলেছেন" বলছেন তবে খুব সুন্দর সম্ভাবনা আছে যে আপনি যদি এভাবে করেন তবে আপনি আরও দ্রুত হবে।
সুতরাং D3D10 + কেবল এটির আনুষ্ঠানিকতা দেয়; যদি এটিই দ্রুতগতি হয় তবে আপনি যে পথটি ব্যবহার করতে চলেছেন সেটি অন্য পথের অস্তিত্ব নেই। এটি ডি 3 ডি 10 + এর একটি ডিজাইনের দর্শনের সাথে সঙ্গতি রেখে চলেছে, যা আপনাকে দ্রুত পথে নিয়ে যায় এবং আপনাকে সেখানে রাখে।
আমি জানি না এটি আসলে বিকাশের উপর কতটা প্রভাব ফেলবে তবে এই জাতীয় পরিবর্তনের সাথে সাথে বলা হয়েছে যে তারা ড্রাইভার বিকাশকারীদের আরও ভাল ড্রাইভার লিখতে দেবে। জিপিইউ ড্রাইভারদের জটিলতা আশ্চর্যজনক তবে আমি নিশ্চিত নই যে এই সঠিক পরিবর্তনটি খুব বেশি সাহায্য করবে কিনা।
উভয় ক্ষেত্রেই, আপনার বেশিরভাগ প্রয়োজনের জন্য ত্রিভুজ অনুরাগীদের প্রতিস্থাপন করা সম্ভব (উত্তল বহুভুজ রেন্ডারিংয়ের মতো) প্রায়শই আরও ভাল ফলাফলের সাথে ps
// A simplified API interface is presented for the purposes of having readable pseudocode
// Push( pos ) - pushes position data to make a new vertex
// TRIANGLE FANS:
for( i = 0; i < vertices.count; ++i )
Push( vertices[ i ] );
// TRIANGLE STRIPS:
for( i = 0; i < vertices.count; ++i )
{
if( i % 2 == 0 )
vertex = i / 2;
else
vertex = vertices.count - 1 - i / 2;
Push( vertices[ vertex ] );
}
সম্পাদনা: উল্লেখ করতে ভুলে গেছেন - আপনার যদি উইন্ডিংয়ের ক্রম পরিবর্তন করতে হয় - কেবল "যদি" (== থেকে! =) তে পরীক্ষাটি বিপরীত করুন।
(এই বিশেষ প্রশ্নটি একটি মতামত উত্তরের ওয়ারেন্ট দেয় :)
বিষয়গতভাবে, আমি এর আর্কিটেকচারকে মহাকাশচারী বলব। ওপেনজিএলএস এটিকে 'কম জটিল' করার জন্য প্রচুর পরিমাণে জিনিস ফেলেছিল, যদিও পরিবর্তে উত্তরাধিকারের কোড সহ প্রতিটি বিকাশকারীকেই জটিলতার দিকে ঠেলে দেয়।
অবশ্যই, এমনকি হার্ডওয়্যার যখন এটিকে স্থানীয়ভাবে সমর্থন করে না তখনও ত্রিভুজ অনুরাগীদের রেখাচিত্রমালা বা ত্রিভুজগুলিতে রূপান্তরিত করে লোকেদের সিকোয়েন্সিংয়ের সাথে সামঞ্জস্যতা প্রদান করা তুচ্ছ হত।
ওয়েবজিএল রান-টাইম এবং এ জাতীয় সার্টিফিকেট বাফার এবং সর্বদা ট্র্যাক রাখতে হয় এবং ড্রাইভাররা সহজেই লোকেরা এটি সমর্থন না করেও তাদের ভক্ত প্রেরণ করতে পারে।
সুতরাং এফএফপি থেকে পুরো ছোঁড়া এবং এটি কেবল একটি বড় বিরক্তি আইএমও।