qt 使用opengl库来画圆环
来源:互联网 发布:dhcp服务器软件下载 编辑:程序博客网 时间:2024/06/05 09:28
//圆环
void GLWidget::drawTorus()
{
int numMajor = 100;
int numMinor = 24;
float majorRadius = 0.6f;
float minorRadius = 0.2f;
double majorStep = 2.0f * M_PI/numMajor;
double minorStep = 2.0f * M_PI/numMinor;
int i, j;
for(i=0; i<numMajor; ++i)
{
double a0 = i * majorStep;
double a1 = a0 + majorStep;
GLfloat x0 = (GLfloat) cos(a0);
GLfloat y0 = (GLfloat) sin(a0);
GLfloat x1 = (GLfloat) cos(a1);
GLfloat y1 = (GLfloat) sin(a1);
glBegin(GL_TRIANGLE_STRIP);
for(j=0; j<= numMinor; ++j)
{
double b = j * minorStep;
GLfloat c = (GLfloat)cos(b);
GLfloat r = minorRadius * c + majorRadius;
GLfloat z = minorRadius * (GLfloat)sin(b);
glNormal3f(x0*c, y0*c, z/minorRadius);
glVertex3f(x0*r, y0*r, z);
glNormal3f(x1*c, y1*c, z/minorRadius);
glVertex3f(x1*r, y1*r, z);
}
glEnd();
}
}
void GLWidget::drawTorus()
{
int numMajor = 100;
int numMinor = 24;
float majorRadius = 0.6f;
float minorRadius = 0.2f;
double majorStep = 2.0f * M_PI/numMajor;
double minorStep = 2.0f * M_PI/numMinor;
int i, j;
for(i=0; i<numMajor; ++i)
{
double a0 = i * majorStep;
double a1 = a0 + majorStep;
GLfloat x0 = (GLfloat) cos(a0);
GLfloat y0 = (GLfloat) sin(a0);
GLfloat x1 = (GLfloat) cos(a1);
GLfloat y1 = (GLfloat) sin(a1);
glBegin(GL_TRIANGLE_STRIP);
for(j=0; j<= numMinor; ++j)
{
double b = j * minorStep;
GLfloat c = (GLfloat)cos(b);
GLfloat r = minorRadius * c + majorRadius;
GLfloat z = minorRadius * (GLfloat)sin(b);
glNormal3f(x0*c, y0*c, z/minorRadius);
glVertex3f(x0*r, y0*r, z);
glNormal3f(x1*c, y1*c, z/minorRadius);
glVertex3f(x1*r, y1*r, z);
}
glEnd();
}
}
- qt 使用opengl库来画圆环
- android 使用OPENGL ES绘制一个圆环-三维空间
- opengl圆环的绘制
- OpenGL ES 绘制圆环
- Qt OpenGL 使用纹理
- qt环境下使用OpenGL
- QT使用OPENGL的心得
- 使用Qt进行OpenGL编程OpenGL programming withQt [1]
- Qt中使用OpenGL的纹理贴图
- qt在tabwidget中使用opengl
- Qt使用opengl报错 解决方法
- 使用Qt编写opengl学习路线
- Qt openGL 使用QImage 生成二维纹理
- 使用Qt+OpenGL创建球体+简单交互
- vs2013使用QT自带的openGL
- openGL之圆环---openGL学习笔记(七)
- QT+openGL
- QT + OpenGL
- 指向继承类的基类指针解引用后,是否还具备多态性
- 改进平滑滚动,修改音量调节级数实现音量微调【编译自XDA 适用于大部分设备】
- ARM架构kprobe应用及实现分析(1.0 简单示例)
- linux网络工具应用详解之二
- 十种心理征兆表明是时候辞职了
- qt 使用opengl库来画圆环
- android 中的 ViewFlipper 的简单使用
- Android系统的Binder机制之二——服务代理对象(1)
- 逆向编程教程(7)
- 网络通信的大端小端问题
- XML简单介绍
- ASP.NET的CMS代表作DNN7--这下默认界面总算是可以拿得出手了
- ubuntu时间不对
- 关于不同类型之间使用memcpy