মাল্টিটেক্সচারিং কি সত্যিই কেবল "একাধিক টেক্সচার ব্যবহার করছে"?


10

এটি নির্বোধ মনে হতে পারে, কিন্তু এটি আমাকে বাগিয়ে দেয়। আমি যা বুঝতে পারি তা থেকে বহুগুণ প্রতি 1 টির বেশি টেক্সচার ব্যবহার করছে (সাধারণত কোনওভাবে তাদের মিশ্রণ করতে)। সুতরাং 1 টি টেক্সচার তৈরি করার পরিবর্তে আমি 2 বা ততোধিক তৈরি করি যা বেশ সুস্পষ্ট!

কেন এটির জন্য একটি বিশেষ পদ আছে? এটি "" 1 টির বেশি টেক্সচার ব্যবহার করার "চেয়ে আরও কী আছে? আমি কিছু অনুপস্থিত করছি?


এক পর্যায়ে বিশেষত রিয়েল-টাইম 3 ডি গ্রাফিকগুলিতে, একটি টেক্সচার (বিচ্ছুরিত মানচিত্র) ব্যবহার করা খুব সাধারণ ছিল। সুতরাং নামটি আপনি একাধিক টেক্সচার ব্যবহার করছেন এমন পরামর্শ দেওয়ার জন্য ব্যবহার করা হয়েছিল। সমস্যা দেখছি না। অনেকগুলি বহু-
থ্রেডযুক্তের

তবে মাল্টিথ্রেডিংয়ের জন্য বিশেষ এপিআই, সম্পূর্ণ আলাদা প্রোগ্রাম ডিজাইন ইত্যাদি প্রয়োজন। এটি বিভিন্ন দিক থেকে পৃথক হয়। আমার প্রশ্নটি এ থেকে উদ্ভূত হয়েছে যে বহুগুণগুলি টেক্সচারের গণনা ব্যতীত আলাদা কিছু বলে মনে হচ্ছে না। এবং এটি কোনও সমস্যা নয়, কেবল একটি প্রশ্ন।
এনপিএস 13

এটির জন্য একটি বিশেষ এপিআই দরকার হয় না। এটি বাস্তবায়নের উপর নির্ভর করবে। আমি কিছু সরঞ্জাম ব্যবহার করি যা বহুবৃত্তের সাথে একইভাবে আচরণ করে যেভাবে তারা "একত্রিত";)
আতুরসামস

@ কনসেপ্ট কোন অংশ? শিরোনাম?
আনকো

উত্তর:


16

বিশেষ শব্দটির সাথে গ্রাফিক্স কার্ড এবং রিয়েল টাইম গ্রাফিক্স এপিআইগুলির বিবর্তন এতটা বিশেষ হওয়ার চেয়ে বেশি হয়। উদাহরণস্বরূপ চিত্র চিত্র প্রক্রিয়াকরণ এবং অফলাইন গ্রাফিক্স রেন্ডারিংটিতে এই বৈশিষ্ট্যটি রিয়েল টাইম গ্রাফিক্স API এবং গ্রাহক স্তরের হার্ডওয়্যারটিতে উপলব্ধ হওয়ার অনেক আগে থেকেই ছিল।

যেহেতু ওপেনজিএল 1.1 (স্থির কার্যকারিতা) মাল্টিটেক্সচারিং এপিআই-তে নতুন রাষ্ট্র হিসাবে চালু হয়েছিল। কেবল একটি টেক্সচারকে বাঁধাইয়ের পরিবর্তে এটি আপনাকে একাধিক টেক্সচার বাঁধাইয়ের ক্ষমতা দিয়েছে; প্রতিটি টেক্সচার ইউনিটগুলির জন্য একটি এবং তারপরে টেক্সচার এনভায়রনমেন্ট প্যারামিটারগুলির একটি, মিশ্রণ, মড্যুলেট..ইটিসি ব্যবহার করে তাদের মধ্যে মিশ্রিত করুন 1

তারপরে টেক্সচার কম্বিনারগুলি প্রবর্তন করা হয়েছিল, এটি আপনাকে আরও নমনীয় ক্রিয়াকলাপগুলি ব্যবহার করে টেক্সচারের একটি সংমিশ্রণ করার ক্ষমতা দিয়েছিল, আপনাকে নির্দিষ্ট ক্রিয়াকলাপে প্যারামিটারগুলি পাস করার একটি উপায় দিয়েছিল (এটিকে ছায়ারূপে মনে করে তবে প্যারামের নির্দিষ্ট সেট সহ) এটি ছিল মূল "সংযুক্তকারী" এর চেয়ে আরও নমনীয়।

শেডারগুলির প্রবর্তনের সাথে সাথে পূর্ববর্তী সংযুক্তকারীগুলি আনুষ্ঠানিকভাবে হ্রাস না হওয়া অবধি রিন্ডানড হয়ে যায়। অবশেষে এটি তুচ্ছ হয়ে উঠেছে (হার্ডওয়্যার এবং তদনুসারে এপিআইগুলি বিকশিত হয়ে) শেডারে একটি টেক্সচার স্যাম্পলারটি সরবরাহ করতে এবং জিপিইউকে নির্বিচারে চালিত করতে দেয় আপনার টেক্সচারে অপারেশনগুলি (আপনার শেডার) আগে যতটা করা যায় তার চেয়ে আরও নমনীয় করতে দেয়।

বিষয়টি এখানে; এমনকি যদি এটি তুচ্ছ হয়ে ওঠে, এই শব্দটি কোনও ক্রিয়াকলাপের জন্য জেনেরিক পদ হিসাবে বেঁচে থাকে যা একাধিক টেক্সচারের নমুনা ও সংশ্লেষ বর্ণনা করে।

1 আমি আমার স্মৃতিটি ওপেনজিএল স্থির কার্যকারিতা পুনরুদ্ধার করতে ব্যবহার করছি যদি আমি স্টাটি মিস করি তবে আমাকে সংশোধন করতে হবে।


5

Reasonতিহাসিক কারণটি হ'ল "মাল্টিটেক্সচারিং" একবারে "হার্ডওয়্যার টিএনএল" এর মতো বিপণনের গুঞ্জন শব্দ ছিল। যেহেতু এটি নতুন কার্ডগুলির একটি স্বতন্ত্র বৈশিষ্ট্য ছিল তাই সেগুলি বিক্রি করার জন্য এটির একটি শব্দ থাকা দরকার।

প্রযুক্তিগত কারণ হ'ল মাল্টিটেক্সচারিং কেবল একটির পরিবর্তে দুটি টেক্সচার তৈরি এবং ব্যবহার না । আপনি যদি কেবল দুটি টেক্সচার ব্যবহার করেন (বা তিনটি বা কোনও সংখ্যা) তবে আপনি কেবলমাত্র একটি টেক্সচার ব্যবহার করতে পারেন, কারণ কেবলমাত্র একটি আউটপুট খণ্ড রয়েছে। এতে কোনও তফাত হবে না (ইনপুট যাই হোক না কেন, আউটপুট কেবল এক বা অন্য হতে পারে), তাই এটি বিশেষ কিছু হবে না।

পার্থক্যটি এই নয় যে আপনি বেশ কয়েকটি টেক্সচার তৈরি করতে পারেন, তবে আপনি দুটি বা ততোধিক টেক্সচার সংমিশ্রণ করেন । উদাহরণস্বরূপ, আপনি এগুলি আলফা বা কিছু প্রতি-ভার্টেক্স ইন্টারপোলেটেড মিশ্রণের কারণগুলির উপর ভিত্তি করে মিশ্রণ করতে পারেন, বা আপনি তাদের যুক্ত করতে পারেন বা অন্যরকম কিছু।
কনফিগারেশনে / প্রোগ্রামযোগ্যতার পরিমাণ গত দশকে ব্যাপকভাবে বিকশিত হয়েছে, তবে একটি বড় পার্থক্য রয়ে গেছে যে আপনি কোনওভাবে আউটপুটে দুই বা ততোধিক ইনপুট একত্রিত করতে পারেন ।


2

শুরুতে আলো ছিল

ওপেনজিএল আলোকসজ্জা, নির্দিষ্ট করার জন্য, যা নির্দিষ্ট অংশে নির্দিষ্ট গাণিতিক ক্রিয়াকলাপ নির্দিষ্ট করে, যা চূড়ান্ত রঙ অর্জনের জন্য টেক্সচারের সাথে মিলিত হয়েছিল।

এবং তারপর সেখানে ভূমিকম্প ছিল

ভূমিকম্প হয়নি এর বিভিন্ন বস্তুর জন্য এই ধরণের আলো ব্যবহার । পরিবর্তে এটি আলোকপাতের প্রতিনিধিত্ব করতে দ্বিতীয় টেক্সচার ব্যবহার করেছিল, যা একটি চূড়ান্ত রঙ প্রাপ্ত করতে অবজেক্ট টেক্সচার দ্বারা (বা "মডিউলযুক্ত) দ্বারা গুণিত হয়েছিল।

তবে, সেই সময়ের হার্ডওয়ারগুলি একক ক্রিয়াকলাপে এটি সমর্থন করে না। সুতরাং ভূমিকম্পের জন্য দু'বার দৃশ্যের বিষয়গুলি আঁকার জন্য এটি প্রয়োজন:

  • বেস টেক্সচারগুলি রাখার জন্য একবার সবকিছু আঁকুন।
  • একটি মডুলেট ব্লেন্ড মোড সেট করুন।
  • আলোর টেক্সচার প্রয়োগ করতে দ্বিতীয় বার সবকিছু আঁকুন।

এটি অবশ্যই ধীর ছিল; সমস্ত জ্যামিতি কেবল দু'বার রূপান্তরিত এবং ক্লিপ করা দরকার ছিল না (যা সেই দিনগুলিতে একটি সিপিইউ অপারেশন ছিল), তবে প্রতি পিক্সেল অন স্ক্রিনে রেন্ডারিংয়ের সময় দু'বার স্পর্শ করা শেষ হয়েছিল।

বহুস্তর প্রবেশ করান

মাল্টিটাইচার এটির সমাধান ছিল এবং এটি GL_SGIS_multitexture এক্সটেনশনের মাধ্যমে মূলত উন্মোচিত হয়েছিল, যা কেবলমাত্র নির্দিষ্ট কিছু গ্রাহক 3DFX কার্ডে বিদ্যমান ছিল। মূলত এটি কেবল দুটি টেক্সচারকে মিশ্রিত করার অনুমতি দেয় (এবং মিশ্রণের মোডগুলির সীমিত সেট সহ)।

আসল জিএলকিউকে রিডমে থেকে উদ্ধৃতি দিতে :

GL_SGIS_multiteasure
Multitextures সমর্থন নির্দিষ্ট হার্ডওয়্যারকে দু'জনের পরিবর্তে এক পাসে বিশ্ব সরবরাহ করতে দেয়। জিএলকিউকে দুটি পাস ব্যবহার করা হয়েছে, একটি ওয়ার্ল্ড টেক্সচারের জন্য এবং দ্বিতীয়টি টেক্সচারের সাথে মিশ্রিত লাইটম্যাপের জন্য। কিছু হার্ডওয়ারে, একটি GL_SIGS_multitexture সমর্থিত ওপেনএল বাস্তবায়ন সহ, এটি একটি পাসে করা যেতে পারে। এটি সমর্থন করে এমন হার্ডওয়্যারটিতে, আপনি ফ্রেমের হারে 60% থেকে 100% বৃদ্ধি পাবেন। বর্তমানে কেবলমাত্র 3DFX দ্বৈত টিএমইউ কার্ড (যেমন ওবিসিডিয়ান 2220) এই এক্সটেনশনটিকে সমর্থন করে তবে অন্যান্য হার্ডওয়্যার শীঘ্রই অনুসরণ করবে।

এটি মনে রাখা জরুরী যে এই মুহুর্তে সাধারণ ম্যাপিং, প্রতি পিক্সেল লাইটের মতো অন্য কোনও ধরণের শ্যাডার ইত্যাদির মতো প্রভাবগুলি কেবল বিদ্যমান ছিল না (ভাল তারা করেছে, তবে প্রাথমিকভাবে কেবল একাডেমিক কাগজপত্র এবং গবেষণা প্রকল্পগুলিতে, এবং রিয়েল-টাইম রেন্ডারিংয়ে ব্যবহারের জন্য কার্যকর হিসাবে বিবেচিত হয়নি)।

এবং তাই বর্তমান

এখান থেকে এটি অন্যান্য উত্তরে বর্ণিত হিসাবে বেশ কার্যকর। মাল্টিটেক্সচারিং সময়ের সাথে সাথে একটি স্ট্যান্ডার্ড বৈশিষ্ট্য হয়ে ওঠে, আরও সংমিশ্রিত মোডগুলি উপলব্ধ হয়ে ওঠে এবং শেষ পর্যন্ত স্বেচ্ছাসেবীর শেডার কোডের উপায় দেয়।

তবে আপনার প্রশ্নের উদ্দেশ্যগুলির জন্য যা গুরুত্বপূর্ণ তা হ'ল: প্রথমদিকে মানক কার্যকারিতা কেবল একটিটি ব্যবহার করতে সক্ষম হয়েছিল রেন্ডারিংয়ের সময় একটি টেক্সচার । একের অধিক ব্যবহার করতে সক্ষম হচ্ছিল অতিরিক্ত কার্যকারিতা যা কেবলমাত্র হাই-এন্ড হার্ডওয়্যার সমর্থন করে এবং তাই এর একটি নামের প্রয়োজন। এই নামটি "ডুয়াল-টেক্সচারিং" হতে পারে (প্রথম প্রয়োগগুলি কেবল দুটি টেক্সচারকে সমর্থন করেছিল) তবে ভবিষ্যতে এক নজর দিয়ে "মাল্টিটেক্সচার" নামটি বেছে নেওয়া হয়েছিল।

এই সমস্ত ইতিহাস সম্পর্কে আরও পড়ার জন্য এখানে উপলব্ধ , এবং একটি ভাল historicalতিহাসিক লেখার আপ (বিস্তৃত প্রসঙ্গে, এবং অংশ এটি বহু অংশের মধ্যে অভিনয় করেছে) এই প্রোগ্রামার.এসই উত্তর।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.