একটি প্রজেকশন রূপান্তরের জন্য ডাটা আপনার GLSurfaceView.Renderer ক্লাসের onSurfaceChanged()পদ্ধতির মধ্যে ক্যালকুলেট হয়। নিম্নোক্ত উদাহরণ কোড GLSurfaceView এর উচ্চতা এবং দৈর্ঘ্য নেয় এবং Matrix.frustumM()পদ্ধতি ব্যবহার করে একটি প্রজেকশন ট্রান্সফর্মেশন Matrix পূর্ন করতে এটা ব্যবহার করে:
@Override
public void onSurfaceChanged(GL10 unused, int width, int height) {
GLES20.glViewport(0, 0, width, height);
float ratio = (float) width / height;
// this projection matrix is applied to object coordinates
// in the onDrawFrame() method
Matrix.frustumM(mProjectionMatrix, 0, -ratio, ratio, -1, 1, 3, 7);
}
এই কোড একটি প্রজেকশন মেট্রিক্স mProjectionMatrix পূর্ন করে যা আপনি পরবর্তীতে onDrawFrame()পদ্ধতির মধ্যে একটি ক্যামেরা ভিউ রূপান্তরের সাথে মিলিত করতে পারবেন, যা পরবর্তী অধ্যায়ে আলোচনা করা হবে।
নোট: আপনার অংকিত অবজেক্টে শুধু একটি প্রজেকশন ট্রান্সফর্মেশন প্রয়োগ করার সাধারন ফলাফল হচ্ছে একটি খালি ডিসপ্লে। সাধারণভাবে, স্ক্রিনে কোন কিছু প্রদর্শনের জন্য আপনাকে অবশ্যই একটি ক্যামেরা ভিউ ট্রান্সফর্মেশন প্রয়োগ করতে হবে।