私はAndroid上でOpenGLを学んでいます。私はGlSurfaceViewは、レイアウトXML(フラグメント...)で宣言されているアプリGlSurfaceViewレンダラーが呼び出されていない
<FrameLayout
android:id="@+id/framelay"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<com.nelsondev.myha3ogl.M3View
android:id="@+id/m3SurfView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
</FrameLayout>
を書いた...そしてそのコンストラクタにレンダラが設定されている:
public M3View(Context context, AttributeSet attrs) {
super(context, attrs);
renderer = new M3Renderer(context);
setRenderer(renderer);
}
アクティビティがonResume/onPauseを受け取ると、GlSurfaceViewメソッドが正しく呼び出されています。 しかし、レンダラは決して開始されていません!のブレークポイントonSurfaceCreated()などのレンダラー内の他のメソッドはヒットせず、何もレンダリングされません。ここで何が起こっているのかをどうやって把握するのですか?
実は、私はちょうどチェックして、私はあなたの前の質問に対する私の答えは間違っていたと思うし、それは実際に、(スタート)GLSurfaceViewに呼び出されたときにそれを'setRenderer'が呼び出されたときではなく、GLSurfaceViewをframelayの子として/ graphics.xml内の' setContentView(framelay) 'または' setContentView(R.layout.graphics) 'と呼ぶとき) –
コンストラクタが呼び出されていますか? – Jave
GLSurfaceViewで 'requestRender()'を呼び出して描画するかどうか確認できますか? – Jasoneer