织梦CMS - 轻松建站从此开始!

罗索

opengl-es 画圆

落鹤生 发布于 2012-03-14 10:20 点击:次 
#include PVRShell.h #include PVRShellAPI.h #include math.h class CLesson2: public PVRShell { float DegToRad( float deg); public : virtual bool InitApplication(); virtual bool InitView(); virtual bool ReleaseView(); virtual bool QuitApplication(); vi
TAG:

#include "PVRShell.h" 
#include "PVRShellAPI.h" 
#include <math.h> 
 
class CLesson2 : public PVRShell 

    float DegToRad(float deg); 
public
    virtual bool InitApplication(); 
    virtual bool InitView(); 
    virtual bool ReleaseView(); 
    virtual bool QuitApplication(); 
    virtual bool RenderScene(); 
protected
private
}; 
 
bool CLesson2::InitApplication() 

    return true

 
bool CLesson2::QuitApplication() 

    return true

GLuint ui32Vbo = 0
GLuint uiQuatVbo = 0
 
//度到弧度的转换    
float CLesson2::DegToRad(float deg)  

    return (float) (3.14159265358979323846 * deg / 180.0);    

int iS = 720
bool CLesson2::InitView() 

    float vertices[720*3];  
 
    //初始化圆形数据    
    for (int i = 0; i < iS; i ++) {    
        vertices[i*3]   = (float) (cos(DegToRad(i*360/iS)) * 1);// x value 
        vertices[i*3+1] = (float) (sin(DegToRad(i*360/iS)) * 1);// y value 
        vertices[i*3+2] = (float0;// z value 
    } 
     
    glGenBuffers(1, &ui32Vbo); 
    glBindBuffer(GL_ARRAY_BUFFER,ui32Vbo); 
    unsigned int uiSize = 3 * (sizeof(float) * iS);  
    glBufferData(GL_ARRAY_BUFFER, uiSize, vertices, GL_STATIC_DRAW); 
     
    glBindBuffer(GL_ARRAY_BUFFER,0); 
    return true

 
bool CLesson2::ReleaseView() 

    return true

 
PVRShell * NewDemo(void

    return new CLesson2(); 

 
bool CLesson2::RenderScene() 
{     
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 
    static float rotateAngle = 0
    //重置投影矩阵   
    glLoadIdentity();   
    // 移动操作,移入屏幕(Z轴)5个像素, x, y , z   
    glTranslatef(0.0f, 0.0f, -0.2f);   
    //旋转, angle, x, y , z   
    glRotatef(rotateAngle, 0.0f, 1.0f, 0.0f);   
    //打开顶点数组   
    glEnableClientState(GL_VERTEX_ARRAY);   
    glBindBuffer(GL_ARRAY_BUFFER,ui32Vbo); 
    //设置顶点类型为浮点坐标(GL_FLOAT),不设置或者设置错误类型将导致图形不能显示或者显示错误   
    glVertexPointer(3, GL_FLOAT, 00);   
    // 设置当前色为红色, R, G, B, Alpha   
    glColor4f(1.0f, 0.1f, 0.1f, 0.0f);  
    //向OGL发送实际画图指令   
    glDrawArrays(GL_TRIANGLE_FAN, 0, iS);   
    //关闭顶点数组功能   
    glDisableClientState(GL_VERTEX_ARRAY);   
    //更改旋转角度   
    rotateAngle += 0.5;   
 
    return true

(cr0_3)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201203/15817.html]
本文出处:百度博客 作者:cr0_3 原文
顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容