2012-07-01 7 views
5

पर नहीं बुलाया जा रहा है मुझे एक समस्या है जहां रेंडरर ऑब्जेक्ट को बिल्कुल नहीं मिला है। डीबगर कभी भी समारोह के अंदर ब्रेकपॉइंट हिट नहीं करता है। इस प्रकार, मेरा वर्ग ड्राइंग नहीं कर रहा है।ऑनड्राफ्रेम को एंड्रॉइड

public class renderer implements GLSurfaceView.Renderer { 

Square square; 

public void onDrawFrame(GL10 unused) { 
    GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT); 
    square.Draw(); 
} 

public void onSurfaceChanged(GL10 gl, int width, int height) { 
    GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT); 
} 

public void onSurfaceCreated(GL10 unused, int width, int height) { 
    GLES20.glViewport(0, 0, width, height); 

} 

public void onSurfaceCreated(GL10 gl, EGLConfig config) { 
    square = new Square(5, 5); 

} 

मुख्य गतिविधि है:

public class gameActivity extends Activity { 
/** Called when the activity is first created. */ 

private GLSurfaceView mGLView; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    staticHolder.context = getApplicationContext(); 
    mGLView = new GLSurface(this); 
    setContentView(mGLView); 
} 
@Override 
protected void onPause() { 
    super.onPause(); 
    // The following call pauses the rendering thread. 
    // If your OpenGL application is memory intensive, 
    // you should consider de-allocating objects that 
    // consume significant memory here. 
    mGLView.onPause(); 
} 

@Override 
protected void onResume() { 
    mGLView.onResume(); 
} 


class GLSurface extends GLSurfaceView 
{ 
    renderer r = new renderer(); 
    public GLSurface(Context context) 

    { 
     super(context); 

     setEGLContextClientVersion(2); 
     setRenderer(r); 
     setRenderMode(GLSurfaceView.RENDERMODE_CONTINUOUSLY); 
    } 
} 

}

वर्तमान में स्क्रीन सिर्फ काला है यहाँ कोड है, तो आप कुछ और की जरूरत है मुझे पता है। क्या कोई विचार है कि ओपनजीएल सही तरीके से क्यों नहीं रेंडर कर रहा है?

+0

अपने कार्यक्रम में अन्य ब्रेकपॉइंट्स काम करते हैं? यदि आप ड्रॉफ्रेम की पहली पंक्ति में 'glClearcolor (1,0,1,1) 'जोड़ते हैं, तो क्या यह अभी भी काला है? क्या कोई अन्य रेंडरर कॉलबैक आग करता है? – Tim

+0

GLES20.glClearColor (1, 0, 1, 1) ;, कुछ भी नहीं करता –

+0

क्या अन्य रेंडरर कॉलबैक कॉल किए जाते हैं? onSurfaceCreated या onSurfaceChanged? – Tim

उत्तर

3

ठीक है, यह वास्तव में बेवकूफ था लेकिन शुरुआत करने में कोई समस्या नहीं थी। मुद्दा यह है कि ग्रहण/जावा सी # और अन्य भाषाओं की अस्पष्टता की परवाह नहीं करता है (हालांकि मुझे गलत होने पर सही करें)। मुद्दा यह था कि मैं एक ही कक्षा को अलग-अलग स्थानों में डुप्लिकेट करने में कामयाब रहा, एक अपडेटेड और दूसरा नहीं। अंत परिणाम यह था कि यह पहले व्यक्ति को पकड़ रहा था जो इसे मिल सकता था।

सबक सीखा, अस्पष्टता के लिए खुद को देखें क्योंकि संकलक/पार्सर आपको नहीं बताएगा!

संबंधित मुद्दे