রেন্ডারিংয়ের আগে অবজেক্টগুলি বাছাই করা


10

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

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

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

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

বিটিডব্লিউ-তে কোনও ইউনিফর্ম পরিবর্তন করা এবং glBufferSubData কল করা ব্যয়বহুল (বা কম) ব্যয় করার বিষয়ে কোনও তথ্য নেই।


3
দ্রুত উত্তর, হ্যাঁ প্রতিটি বস্তুতে ম্যাট্রিক্স পরিবর্তন করা থেকে উপকরণ সেট করতেও লাফ দেওয়া খারাপ। এই মুহুর্তে আমি আপনার প্ল্যাটফর্মের জন্য ওপেনজিএল কর্মক্ষমতা পরিমাপের সরঞ্জামগুলি চালিয়ে যাওয়ার আগে সন্ধান করার জন্য একটি পার্শ্ব ভ্রমণের পরামর্শ দেব। পারফ সরঞ্জামের সাহায্যে আপনি সহজেই বিভিন্ন কৌশল পরিমাপ করতে পারেন এবং আপনার রেন্ডারারের প্রয়োজনের জন্য সবচেয়ে ভাল কী কাজ করে তা সন্ধান করতে পারেন। প্লাস tools সরঞ্জামগুলি আপনাকে আপনার পুরো ক্যারিয়ারের এগিয়ে রাখবে যখন এই একজন রেন্ডারার ... এত বেশি নয় ;-)
প্যাট্রিক হিউজেস

@ পেট্রিকহাগস দুর্দান্ত, ধন্যবাদ, আমি অবশ্যই তাদের চেক করব
ড্রেটা ২

উত্তর:


4

আপনি অবশ্যই একসাথে উপকরণগুলি বাছাই করতে চান। আপনি যদি পারেন তবে আপনি জ্যামিতির একসাথে ব্যাচ করতেও ইনস্ট্যান্সিং ব্যবহার করতে পারেন (উদাহরণস্বরূপ আপনার যদি একই বস্তুর এক্স সংখ্যা থাকে)।

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

সামনে থেকে অস্বচ্ছ বস্তু বাছাইয়ের মানও রয়েছে, কারণ তাড়াতাড়ি-জেড আপনার দৃশ্যের টুকরোগুলি শেডারের ওভারহেডকে হ্রাস করতে দেয়।


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

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

opengl.org/wiki/Transpender_Sorting এটাই আমি 'স্বেচ্ছাচারী বিধি' দ্বারা বোঝাতে চাইছিলাম । জটিল মামলার জন্য কোনও উদ্দেশ্য 'সঠিক' বাছাই করা হয় না। 'বাছাই' এবং 'অর্ডার' সম্পর্কে ওপি স্পষ্টভাবে বলেছিল যে 'উপাদান অনুসারে বাছাই করা' (স্বচ্ছতা নির্বিশেষে)), এবং উভয় টার্গেটের পারফরম্যান্স প্রভাবের কারণে আমি টেক্সচারের জন্য একই।
ডার্কওইংস

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

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

3

নিখুঁতভাবে গভীরতার সাথে বস্তু বাছাইয়ের একটি বিশাল মূল্য রয়েছে, বিশেষত বিনিং বা টাইল রেন্ডারিং আর্কিটেকচারের ক্ষেত্রে।

সামনে থেকে পিছনে সলিডগুলি সাজান, পিছন থেকে সামনের দিকে পরিবহন করা।

রেন্ডারিংয়ের সময়, ক্যামেরাটির নিকটে থাকা সবচেয়ে শক্ত এবং শক্তিকে প্রথমে রেন্ডার করা হয় এবং একই জায়গাতে থাকা অন্য যে কোনও কিছু তাড়াতাড়ি জেড-বাফার চেক দ্বারা প্রত্যাখ্যান করা হবে।

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

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