"মেককন্টেক্সট্রন্ট" ঠিক কী করে?


12

আমি এই ফাংশন সম্পর্কে বেশ বিভ্রান্ত। GLFW প্রসঙ্গ রেফারেন্স নীচে বলে:

এই ফাংশনটি কলিং থ্রেডে নির্দিষ্ট উইন্ডোটির ওপেনজিএল বা ওপেনজিএল ইএস প্রসঙ্গটি তৈরি করে। একটি প্রসঙ্গ কেবল একবারে একটি থ্রেডে বর্তমান করা যায় এবং প্রতিটি থ্রেডে একসাথে কেবলমাত্র একটি বর্তমান প্রসঙ্গ থাকতে পারে।

তবে এটি আমার খুব বেশি উপকার করে না।
এটি কি glBind-পদ্ধতির মতো কাজ করতে পারে ? (glBindBuffer, glBindVertexArray এবং আরও কিছু)

উত্তর:


21

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

আপনি যখন বর্তমান প্রসঙ্গটি সেট করেন, আপনি পুরানো প্রসঙ্গ থেকে সমস্ত প্রসঙ্গে নতুন প্রসঙ্গে স্যুইচ করছেন। এখানে একটি উদাহরণ:

glfwMakeContextCurrent(window1);
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, texture1);

glfwMakeContextCurrent(window2);

এটি যা করে তা হ'ল window1বর্তমানের প্রসঙ্গকে । এরপরে এটি 2 ডি টেক্সচার ইউনিটকে সক্ষম করে এবং এর সাথে আবদ্ধ texture1হয়।

পরবর্তী এটি window2বর্তমানের প্রেক্ষাপট তৈরি করে । যদি আপনি GL_TEXTURE_2Dএটির সক্ষম হওয়া রাষ্ট্রটি যাচাই করে দেখেন তবে এটি মিথ্যা হবে (যদি আপনি পূর্বে window2প্রসঙ্গে এটি সক্ষম না করেন )। তেমনিভাবে, আপনি যদি কোনও টেক্সচার 2 ডি টেক্সচার ইউনিটের সাথে আবদ্ধ হয় তা পরীক্ষা করেন তবে আপনি সম্ভবত কোনও টেক্সচার আবদ্ধ নয়, বা texture1আবদ্ধ ছাড়া অন্য কিছু অঙ্গবিন্যাসকে দেখতে পাবেন ।

মূলত সমস্ত অঙ্কন বর্তমান প্রসঙ্গে ঘটে। আপনি যদি কোনও ভিন্ন প্রসঙ্গে বর্তমান করেন, তবে সমস্ত অঙ্কন এখন সেই প্রসঙ্গে ঘটবে।

মাল্টি-থ্রেড ওপেনএল অ্যাপ্লিকেশনটিতে থ্রেড প্রতি একক প্রসঙ্গ থাকা সাধারণ। এইভাবে প্রতিটি থ্রেড তার নিজস্ব প্রসঙ্গে আঁকছে এবং অন্যান্য থ্রেডে প্রসঙ্গের অবস্থার সাথে গোলমাল করবে না।


1
আমার কাছে 15 টির বেশি স্কোর পয়েন্ট নেই তাই আমি আপনার দুর্দান্ত উত্তরটি ভোট দিতে পারব না। ধন্যবাদ !!!
অ্যাড্রিয়ান

1
কোন চিন্তা করো না. আমি সাহায্য করতে পেরে আনন্দিত.
ব্যবহারকারী 1118321

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