public?void RecursRender(?TriTreeNode?tri,?int?leftX,?int?leftY,?int?rightX,?int?rightY,?int?apexX,?int?apexY,?GL10?gl?){
//方法定義時(shí)使用GL10?gl作為參數(shù)沒有報(bào)錯(cuò)
????????????????????????????????if?(?tri.LeftChild?!=?null?)
int?centerX?=?(leftX?+?rightX)>>1;
int?centerY?=?(leftY?+?rightY)>>1;
RecursRender(?tri.LeftChild,??apexX,???apexY,?leftX,?leftY,?centerX,?centerY,?GL10?gl?);
RecursRender(?tri.RightChild,?rightX,?rightY,?apexX,?apexY,?centerX,?centerY,?GL10?gl?);
}//在此處迭代調(diào)用該函數(shù)時(shí),參數(shù)GL10?gl處提示錯(cuò)誤GL10?cannot?be?resolved?to?a?variable
else
{
//?Actual?number?of?rendered?triangles...
landscape.gNumTrisRendered++;
float?leftZ??=?m_HeightMap[(leftY?*MAP_SIZE)+leftX?];
float?rightZ?=?m_HeightMap[(rightY*MAP_SIZE)+rightX];
float?apexZ??=?m_HeightMap[(apexY?*MAP_SIZE)+apexX?];
List<Float>?coordsList?=?new?ArrayList<Float>();
coordsList.add((float)leftX);
coordsList.add((float)leftY);
coordsList.add(leftZ);
coordsList.add((float)rightX);
coordsList.add((float)rightY);
coordsList.add(rightZ);
coordsList.add((float)apexX);
coordsList.add((float)apexY);
coordsList.add(apexZ);????????????//將三角形三個(gè)點(diǎn)存入待繪制頂點(diǎn)序列
gl.glVertexPointer(3,?GL10.GL_FLOAT,?0,?BufferUtil.list2ByteBuffer(coordsList));
gl.glDrawArrays(GL10.GL_LINE_LOOP,?0,?coordsList.size()/3);
}
}總結(jié)一下,問題就是1.OpenGL ES庫里的GL10 gl這個(gè)參數(shù)可以用來自己定義繪制方法么?2.如果可以,那為什么在迭代函數(shù)里不能第二次調(diào)用呢?慕課上肯定有做移動(dòng)端3D游戲的大神吧?小弟誠心求助!
添加回答
舉報(bào)
0/150
提交
取消