मैं एंड्रॉइड और ओपनजीएल ईएस 2.0 के साथ काम कर रहा हूं और मुझे कोई समस्या है कि मैं वास्तव में एक ठोस प्रश्न में तैयार नहीं हो सकता। छवि में, http://i.imgur.com/XuCHF.png, मैं मूल रूप से बीच में एक जहाज का प्रतिनिधित्व करने के लिए एक आकार है और जब यह पक्ष में स्थानांतरित हो जाता है तो यह गायब बिंदु की तरफ बढ़ जाता है। जो मैं पूरा करना चाहता हूं वह यह है कि जहाज को स्थानांतरित होने पर अपने अधिकांश आकार को बनाए रखना है। मेरा मानना है कि यह मेरे मैट्रिक्स के कारण हो सकता है लेकिन मैंने देखा है कि हर संसाधन एक ही विधि का उपयोग करने लगता है।ओपनजीएल ईएस 2.0 कैमरा मुद्दे
//Setting up the projection matrix
final float ratio = (float) width/height;
final float left = -ratio;
final float right = ratio;
final float bottom = -1.0f;
final float top = 1.0f;
final float near = 1.0f;
final float far = 1000.0f;
Matrix.frustumM(projection_matrix, 0, left, right, bottom, top, near, far);
//Setting the view matrix
Matrix.setLookAtM(view_matrix, 0, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, -1.0f, 0.0f, 1.0f, 0.0f);
//Setting the model matrix
Matrix.setIdentityM(model_matrix, 0);
Matrix.translateM(model_matrix, 0, 2f, 0f, 0f);
//Setting the model-view-projection matrix
Matrix.multiplyMM(mvp_matrix, 0, view_matrix, 0, model_matrix, 0);
Matrix.multiplyMM(mvp_matrix, 0, GL.projection_matrix, 0, mvp_matrix, 0);
GLES20.glUniformMatrix4fv(mvp_matrix_location, 1, false, mvp_matrix, 0);
shaders के साथ-साथ बहुत ही बुनियादी हैं:
private final static String vertex_shader =
"uniform mat4 u_mvp_matrix;"
+ "attribute vec4 a_position;"
+ "void main()"
+ "{"
+ " gl_Position = u_mvp_matrix * a_position;"
+ "}";
private final static String fragment_shader =
"precision mediump float;"
+ "void main()"
+ "{"
+ " gl_FragColor = vec4(0.0, 0.0, 1.0, 1.0);"
+ "}";
किसी भी विचार/अंतर्दृष्टि बहुत सराहना कर रहा है।
धन्यवाद।
इसके लिए धन्यवाद! जब तक मैं इस जवाब से नहीं मिला, तब तक मैं एक सार्थक तरीके से परिप्रेक्ष्य को बदलने का तरीका जानने के लिए अपने सिर पर टक्कर लगी हूं। मैं दृश्य तर्क का क्षेत्र खो रहा था। जब मैंने आपका जवाब देखा तो यूरेका पल था। –