স্টেনসিল বাফার কী?


26

উইকিপিডিয়ায় বলা হয়েছে যে স্টেনসিল বাফার এমন কিছু স্বেচ্ছাসেবী বাফার যা শেডার ব্যবহার করতে পারে।

যাইহোক, এটি ইঙ্গিত দেয় যে এটি ক্লিপিংয়ের জন্য ব্যবহার করা হয়েছে, বা অন্যথায় গভীরতা এবং পিক্সেল বাফারগুলিকে "শক্তভাবে বাঁধাই করা", নিজের থেকে সামান্য বিপরীতে।

স্টেনসিল বাফারটি আসলে কী করে এবং আধুনিক অ্যাপ্লিকেশনগুলিতে এটি ব্যবহারিকভাবে কীভাবে ব্যবহৃত হয়?

উত্তর:


31

উইকিপিডিয়া দ্বারা স্টেনসিল বাফার সংজ্ঞা প্রকৃতপক্ষে দুর্দান্ত নয়, এটি আধুনিক বাস্তবায়নের (ওপেনজিএল) বিশদগুলিতে খুব বেশি মনোনিবেশ করে। আমি দ্ব্যর্থহীন সংস্করণটি বুঝতে সহজ:

স্টেনসিল হ'ল একটি টেমপ্লেট যা প্রতিবার ব্যবহৃত হয় একইরকম অক্ষর, চিহ্ন, আকার বা প্যাটার্ন আঁকতে বা আঁকতে। এই জাতীয় টেম্পলেট দ্বারা উত্পাদিত নকশাকে স্টেনসিলও বলা হয়।

কম্পিউটার গ্রাফিক্সের আগে এটি স্টেনসিলকে বোঝায়। আপনি যদি গুগল চিত্রগুলিতে স্টেনসিল টাইপ করেন তবে এটি প্রথম ফলাফলগুলির মধ্যে একটি:

স্টেনসিল মুখোশ

আপনি দেখতে পাচ্ছেন যে, এটি কেবল একটি মুখোশ বা প্যাটার্ন যা কোনও কিছুতে প্যাটার্নের নেতিবাচক "রঙ করতে" ব্যবহার করা যেতে পারে।

স্টেনসিল বাফার সঠিক একই ভাবে কাজ করে। স্টেনসিল রেন্ডার পাস করে কেউ একটি নির্বাচিত প্যাটার্ন দিয়ে স্টেনসিল বাফারটি পূরণ করতে পারে, তারপরে উপযুক্ত স্টেনসিল ফাংশন সেট করুন যা পরবর্তী অঙ্কনগুলিতে কীভাবে প্যাটার্নটি ব্যাখ্যা করতে হবে তা নির্ধারণ করবে, তারপরে চূড়ান্ত দৃশ্যটি রেন্ডার করবে। তুলনা ফাংশন অনুসারে স্টেনসিল মাস্কের প্রত্যাখ্যাত অঞ্চলে পড়া পিক্সেলগুলি অঙ্কিত হয় না।


স্টেনসিল বাফার বাস্তবায়নের ক্ষেত্রে, কখনও কখনও এটি গভীরতার বাফারের সাথে মিলিত হয়। বেশিরভাগ গ্রাফিক্স হার্ডওয়্যারটিতে 1 বাইট (8 বিট) স্টেনসিল বাফার ব্যবহার করা হয়, যা বেশিরভাগ অ্যাপ্লিকেশনের জন্য যথেষ্ট। গভীরতা বাফারগুলি সাধারণত 3 বাইট (24 বিট) ব্যবহার করে প্রয়োগ করা হয় যা বেশিরভাগ ধরণের 3 ডি রেন্ডারিংয়ের জন্য সাধারণত পর্যাপ্ত পরিমাণে। সুতরাং স্টেনসিল বাফারের 8 টি বিটকে গভীরতার বাফরের 24 টির সাথে প্যাক করা কেবল যুক্তিসঙ্গত, যাতে প্রতিটি গভীরতা + স্টেনসিল পিক্সেল 32 বিট পূর্ণসংখ্যায় সংরক্ষণ করা সম্ভব হয়। উইকিপিডিয়া এর অর্থ:

গভীরতা বাফার এবং স্টেনসিল বাফার প্রায়শই একই ক্ষেত্রটি গ্রাফিক্স হার্ডওয়্যারের র্যামে ভাগ করে।


স্টেনসিল বাফার বাদশাহ হিসাবে ব্যবহৃত একটি অ্যাপ্লিকেশনটি ছিল ছায়া রেন্ডারিংয়ের জন্য, শ্যাডো ভলিউম নামে একটি কৌশলতে বা কখনও কখনও উপযুক্তভাবে স্টেনসিল শ্যাডোও বলা হত । এটি বাফারটির একটি খুব চালাক ব্যবহার ছিল, তবে আজকাল বেশিরভাগ রেন্ডারিং ফিল্ডটি গভীরতার ভিত্তিতে ছায়া মানচিত্রের দিকে চলে গেছে বলে মনে হচ্ছে।


এটি একটি চরিত্র, কিন্তু cleaver-> clever। আমি এটিকে সম্পাদনা করতে পারি না ডি: উপায় দ্বারা দুর্দান্ত উত্তর, এটি এ পর্যন্ত সবচেয়ে সার্থক করে তোলে।
কিউস

3
আপনার যদি পিক্সেল শ্যাডারের ব্যয়বহুল ব্যয় হয় তবে স্টেনসিল বাফারটি এই ওআইটি পেপারের মতো বিচ্যুতি হ্রাস করতে এবং ক্রমবর্ধমান বৃত্তিকে হ্রাস করে অনুরূপ থ্রেড ব্যাচ করতেও ব্যবহার করা যেতে পারে , সেকেন্ড ২.6 (অস্বীকৃতি: আমি একজন লেখক)।
jozxyqk

@ জোজকিয়াক্ক্ক, এটি বাক্সের বাইরে কিছুক্ষণ ভাবছেন! খুব সুন্দর.
গ্ল্যাম্পার্ট

13

স্টেনসিল বাফার হ'ল একটি স্বাক্ষরযুক্ত পূর্ণসংখ্যার বাফার, সাধারণত আজকাল 8-বিট যেখানে স্টেনসিল পরীক্ষার পরে বিভিন্ন অপারেশনগুলির ( উদাহরণস্বরূপ ওপেনজিএল অপস ) ব্যবহারের ভিত্তিতে আপনি প্রতি পিক্সেল তথ্যটি পূরণ করতে পারেন ।

স্টেনসিল পরীক্ষাটি কেবলমাত্র প্রতি-পিক্সেল অপারেশন যেখানে বর্তমান পিক্সেল স্টেনসিল মান স্টেনসিল বাফারের সামগ্রীর বিপরীতে পরীক্ষা করা হয়। স্টেনসিল পরীক্ষাটি পাস করার শর্তটি আপনি সেট করেছেন (যেমন সর্বদা, কম ইত্যাদি)।

পরীক্ষার ফলাফলের উপর নির্ভর করে স্টেনসিল মানের কী হবে তা আপনি সিদ্ধান্ত নিতে পারেন (ওপেনজিএলে আমি আপনাকে উপরে সংযুক্ত অপারেশনটি ব্যবহার করে)

স্টেনসিল বাফারের বেশ কয়েকটি ব্যবহার রয়েছে, যা প্রথমে মনে পড়ে:

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

অতীতে এটি শেডো ভলিউমের মতো ছায়াময় কৌশলগুলির জন্যও ব্যবহৃত হয়েছিল।

দরিদ্র স্টেনসিল বাফারটি প্রায়শই বেশিরভাগই অবমূল্যায়িত হয় তবে গ্রাফিক্স প্রোগ্রামারের অস্ত্রাগারগুলিতে এটি একটি ভাল অস্ত্র হতে পারে।

[*] ডান এসআরভি ব্যবহার করে পোস্ট-প্রসেসে আবার পড়ার মান!

সম্পাদনা: এছাড়াও, উল্লেখযোগ্য যে শেডার মডেল 5.1 (সুতরাং D3D11.3 এবং D3D12) এ আপনার স্টেনসিল রেফারেন্স মানটির মাধ্যমে অ্যাক্সেস রয়েছে SV_StencilRef


6

স্টেনসিল বাফারে প্রতি পিক্সেল পূর্ণসংখ্যার ডেটা থাকে যা পিক্সেলগুলি রেন্ডার করা হয় তার উপর আরও নিয়ন্ত্রণ যুক্ত করতে ব্যবহৃত হয়।

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

উত্স: স্টেনসিল বাফার কী? | মাইক্রোসফ্ট বিকাশকারী নেটওয়ার্ক

সাধারণ ধারণা আপনি প্রতিটি পিক্সেলের জন্য একটি মান সেট এবং তারপর অপারেশন (সেট করতে পারেন যে GREATER, SMALLER, EQUAL, ইত্যাদি) যখন সত্যতে এই মূল্যায়ণ পিক্সেল ছায়াময় এবং দেখানো হয়।

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

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