জিপিইউ ড্রাইভার বিক্রেতারা সাধারণত noiseX
জিএলএসএলে প্রয়োগের জন্য বিরক্ত করেন না , তাই আমি একটি "গ্রাফিক্স র্যান্ডমাইজেশন সুইস আর্মি নাক" ইউটিলিটি ফাংশন সেটটি খুঁজছি , জিপিইউ শেডারগুলির মধ্যে ব্যবহারের পক্ষে পছন্দসইভাবে অনুকূল। আমি জিএলএসএলকে প্রাধান্য দিচ্ছি, তবে কোড যে কোনও ভাষা আমার পক্ষে করবে, আমি নিজে থেকে এটি জিএলএসএল অনুবাদ করে ঠিক করছি।
বিশেষত, আমি আশা করতাম:
ক) সিউডো-এলোমেলো ফাংশন - এন-ডাইমেনশনাল, ইউনিফর্ম বিতরণ [-1,1] বা [0,1] এর উপরে, এম-ডাইমেনশনাল বীজ থেকে গণনা করা (আদর্শভাবে কোনও মান হওয়ায় তবে আমি বীজকে সংযত রাখার সাথে সাথে ঠিক আছি) বলতে হবে, অভিন্ন ফলাফল বিতরণের জন্য 0..1)। কিছুটা এইরকম:
float random (T seed);
vec2 random2 (T seed);
vec3 random3 (T seed);
vec4 random4 (T seed);
// T being either float, vec2, vec3, vec4 - ideally.
খ) ধারাবাহিক গোলমাল পারলিন মত নয়েজ - আবার, এন-মাত্রিক + - অভিন্ন বন্টন, মূল্যবোধের সবাধ সেট দিয়ে এবং, ভাল, খুঁজছি ভাল (কিছু অপশন কনফিগার করতে পারলিন মাত্রা মত চেহারা খুব উপযোগী হতে পারে)। আমি স্বাক্ষরগুলি যেমন আশা করি:
float noise (T coord, TT seed);
vec2 noise2 (T coord, TT seed);
// ...
আমি এলোমেলো সংখ্যার প্রজন্মের তত্ত্বের মধ্যে খুব বেশি নই, তাই আমি খুব আগ্রহের সাথে একটি প্রাক-তৈরি সমাধানের জন্য যেতে চাই, তবে আমি "এখানে একটি খুব ভাল, দক্ষ 1 ডি র্যান্ড () এর মত উত্তরগুলিরও প্রশংসা করব এবং আমাকে ব্যাখ্যা করতে দিন আপনি কীভাবে এর উপরে একটি ভাল এন-ডাইমেনশনাল র্যান্ড () তৈরি করবেন ... " ।
vec2 co
? এটা কি পরিসীমা? বীজ?