গত কয়েক দশক ধরে প্রযুক্তিবিদরা কম্পিউটার স্ক্রিনে বাস্তবসম্মত গ্রাফিক্স ফুটিয়ে তোলার জন্যে দুই ধরনের কৌশল নিয়ে মাথা ঘামাচ্ছেন। একটি হচ্ছে র্যাস্টারাইজেশন এবং অন্যটি রে-ট্রেসিং। নব্বইয়ের দশকের পর থেকে র্যাস্টারাইজ করা গ্রাফিক্সের মান ক্রমাগত বৃদ্ধি পেয়েছে। কিন্তু দৃশ্যমান এই গুণমান অর্জনের প্রতিটি ধাপেই কন্টেন্ট তৈরি করার প্রক্রিয়া আরো জটিল এবং ব্যয়বহুল হয়ে উঠেছে। ফলাফল, বড় গেমগুলোর বাজেট অনেকগুণ করে বৃদ্ধি পেতে থাকল, একেকটি গেমের পেছনে ডেভেলপমেন্টের সময়ও অনেক বেড়ে গেল। তাছাড়া র্যাস্টারাইজেশন কৌশল অবলম্বন করে তৈরি করা গেমগুলোর ভিজ্যুয়াল অনেক অপূর্ণতা রয়েছে। গেমের গ্রাফিক্সের গুণমান ক্রমাগত বৃদ্ধি পেতে থাকলেও তা ঠিক বাস্তব পৃথিবীর স্বাদ দিতে পারছে না। এই সমস্যা সমাধানেই এলো রে-ট্রেসিং কৌশল।
‘রে-ট্রেসিং’ শব্দটি অনেকের কাছে অপরিচিত লাগলেও এই কৌশল ব্যবহার করে সম্পাদন করা কন্টেন্ট দেখেনি এমন খুব কম মানুষই রয়েছে। এই কৌশলটি পদার্থবিজ্ঞান মেনে বাস্তব পৃথিবীতে আলো যেভাবে কাজ করে অনেকটা সেরকম।
আধুনিক চলচ্চিত্রগুলোতে রে-ট্রেসিং ব্যবহার করে স্পেশাল ইফেক্ট তৈরি এবং তার গুণগত মান বৃদ্ধি করা হয়। ব্লকবাস্টার সায়েন্স ফিকশন বা একশনধর্মী ফিল্মগুলোতে বাস্তব পৃথিবীর মতো আলোর যে কারুকাজ থাকে তা রে-ট্রেসিং কৌশলেরই অবদান। এই কৌশলের ফলেই সিনেমাগুলোতে বিস্ফোরণ বা আগুনের মতো স্পেশাল ইফেক্ট এত বেশি বাস্তবসম্মত মনে হয়।
চলচ্চিত্র স্টুডিওগুলো তাদের একাধিক রেন্ডার ফার্মে অনেকগুলো কম্পিউটারে অনেক সময় ব্যয় করে রে-ট্রেস করা একেকটি ফ্রেম তৈরি করে। কিন্তু ভিডিও গেমে এত সময়সাপেক্ষ কৌশলটি ঠিক কার্যকর হয়ে উঠছিল না। একটা গেমে প্রতি সেকেন্ডে কমপক্ষে ত্রিশটি ফ্রেমের কাজ সম্পন্ন করতে হয়। কম্পিউটার হার্ডওয়্যারের রে-ট্রেস করে এত কম সময়ে এতগুলো ফ্রেম তৈরি করার মতো যথেষ্ট ক্ষমতা ছিল না। তাই দ্রুততার কথা বিবেচনা করে বেশিরভাগ গেমেই র্যাস্টারাইজেশন কৌশল অবলম্বন করেছে।
র্যাস্টারাইজেশন যেভাবে কাজ করে
অনেক দ্রুত কর্মক্ষম হওয়ার ফলেই দীর্ঘসময় ধরে ত্রিমাত্রিক বস্তুকে দ্বিমাত্রিক স্ক্রিনে ফুটিয়ে তোলার জন্যে র্যাস্টারাইজেশন কৌশল ব্যবহৃত হয়ে আসছে। এই পদ্ধতিতে কোনো দৃশ্যকে অসংখ্য ভার্চুয়াল ত্রিভুজ বা বহুভুজের সমষ্টিতে রুপান্তর করা হয়। প্রতিটি বহুভুজের শীর্ষবিন্দু ভিন্ন আকার-আকৃতির অন্য একটি বহুভুজের শীর্ষবিন্দুর সাথে ছেদ করে। এরকম শীর্ষবিন্দুগুলোতে অনেক তথ্য থাকে, যেমন- ত্রিমাত্রিক স্পেসে এর অবস্থান, রং, টেক্সচার এবং যে অভিমুখ থেকে বস্তুর তল প্রত্যক্ষ করা হচ্ছে তার প্রকৃতি।
কম্পিউটার এরপরে ত্রিমাত্রিক মডেলের এই ত্রিভুজগুলোকে দ্বিমাত্রিক স্ক্রিনের পিক্সেলে রুপান্তর করে। প্রতিটি পিক্সেল ত্রিভুজগুলোর শীর্ষবিন্দু থেকে নেওয়া তথ্যগুলো ধারণ করে। একটি দৃশ্যে আলোর উপস্থিতি অনুযায়ী পিক্সেলের রং কীভাবে, কতটুকু পরিবর্তিত হচ্ছে তার সাথে টেক্সচারের (বস্তুর তল যে উপাদান দ্বারা গঠিত তার গঠনবিন্যাস) সমন্বয় করে পিক্সেলের চূড়ান্ত রংটি নির্ধারিত হয়।
একটি দৃশ্যের সবগুলো উপাদানের এরকম নকশা তৈরি করতে মিলিয়ন সংখ্যক বহুভুজ থাকতে পারে। সাধারণত একটি ফোর-কে (4K) রেজ্যুলেশনের স্ক্রিনে প্রায় আট মিলিয়ন পিক্সেল থাকে এবং প্রতিটি ফ্রেমের জন্যে সাধারণত স্ক্রিন ত্রিশ থেকে নব্বইবারের মতো রিফ্রেশ হতে পারে। তাই এতগুলো ক্ষুদ্র ক্ষুদ্র বহুভুজের হিসেব রাখা অনেক বেশি কর্মযজ্ঞের ব্যাপার হয়ে দাঁড়ায়। এজন্যই আধুনিক কম্পিউটার গেমগুলো তাদের উন্নত গ্রাফিক্সের কাজ সম্পাদনের জন্যে শক্তিশালী গ্রাফিক্স প্রসেসরের (জিপিইউ) উপর নির্ভরশীল।
র্যাস্টারাইজেশন পদ্ধতিতে কোনো দৃশ্যের প্রতিটি অংশের কোথায় কী পরিমাণ আলোর উপস্থিতি থাকবে তার একটি নকশা তৈরি করা হয়। এই নকশাকে শ্যাডো ম্যাপ বলা হয়। এভাবে ভিউ ক্যামেরার কাছ থেকে দূর পর্যন্ত একটির পর একটি শ্যাডো ম্যাপ তৈরি করা হতে থাকে, যেগুলো পর্যায়ক্রমে দৃশ্যের দূরবর্তী আরো বড় অংশ ধারণ করে। নিচের ছবিতে এরকমই একটি উদাহরণ দেখানো হলো।
যেহেতু সবগুলো শ্যাডো ম্যাপের রেজ্যুলেশন একই, তাই ভিউক্যামেরা থেকে যত দূরে যাওয়া যায় পিক্সেল ঘনত্ব ততই কমতে থাকে। এভাবে দৃশ্যের যে উপাদানটি ক্যামেরার যত কাছে তার রেজ্যুলেশন তত বেশি থাকে।
যখন একটা দৃশ্য স্ক্রিনে ফুটিয়ে তোলা হয় তখন ক্যামেরা থেকে দূরত্ব অনুযায়ী সেই দৃশ্যের প্রতিটি অংশের জন্যে উপযুক্ত শ্যাডো ম্যাপটি বাছাই করা হয়। এভাবে একটি বস্তু যখন ভিউ ক্যামেরা থেকে অনেক দূরে অবস্থান করবে তখন স্ক্রিনে জায়গাও কম নেবে এবং এর ফলে কম শ্যাডো ডিটেইলের প্রয়োজন পড়বে।
রে-ট্রেসিং গবেষণা
বাস্তব পৃথিবীতে আমরা যে বস্তুগুলো দেখি সেগুলো আলোর উৎস দ্বারা আলোকিত থাকে আর আমাদের চোখে আসার পূর্ব পর্যন্ত রশ্মিগুলো এক বস্তু থেকে আরেক বস্তুতে প্রতিফলিত হতে থাকে। এভাবে বস্তুগুলোতে রঙয়ের বৈচিত্র্যময় কারুকাজ সৃষ্টি হয়।
আলোর প্রধানত তিন ধরনের কার্যক্রম দেখা যায়। যেসব জায়গায় আলো কোনোকিছু দ্বারা বাঁধা পায় সেখানে শ্যাডো তৈরি হয়। আবার আলো এক বস্তু থেকে প্রতিফলিত হয়ে দিক পাল্টাতে পারে। আর অর্ধস্বচ্ছ কোনো বস্তু যেমন পানি অতিক্রম করলে এর গতি পরিবর্তন হয়, যার ফলে বেঁকে যায়। একে প্রতিসরণ বলে।
রে-ট্রেসিং আলোর এই ক্রিয়াগুলোই অনুসরণ করে। এই কৌশলটি সর্বপ্রথম আইবিএমের আর্থার এপেল ১৯৬৯ সালের একটি পেপারে বর্ণনা করেন। এখানে দ্বিমাত্রিক স্ক্রিনের প্রতিটি পিক্সেলে কোনো ত্রিমাত্রিক দৃশ্যের আলো রে-ট্রেস করার পদ্ধতি বর্ণনা করা হয়। পরের সবচেয়ে বড় সাফল্যটি এসেছিল ১৯৭৯ সালে টারনার হুইটেডের (বর্তমানে এনভিডিয়া রিসার্চে কাজ করেন) একটি পেপারে। তিনি এখানে বাস্তব পৃথিবীর মতো করে কীভাবে প্রতিফলন, শ্যাডো বা প্রতিসরণ ইফেক্ট তৈরি করতে হয় তা বর্ণনা করেন।
হুইটেডের বর্ণনা অনুযায়ী, যখন আলোকরশ্মি কোনো তলে বাঁধা পায় সে-ই তলের রং এবং টেক্সচার আলোর বিভিন্ন অবস্থার উপর প্রভাব ফেলে। রশ্মিটি যদি অনেকগুলো বস্তুর তলে আঘাত বা অতিক্রম করে আসে তাহলে পিক্সেলের চূড়ান্ত রঙে ওই সবকয়টি তলের রং এবং অন্যান্য আলোক তথ্য অবদান রাখবে।
১৯৮৪ সালে লুকাসফিল্মের রবার্ট কুক, টমাস পোর্টার এবং লোরেন কারপেন্টার রে-ট্রেসিং ব্যবহার করে চলচ্চিত্রে কীভাবে মোশন ব্লার, ডেপথ অব ফিল্ডসহ অন্যান্য ইফেক্ট তৈরি করা যায় তা ব্যাখ্যা করেন, যা তখন পর্যন্ত ক্যামেরার কারসাজি ছাড়া সম্ভব ছিল না। দুই বছর পরে ক্যালটেকের প্রফেসর জিম কাজিয়ার পেপার ‘দ্য রেন্ডারিং ইকুয়েশন’ এই গবেষণাকে আরো নতুন মাত্রা দান করে।
রে-ট্রেসিং যেভাবে কাজ করে
রে-ট্রেস পদ্ধতিতে আলোর উৎসের দিক থেকে একটি করে রশ্মি নিক্ষেপ করা হয়। এরপর তাদেরকে অনুসরণ করা হয় তারা ঠিক কোন কোন তলে আঘাত করেছে বা প্রতিফলিত হয়েছে। এরকম প্রতিটি তলের প্রতিফলন এবং সেই তলের টেক্সচারের সমন্বয়ে রশ্মিগুলোর রং এবং আলোর পরিমাণের তারতম্য ঘটে। রশ্মিগুলো সেই দৃশ্য থেকে বের হয়ে যাওয়া পর্যন্ত তাদেরকে অনুসরণ করা হয়।
প্রক্রিয়াটি শুনতে সহজ মনে হলেও তা প্রয়োগ করতে অনেক বেশি হিসাব-নিকাশের প্রয়োজন হয়। কারণ বেশিরভাগ আলোকরশ্মিই কোনো তলে আঘাত করে না এবং অনেকগুলো রশ্মি অনির্দিষ্টভাবে ঘুরপাক খেতে থাকে, যেগুলো দৃশ্যের আলোর কারুকার্য তৈরিতে তেমন গুরুত্বপূর্ণ নয়। এসব অপ্রয়োজনীয় রশ্মি অনুসরণ করা তাই সময় এবং শক্তির অপচয়। এজন্য পদ্ধতিটি ভিন্নভাবে প্রয়োগ করা হয়।
আলোকবিদ্যার একটি বিশেষ নীতি আছে ‘রিসিপ্রোসিটি’ নামে, যা ব্যাখ্যা করে একটি আলোকরশ্মি উৎস থেকে নির্গত হয়ে দর্শকের চোখ পর্যন্ত যেতে যে পথ ব্যবহার করে, একই পথ ব্যবহার করে যদি উল্টোদিকে অর্থাৎ দর্শকের চোখ থেকে উৎসের দিকে ফেরত যাওয়া যায় তাহলে রশ্মিটির কোনো গুণগত পরিবর্তন হবে না। এই পদ্ধতি অনুসরণ করে দৃশ্যে যেসব রশ্মি আলোর কারুকাজে অবদান রাখে শুধুমাত্র তাদেরকেই নিক্ষেপ করা হয়। এভাবে উল্টোদিকে নিক্ষেপিত কোনো রশ্মি যদি উৎস পর্যন্ত পৌঁছায় তাহলে তলটি আলোকিত হিসেবে ধরে নেওয়া হয় এবং এভাবে সেই রশ্মির যাতায়াতে ব্যবহার করা পথের একটি নকশা তৈরি করা হয়। যদি উৎস পর্যন্ত পৌঁছানোর আগেই রশ্মিটি অন্যকিছুকে আঘাত করে, তখন ঐ তলকে অন্ধকার বা ছায়াযুক্ত তল হিসেবে ধরে নেওয়া হয়। এই পদ্ধতিতে বাস্তব পৃথিবীর মেঘমুক্ত কোনো দিনের মতো অনেক গাঢ় ছায়া তৈরি করা যায়। এভাবে রে-ট্রেসিং কৌশলের কর্মক্ষমতা অনেক বৃদ্ধি করা যায়। একটি নির্দিষ্ট রশ্মির জন্যে ঠিক কতটুকু আলো প্রতিফলিত বা পরিবর্তিত হবে তা-ও ঠিক করে দেওয়া হয়।
কিন্তু বাস্তব পৃথিবীর বেশিরভাগ রঙেই আলো আর অন্ধকারের একটি মিশেল রয়েছে। এ ধরনের আলো-ছায়ার মিশ্রণকে ‘পেনামব্রা’ বলা হয়। আলোকবিদ্যার বিভিন্ন নীতি অনুসরণ করে এই পেনামব্রাগুলো তৈরি হয়। অনেক গেমে আলোর উৎসকে তল ও মাত্রাহীন বিন্দু উৎস হিসেবে নকশা করা হয়। কিন্তু বাস্তবে সব আলোক উৎসেরই নিজস্ব তল রয়েছে। উৎসের এই তলগুলোও বস্তুর উপর আলোর প্রভাবকে বৈচিত্র্যময় করে তোলে।
আলো যখন কোনো বস্তুতে বাঁধা পায় তার বিপরীতে সম্পূর্ণ অন্ধকার অঞ্চল তৈরি হয়। এই অন্ধকার অঞ্চল থেকে দূরে যেতে থাকলে ধীরে ধীরে সম্পূর্ণ আলোকিত অঞ্চলে পৌঁছানো যায়। সম্পূর্ণ আলোকিত আর সম্পূর্ণ অন্ধকার অঞ্চলের মাঝের অংশেই তৈরি হয় পেনামব্রা অঞ্চল। আলোক উৎসের ব্যাসার্ধ, উৎস থেকে তলের দূরত্ব এবং বাধা দেওয়া বস্তু থেকে তলের মধ্যকার দূরত্ব ব্যবহার করে পেনামব্রার আকার বের করা যায়। এভাবে একটি এলগরিদম ডেভেলপ করা হয়। এই এলগরিদমে আরো অনেক উপাদান, যেমন- অর্ধ-স্বচ্ছ সারফেসে আলো কীভাবে প্রতিসরিত হবে তার নিয়ম যোগ করা হয়।
এবার একটা ঘর কল্পনা করে নেওয়া যাক, যার একমাত্র জানালা দিয়ে সূর্যের আলো সেই ঘরে প্রবেশ করছে। সাধারণ র্যাস্টারাইজেশনের কৌশল মেনে যদি এই ঘরের উপাদানগুলোর মধ্যে আলোর পরিমাণ এবং প্রকৃতি প্রয়োগ করা হয় তাহলে দেখা যাবে যে বস্তুতে আলো বাঁধা পেয়েছে শুধুমাত্র সেই বস্তুটিই সরাসরি আলোকিত হয়েছে। কিন্তু বাস্তব পৃথিবীতে দেখা যায়, যে বস্তুটি উৎস দ্বারা আলোকিত সেই বস্তু থেকেও কিছু আলো নির্গত হয়। এভাবে তার চারপাশে এক কোমল পেনামব্রা অঞ্চল তৈরি হয়। রে-ট্রেসিং ব্যবহার করে এরকম বাস্তব পৃথিবীর মতো আলো তৈরি করা সম্ভব।
আলোকবিদ্যায় ‘কস্টিকস’ নামের একটি নীতি রয়েছে। এই নীতি অনুযায়ী কোনো বাঁকানো তলে আলো প্রতিফলিত বা প্রতিসরিত হয়ে অন্য একটি তলে বিশেষ ধরনের অভিক্ষেপ তৈরি করে। সাধারণত পানির তলে ঢেউয়ের ওঠানামার ফলে এরকম চমকপ্রদ দৃশ্য দেখা যায়। রে-ট্রেসিং ব্যবহার করে আলোর এরকম সুন্দর কারুকাজগুলো কম্পিউটার স্ক্রিনে তুলে ধরা সম্ভব।
এতগুলো প্রক্রিয়া অনুসরণ করা বিশাল কর্মযজ্ঞের ব্যাপার। তাই একটা নির্দিষ্ট গুণমানের লেভেল ধরে সিদ্ধান্ত নেওয়া হয় প্রতিটি পিক্সেল থেকে বিভিন্ন দিকে ঠিক কতগুলো রশ্মি নিক্ষেপ করা হবে। রশ্মিগুলো দৃশ্যের কোথায় কোন তলে ছেদ করে তার হিসাব রাখা হয়। এরপরে প্রতিটি ছেদকৃত অংশ থেকে ঠিক কতটুকু প্রতিফলিত আলো নির্গত হবে তা নির্ণয় করা হয়। কিছুদিন আগেও এই হিসাবগুলো কম্পিউটারের কেন্দ্রীয় প্রসেসরেই করা হত, কিন্তু বর্তমানে জিপিইউও এই হিসেবগুলো করার ফলে রে-ট্রেসিংয়ের গতি অনেক বেড়ে গেছে। তারপরেও হলিউড ফিল্মের গুণমান অর্জনের জন্য মিনি সুপার কম্পিউটারে প্রতি ফ্রেমের জন্যে ১০ ঘণ্টা করে সময়ের প্রয়োজন হয়।
রে-ট্রেসিং এত সময়সাপেক্ষ হওয়ায় গেমের মতো এপ্লিকেশনে তা প্রয়োগ করা যাচ্ছিল না। এখন পর্যন্ত এসব ক্ষেত্রের রেন্ডারিংয়ে সবসময় র্যাস্টারাইজেশনের উপর নির্ভর থাকলেও অনেক ক্ষেত্রেই তা আশানূরুপ ফলাফল দিচ্ছিল না। সম্প্রতি জিপিইউ নির্মাতা কোম্পানি এনভিডিয়া তাদের নতুন আরটিএক্স সিরিজে রিয়েল টাইম রে ট্রেসিং রেন্ডারের সুবিধা দিয়ে নতুন যুগের সূচনা করেছে।
নিচের ভিডিওতে রে-ট্রেসিং ব্যবহার করে ‘শ্যাডো অব দ্য টুম্ব রেইডার’ গেমের কিছু দৃশ্য দেখানো হলো।
নতুন প্রযুক্তি
সময়ের সাথে জিপিইউ যেভাবে শক্তিশালী হয়ে উঠছে তাতে অবধারিতভাবেই রে-ট্রেসিং কৌশল প্রায়োগিক জীবনে অবদান রাখা জরুরি হয়ে উঠছিল। যেমন: শক্তিশালী রে-ট্রেসিং টুল ব্যবহার করে প্রোডাক্ট ডিজাইনার এবং স্থপতিরা তাদের নকশায় আলোকচিত্রের মতো বাস্তবসম্মত লাইটিং ফুটিয়ে তোলেন। এরপরে ভিডিও গেমে এই রে-ট্রেসিং কৌশল ব্যবহার করা কেবলই সময়ের দাবি হয়ে উঠেছে।
গত জিডিসি (গেম ডেভেলপার কনফারেন্স) ২০১৮ সম্মেলনে এনভিডিয়া তাদের নতুন ‘এনভিডিয়া আরটিএক্স’ জিপিইউ সিরিজের ঘোষণা দিয়েছে যাতে রে-ট্রেসিং ইঞ্জিন অন্তর্ভুক্ত করা হয়েছে। এই প্রযুক্তি রে-ট্রেস করা কোনো দৃশ্য গেম উপযোগী অতি দ্রুত রেন্ডার করতে সক্ষম। এনভিডিয়া এক্ষেত্রে সফটওয়্যার সাপোর্টের জন্য মাইক্রোসফটের সাথে একত্রিত হয়েছে। মাইক্রোসফটের ডিএক্সআর রে-ট্রেসিং এর জন্যে সফটওয়্যার সহযোগিতা দিয়েছে। এনভিডিয়া ‘ব্যাটলফিল্ড ফাইভ’সহ একুশটি গেমের নামও প্রকাশ করেছে যেসব গেমে রে-ট্রেইসিংয়ের নিয়ম মেনে ডেভেলপমেন্টের কাজ চলছে।
এই নতুন প্রযুক্তি গেম নির্মাতাদের নিজেদের কাল্পনিক দুনিয়ায় বাস্তব পৃথিবীর মতো করে আলোর বিভিন্ন ইফেক্ট তৈরি করার সামর্থ্য দিয়েছে। এই প্রযুক্তির মাধ্যমেই ধীরে ধীরে ভবিষ্যতে এমন গেম নির্মাণ হবে যা বাস্তব পৃথিবী আর কল্পনার জগতের মাঝের তফাতকে ঘুচিয়ে আনবে।