美文网首页
5.1、球、环、圆柱、圆锥、底盘图形创建

5.1、球、环、圆柱、圆锥、底盘图形创建

作者: hie | 来源:发表于2018-12-12 14:00 被阅读0次

    OpenGL 默认提供了几种基本图形的创建,只需传入参数调用即可

        /*球体

         gltMakeSphere(GLTriangleBatch& sphereBatch, GLfloat fRadius, GLint iSlices, GLint iStacks)

         sphereBatch:三角形批次类

         fRadius:球体半径

         iSlices:构成球体的三角形带

         iStacks:每个三角形带的三角形对

         */

        gltMakeSphere(sphereBatch, 3, 20, 40);

        /*甜甜圈(环)

         gltMakeTorus(GLTriangleBatch& torusBatch, GLfloat majorRadius, GLfloat minorRadius, GLint numMajor, GLint numMinor)

         torusBatch:三角形批次类

         majorRadius:外圆半径

         minorRadius:内圆半径

         numMajor:三角形环的数量

         numMinor:每一个三角形环上的三角形对

         */

        gltMakeTorus(torusBatch,3.0f,0.75f,50,40);

        /*圆柱

         gltMakeCylinder(GLTriangleBatch& cylinderBatch, GLfloat baseRadius, GLfloat topRadius, GLfloat fLength, GLint numSlices, GLint numStacks)

         cylinderBatch:三角形批次类

         baseRadius:底面圆半径

         topRadius:顶部圆半径

         numSlices:构成圆柱侧面的三角形带个数

         numStacks:每条三角形带上的三角形对个数

         */

        gltMakeCylinder(cylinderBatch,2.5f,2.5f,5.0f,20,20);

        /*圆锥

            把圆柱的某个面的半径置位0即可

        */

        gltMakeCylinder(coneBatch,2.5f,0.f,3,20,20);

        /*     磁盘

         gltMakeDisk(GLTriangleBatch& diskBatch, GLfloat innerRadius, GLfloat outerRadius, GLint nSlices, GLint nStacks)

         diskBatch:三角形批次类

         innerRadius:内圆半径

         outerRadius:外圆半径

         nSlices:磁盘面的三角形带个数

         nStacks:每个三角形带上的三角形对个数

         */

        gltMakeDisk(diskBatch,2.0f,4.5f,20,10);

    demo

    相关文章

      网友评论

          本文标题:5.1、球、环、圆柱、圆锥、底盘图形创建

          本文链接:https://www.haomeiwen.com/subject/tdnrhqtx.html