• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

OpenGL (ES)如何自定义绘制方法?

public void        RecursRender( TriTreeNode tri, int leftX, int leftY, int rightX, int rightY, int apexX, int apexY, GL10 gl ){                        //方法定义时使用GL10 gl作为参数没有报错                                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 );                        }//在此处迭代调用该函数时,参数GL10 gl处提示错误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 coordsList = new ArrayList();                                                                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);            //将三角形三个点存入待绘制顶点序列                                                                gl.glVertexPointer(3, GL10.GL_FLOAT, 0, BufferUtil.list2ByteBuffer(coordsList));                                gl.glDrawArrays(GL10.GL_LINE_LOOP, 0, coordsList.size()/3);                        }                                        }总结一下,问题就是
1.OpenGL ES库里的GL10 gl这个参数可以用来自己定义绘制方法么?
2.如果可以,那为什么在迭代函数里不能第二次调用呢?
慕课上肯定有做移动端3D游戏的大神吧?小弟诚心求助!

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

发新帖

发布任务需求已有1031289位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!