একটি মাইনক্রাফ্টিয়ান ওয়ার্ল্ডে আলোকিত


10

মিনক্রাফ্ট এমন একটি গেম যা মূলত হাইটম্যাপের উপর ভিত্তি করে তৈরি হয় এবং হাইটম্যাপের তথ্য ব্যবহার করে আলোকে বিশ্বকে প্লাবিত করে। আমার বোধগম্যতা থেকে উচ্চতা মানচিত্রের সর্বোচ্চ পয়েন্টটি হল সূর্যালোক প্রভাবিত অঞ্চলটির সমাপ্তি। উপরের সমস্ত কিছু সূর্যের আলো দ্বারা আলোকিত, এর নীচে সমস্ত কিছু 8 ব্লকের ব্যাসার্ধের কাছাকাছি আলো দ্বারা প্রভাবিত হয়।

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

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

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

আমার এখনও থ্রিডি গ্রাফিক্সের সীমাবদ্ধ বোঝাপড়া থেকে মাইনক্রাফ্টের মতো একটি পৃথিবী আলোকিত করা সবচেয়ে বড় সমস্যা হওয়া উচিত নয়। কীভাবে সমস্যা মোকাবেলা করবেন?

আমি মনে করি একটি ভক্সেল ওয়ার্ল্ডে আলো দেওয়ার জন্য প্রাথমিক প্রয়োজনীয়তাগুলি হবে

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

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

উত্তর:


7

মাইনক্রাফ্টে আলোকসজ্জা অ্যাসিক্রোনাল দিয়ে গণনা করা হয় এবং জ্যামিতিতে বেক করা হয়। এটি রিয়েলটাইমে করা হয় না।

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

: আরো তথ্য তার ব্লগে পাওয়া যায় http://notch.tumblr.com/post/434902871/per-request-this-is-how-the-new-lighting-will-work


আমি জানি. আমি মনে করি আমি এটি উপরে লিখেছি (উজ্জ্বলতা 4 বিট রেজোলিউশন বিয়োগ)।
আর্মিন রোনাচার

1

আপনি টেক্সচারে জিপিইউ রেন্ডার ব্যবহার করতে পারবেন না এবং আপনার ফলাফলগুলিকে ডাবল-বাফার করতে পারেন যাতে আপনার কাছে সর্বদা প্রতিটি ফ্রেম রিড-ব্যাক করার জন্য গণনা করা আলোকিত তথ্য উপলব্ধ থাকে?

আলোকপাতের জন্য আপনি কীভাবে এই ডেটাটিকে সংগঠিত করেছিলেন তা সম্পূর্ণভাবে আপনার উপর নির্ভর করে তবে আমি দেখতে পাচ্ছি না যে আপনি যা করতে চাইছেন তা সবই আপনার আলোক আলগোরিদমের গতি উন্নত করে যদি তদন্তের জন্য এটি প্রথম বিকল্প না হয় তবে ..?


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

1

রিয়েল-টাইম রেন্ডারিং লোকেরা মাইনক্রাফ্টের সাথে কিছুটা প্রেমের সম্পর্ক রয়েছে বলে মনে হয়। তারা কীভাবে আলোকসজ্জাটি এখনও আবিষ্কার করতে পারেনি সে সম্পর্কে একটি মন্তব্য ছিল .. তবে আপনি আরও বিকাশ / লিঙ্কগুলির জন্য সামঞ্জস্য থাকতে চান।

http://www.realtimerendering.com/blog/?s=minecraft

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