OpenGL画圆
来源:互联网 发布:unity3d 自学网 编辑:程序博客网 时间:2024/06/16 17:37
void CShape2D::drawCircle() { static bool bDrawSemiCircle = false; glClear(GL_LINE_BIT); glBegin(GL_LINES);//可以改成GL_POINTS,具体含义参照gl文档 //方法1 //glPointSize(5.0f);//只对Begin的参数为GL_POINTS有用,glLineWidth:设置Line的宽度此时设置PointSize也是没有效果 //if(bDrawSemiCircle) { // glColor3f(0.0f, 0.0f, 1.0f); // if(beginPoint_.x > -radius_) { // for(GLfloat fVaule = radius_; fVaule >= beginPoint_.x; fVaule -= 0.0001f) { // glVertex2f(fVaule, -sqrt(radius_ * radius_ - fVaule * fVaule)); // } // beginPoint_.x -= 0.01f; // } //} else { // glColor3f(0.0f, 1.0f, 0.0f); // if(beginPoint_.x > radius_) { // beginPoint_.x = radius_; // bDrawSemiCircle = true; // } else { // for(GLfloat fVaule = -radius_; fVaule <= beginPoint_.x; fVaule += 0.0001f) { // glVertex2f(fVaule, sqrt(radius_ * radius_ - fVaule * fVaule)); // } // beginPoint_.x += 0.01f; // } //} //方法2 glColor3f(1.0f, 0.0f, 0.0f); if(beginPoint_.x <= 2.0f * Pi) { for(GLfloat fVaule = 0; fVaule <= beginPoint_.x; fVaule += 0.001f) { glVertex2f(radius_ * cos(fVaule), radius_ * sin(fVaule)); } beginPoint_.x += 0.02f; } glEnd(); glFlush(); glutSwapBuffers();}方法一还有一个bug就是首尾端点没连接到,自己接下来慢慢调试
0 0
- OPENGL 画圆
- OpenGL画圆
- Android OpenGL 画球 画圆
- opengl画圆弧,画圆
- OpenGL 3:画圆
- OPENGL
- opengl
- OpenGL
- OpenGL
- OPENGL
- OpenGL
- OpenGL
- OpenGL
- opengl
- opengl
- opengl
- OPENGL
- OpenGL
- SpringMVC用注解Annotation 驱动的IOC功能@Autowired @Component
- SQL Server 中的分区表(一):什么是分区表?为什么要用分区表?如何创建分区表?
- WPF学习笔记——设置ListBox选中项的背景颜色
- Online advertising术语
- Abstract Factory抽象工厂
- OpenGL画圆
- Android自动化测试之使用java调用monkeyrunner ...
- python 对 xml 解析
- [ios]iOS学习之UITableView(三):进阶篇索引,标记和自定义的table
- SQL Server 中的分区表(二):如何添加、查询、修改分区表中的数据
- SAP ABAP 试题
- 我的第一篇博客
- DM8168裸机调试-I2C(MCP79410)
- A cycle was detected in the build path of project