জিএলএসএলে টেক্সচার ব্যবহার করার সময়, ভার্টেক্স শ্যাডারে চূড়ান্ত টেক্সচারের স্থানাঙ্কগুলি গণনা করা এবং varying
এস ব্যবহার করে সেগুলি ফ্রেগমেন্ট শেডারে হস্তান্তর করা ভাল । Y স্থানাঙ্কে একটি সাধারণ ফ্লিপ সহ উদাহরণ:
// Vertex shader
attribute vec2 texture;
varying highp vec2 texCoord;
// ...
void main() {
texCoord = vec2(texture.x, 1.0-texture.y);
// ...
}
// Fragment shader
varying highp vec2 textureCoordinates;
uniform sampler2D tex;
// ...
void main() {
highp vec4 texColor = texture2D(tex, texCoord);
// ...
}
যদি y স্থানাঙ্কের মধ্যে ফ্লিপ হয়, বা vec2(0.5)
টেক্সচারের স্থানাঙ্কে যোগ করার মতো আরও সাধারণ অপারেশনটি টুকরা শেডারে করা হয় তবে টেক্সচার অ্যাক্সেসটি খুব ধীর হয়। কেন?
একটি দ্রষ্টব্য হিসাবে, উদাহরণস্বরূপ দুটি টেক্সচার মিশ্রণ, সেগুলির একটি ভারযুক্ত যোগফল ব্যবহার করে সময়ের নিরিখে অনেক কম সস্তা এবং প্রতিটি পিক্সেলের জন্যও করা দরকার, সুতরাং টেক্সচারের সমন্বয়টি নিজেই এত ব্যয়বহুল বলে মনে হয় না।