কণা ব্যবস্থায় স্বচ্ছ স্বচ্ছতার আদেশ দিন


9

আমি একটি কণা সিস্টেম লিখছি এবং কণা বাছাই না করে সঠিক আলফা মিশ্রন অর্জনের কৌশল খুঁজে পেতে চাই কারণ:

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

আলফা পরীক্ষাটি GLES 2.0 তে যথেষ্ট দ্রুত বলে মনে হচ্ছে এবং স্বচ্ছ নয় তবে "মুখোশযুক্ত" টেক্সচারের জন্য সূক্ষ্ম কাজ করে। তবুও, এটি অর্ধ-স্বচ্ছ কণার জন্য যথেষ্ট নয়।

আপনি কিভাবে এটি পরিচালনা করবেন?


এগুলি যথাযথভাবে বাছাই করা কতটা জরুরি? ভ্যানিলা মিশ্রণ ব্যবহার করে আপনি কি কোনও (গুরুত্বপূর্ণ) নিদর্শন দেখেছেন?
ক্রিসই 15

একটি কণা অন্য কণার পরিবর্তে পটভূমিতে মিশ্রিত করতে পারে এবং তারপরে পয়েন্ট-স্প্রাইটের "আয়তক্ষেত্র" এর সারমর্মটি খুব লক্ষণীয়। আলফা পরীক্ষা এখানে সহায়তা করে তবে আলফা মানটি কম থাকলেও খণ্ডটি বাতিল করতে পর্যাপ্ত না হলে শিল্পকর্মগুলি এখনও লক্ষণীয়।
স্টেপান জাস্তুপভ

6
কণাগুলি রেন্ডার করার সময় আপনি কী গভীরতা-লেখাগুলি অক্ষুণ্ণ করেছেন (গভীরতার পরীক্ষা রেখেছেন)? এর ফলে ভুল ক্রমটি কম স্পষ্ট হওয়া উচিত।
আদম

2
কিছু পরীক্ষার পরে আমি দেখতে পেলাম যে গভীরতা রচনা অক্ষম করা বেশিরভাগ ক্ষেত্রেই সেরা সমাধান।
স্টেপান জাস্তুপভ

উত্তর:


10

এখানে আমি কি করব।

পদক্ষেপ 1: বাছাই করবেন না। সপ্তাহের দিন. এটি কোন সমস্যা কিনা তা দেখুন। সম্ভবত না।

পদক্ষেপ 2: এমন কণাগুলিকে সীমাবদ্ধ করুন যাতে সত্যে বাছাইয়ের প্রয়োজন হয় না যেমন:

  • সলিডস (সম্ভবত আলফা-থেকে-কভারেজ প্রান্ত সহ)

    • Zbuffer বাছাই যত্ন নিতে দিন।
  • শুধু অ্যাডিটিভ বিট

    • a + b = b + a, সুতরাং অর্ডার কোনও বিষয় নয়

পদক্ষেপ 3: যদি আরও প্রয়োজন হয় তবে বিটগুলিতে বিভাজনিত কণা বিভাজন করুন যা সামনে এবং বাকী থাকতে হবে এবং কয়েকটি পাসে রেন্ডারিং করান (উদাহরণস্বরূপ জটিল ধোঁয়া ঠিক করতে পারে)

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

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


6

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


5

অ্যাডিটিভ ব্লেন্ডিং অর্ডার ব্যবহার করা কোনও বিষয় নয়:

glEnable(GL_BLEND)
glDepthMask(GL_FALSE)
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA)
DrawParticles();

// Now turn depth masking on and blending off, so state is unchanged.
glDepthMask(GL_TRUE)
glDisable(GL_BLEND)

এটি ধরে নিয়েছে যে আপনার স্প্রাইট জমিনটির স্বচ্ছ পটভূমি রয়েছে।

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