MSDN中有详细的教程和例子,自己边研究边学习,不亦乐乎

解决方案 »

  1.   

    你是要画圆锥吧?参考下面的代码。
    HWND hWnd; // 窗口句柄
    HDC hDC;     // GDI设备句柄
    HGLRC hGLRC; // OpenGL绘图设备句柄
    int PixelFormat; // 像素格式
    PIXELFORMATDESCRIPTOR pfd= // 像素格式描述表
      {
      ...
      };
    hDC=GetDC(hWnd); // 取得窗口的GDI设备句柄
    if((PixelFormat=ChoosePixelFormat(hDC, &pfd))==0) ...; /* 选择与pfd最为匹配的一种像素格式,如果失败返回0 */
    if((SetPixelFormat(hDC, PixelFormat, &pfd))==0) ...; // 设置像素格式,如果失败返回0
    hGLRC=wglCreateContext(hDC); // 获取OpenGL设备句柄
    wglMakeCurrent(hDC, hGLRC); // 设置当前OpenGL设备
      ... // 程序主体
    wglDeleteContext(hGLRC); // 释放OpenGL设备句柄
    ReleaseDC(hWnd,hDC); // 释放GDI设备句柄
    另外再查查关于glu的一些写常用函数,应该就差不多了:
    创建一个二次曲面对象:
    GLUquadricObj * gluNewQuadric(void);设定二次曲面对象的绘图风格:
    void gluQuadricDrawStyle(GLUquadricObj *quadObj, GLenum drawStyle);设定二次曲面对象的法线类型:
    void gluQuadricNormals(GLUquadricObj *quadObj, GLenum normals);设定二次曲面对象的朝向:
    void gluQuadricOrientation(GLUquadricObj *quadObj, GLenum orientation);定义二次取面对象是否需要纹理坐标:
    void gluQuadricTexture(GLUquadricObj *quadObj,GLboolean textureCoords);绘制一个圆球:
    void gluSphere(GLUquadricObj *qobj, GLdouble radius, GLint slices, GLint stacks);绘制一个圆盘:
    void gluDisk(GLUquadricObj *qobj, GLdouble innerRadius, GLdouble outerRadius, GLint slices, GLint loops);绘制一个扇形圆盘:
    void gluPartialDisk(GLUquadricObj *qobj, GLdouble innerRadius, GLdouble outerRadius, GLint slices, GLint loops, GLdouble startAngle, GLdouble sweepAngle);绘制一个圆台(锥、柱):
    void gluCylinder(GLUquadricObj *qobj, GLdouble baseRadius, GLdouble topRadius, GLdouble height, GLint slices, GLint stacks);删除一个二次曲面对象:
    void gluDeleteQuadric(GLUquadricObj *qobj);
      

  2.   

    azuo_lee()
    老兄,你用的是OpenGL的函数吗?
      

  3.   

    请看这个帖子http://www.csdn.net/expert/topic/159/159694.shtm