জিপিইউতে ভাগ করা ভার্টেক্স নরমাল তৈরি করা


9

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

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

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

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

এটি করার জন্য যে কারওর আরও ভাল ধারণা আছে?

উত্তর:


5

একটি এনভিডিয়া কেবলমাত্র সমাধানের জন্য আপনি ভাসমান পয়েন্ট পারমাণবিক অ্যাড ইনট্রিনিকগুলি ব্যবহার করতে পারেন (যেমন এনভিআইন্টারলকডএডডিএফপি ৩২) এইচএলএসএলে জিপিইউ আনলক করা | এনভিআইডিএ বিকাশকারী

আমি এটি ৮০.০০০ ভার্টেক্স জাল দিয়ে চেষ্টা করেছি এবং এটি বেশ দ্রুত (জিটিএক্স ৯৮০ এম তে 1 বা 2 এমএসের মতো কিছু, যদি আমি সঠিকভাবে মনে রাখি)

অভ্যন্তরীণ কাজগুলি চালানোর জন্য মুক্তভাবে আপনার ছায়াগুলি সংকলনের বিষয়ে সতর্ক থাকুন (এনভিডিয়া বাগ / সীমাবদ্ধতার কারণে)

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


কারণ প্রশ্নটি পুরানো আমি পরিবর্তে আপনাকে জিজ্ঞাসা করব :-) আমি যা বুঝতে পারি তার জন্য প্রতিটি শীর্ষবিন্দুর জন্য সামঞ্জস্যতার তথ্য কেবল রাশিয়ার পক্ষে যথেষ্ট ছিল না?
Andreas

এটি আমার থিসিস প্রজেক্টের জন্য গত বছর ছিল, আমি কেবল বোবা পথ দিয়ে চলেছি এবং পূর্ণসংখ্যার পারমাণবিক সংযোজন, নির্ভুলতা সর্বাধিককরণের জন্য ছোট আকারে ব্যবহার করেছি, তারপরে ভাসমান ভেক্টরগুলিতে স্বাভাবিক রেখেছি। সবচেয়ে খারাপ ক্ষেত্রে স্থান বরাদ্দ না করে এবং যে কোনও উপায়ে তালিকা তৈরি করতে পারমাণবিক কাউন্টার ব্যবহার না করে প্রতিটি শীর্ষে মুখের তালিকা তৈরির উপায় খুঁজে বের করতে পারেনি। এটি সম্ভবত জাহান্নাম হিসাবে অক্ষম তবে আমি তখনও সিপিইউ সংস্করণ এবং একটি প্রথম শ্রেণির চিহ্ন থেকে মাত্রা কয়েক গতিবেগের অর্ডার পেয়েছি যাতে এতে আমি যথেষ্ট খুশি ছিলাম :)
রাশি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.