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