opengl 实体和网格绘图函数(基础)(转)
http://blog.csdn.net/he_wen_jian/article/details/8594880
GLUT工具箱提供几种图形3维图形的函数:
void glutSolidSphere(GLdouble radius, GLint slices, GLint stacks); 实心球void glutWireCube(GLdouble size); 丝状立方体
void glutSolidCube(GLdouble size); 实心立方体void glutWireTorus(GLdouble innerRadius, GLdouble outerRadius,
GLint nsides, GLint rings); 丝状花环
void glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius,
GLint nsides, GLint rings); 实心花环void glutWireIcosahedron(void); 丝状20面体
void glutSolidIcosahedron(void); 实心20面体void glutWireOctahedron(void); 丝状8面体
void glutSolidOctahedron(void); 实心8面体void glutWireTetrahedron(void); 丝状4面体
void glutSolidTetrahedron(void); 实心4面体 void glutWireDodecahedron(GLdouble radius); 丝状12面体
void glutSolidDodecahedron(GLdouble radius); 实心12面体void glutWireCone(GLdouble radius, GLdouble height, GLint slices,
GLint stacks); 丝状圆锥体
void glutSolidCone(GLdouble radius, GLdouble height, GLint slices,
GLint stacks); 实心圆锥体void glutWireTeapot(GLdouble size); 丝状茶壶
void glutSolidTeapot(GLdouble size); 实心茶壶
如果需要用到长方体那就用glScalef(x,y,z); 做自己想要的长方体,这儿的x,y,z分别对应x,y,z轴的缩放比例
不过居然没有看到圆柱体的函数。在网上搜索不少人说到的都是用一个aux开头的辅助函数库。但是这有个很大的缺陷,已经被GLUT库代替了
举个创建2次对象的简单例子:
//创建一个半径为5,在经线和纬线方向细分数为10的球体
GLUquadricObj *pobj;
pobj=gluNewQuadric();
gluQuadricDrawStyle(pobj,GLU_LINE);//确定几何体的绘制模式(GLU_LINE)
gluSphere(pobj,5,10,10);创建圆环盘,innerRadius,outerRadius分别指定了内径和外径创建圆柱体创建球体
下面是几个用于创建简单的2次曲面的GLU函数:
GLUquadricObj* gluNewQuadric();
//创建一个新的2次曲面对象,并返回一个指向该对象的指针
void gluDeleteQuadric(GLUquadricObj*);
//删除又2次对象指针指定的2次曲面
void gluSphere(GLUquadricObj* pobj,GLdouble radius,GLint silces,GLint stacks);
//
void gluCylinder(GLUquadricObj* pobj,GLdouble baseRadius,GLdouble topRadius,GLint slices,GLint stacks);
//
void gluDisk(GLUquadricObj* pobj,GLdouble innerRadius,GLdouble outerRadius,GLint slices,GLint stacks);
//
下面几个是创建GLUT对象的函数,是对GLU的补充
void glutWireSphere(GLdouble radius,GLint slices,GLint stacks);
//创建线框球体
void glutSolidSphere(GLdouble radius,GLint slices,GLint stacks);
//创建实心球体
void glutWireCone(GLdouble baseRadius,GLdouble height,GLint slices,GLint stacks);
void glutSolidCone(GLdouble baseRadius,GLdouble height,GLint slices,GLint stacks);
void glutWireTorus(GLdouble innerRadius,GLdouble outerRadius,GLint slices,GLint stacks);
void glutSolidTorus(GLdouble innerRadius,GLdouble outerRadius,GLint slices,GLint stacks);
仔细搜索了一下,找到了比较详细的介绍
opengl 实体和网格绘图函数(基础)(转)的更多相关文章
- 《MATLAB从入门到放弃》二维曲线和图形绘制基础(二):使用Help文档学习line、plot、plotyy、subplot、hold绘图函数
目录: » plot 最常用的二维曲线绘图函数 > 帮助文档 > 基本使用语法 > 线条的样式.符号和颜色调整 > 图形属性调整 > 使用图形句柄进行设置 » ...
- 数据分析与展示——Matplotlib基础绘图函数示例
Matplotlib库入门 Matplotlib基础绘图函数示例 pyplot基础图表函数概述 函数 说明 plt.plot(x,y,fmt, ...) 绘制一个坐标图 plt.boxplot(dat ...
- 科学计算三维可视化---Mlab基础(基于Numpy数组的绘图函数)
Mlab了解 Mlab是Mayavi提供的面向脚本的api,他可以实现快速的三维可视化,Mayavi可以通过Mlab的绘图函数对Numpy数组建立可视化. 过程为: .建立数据源 .使用Filter( ...
- Matlab绘图函数一览
要查看Matlab所有绘图函数,请从Matlab主界面菜单查看“绘图目录”,或从Matlab帮助文档查看“Types of MATLAB Plots”(在线版本).本文的图和英文解释摘自Matlab帮 ...
- R 基础绘图体系-基础篇
1.高水平绘图函数 生成数据 #模拟100位同学学号及三科成绩 num = seq(12340001,12340100) # 形成学号 x1 = round(runif(100,min = 80,ma ...
- R语言与医学统计图形【7】低级绘图函数
R语言基础绘图系统 基础绘图包之低级绘图函数--气泡图.一页多图.背景网格.添加线条和散点.数学表达式 4.气泡图 symbols是高级绘图函数,可在图上添加标记,标记的形状包括:circles,sq ...
- R语言——基本绘图函数
通过一个综合的例子测试绘图函数 学习的内容是tigerfish老师的教程. 第一节:基本知识 用seq函数产生100位学生的学号. > num = seq(,) > num [] [] [ ...
- seaborn使用(绘图函数)
seaborn使用(绘图函数) 数据集分布的可视化 分类数据的绘图 线性关系可视化 一.数据集分布的可视化 distplot kdeplot rugplot 1.distplot() 灵活的绘制单变量 ...
- OpenGL中的常用绘图的命令与效果(经验设置)
1. 剔除多边形表面 在三维空间中,一个多边形虽然有两个面,但我们无法看见背面的那些多边形,而一些多边形虽然是正面的,但被其他多边形所遮挡.如果将无法看见的多边形和可见的多边形同等对待,无疑会降低我们 ...
随机推荐
- .gvimrc配置备份
syn on "语法支持 colorscheme murphy set go= "common conf {{ 通用配置 "set ai "自动缩进 set b ...
- 自我总结(四) ---java web项目完结,j2ee的开始
自我完善的过程就是在不断的自我总结不断的改进. 前半个月刚好把项目做完了,项目也答辩了.总的来说吧,我觉得自己在java web这块知识上不算是彻彻底底把他弄懂了,就是说到的知识点都能够回答的上来一些 ...
- 【转】CSS选择器笔记
作者: 阮一峰 日期: 2009年3月12日 来源:http://www.ruanyifeng.com/blog/2009/03/css_selectors.html 去年我学jQuery的时候,曾经 ...
- 并发编程之 ThreadLocal 源码剖析
前言 首先看看 JDK 文档的描述: 该类提供了线程局部 (thread-local) 变量.这些变量不同于它们的普通对应物,因为访问某个变量(通过其 get 或 set 方法)的每个线程都有自己的局 ...
- 设计模式之工厂方法(FactoryMethod)模式
在五大设计原则的基础上经过GOF(四人组)的总结,得出了23种经典设计模式,其中分为三大类:创建型(5种).结构型(7种).行为型(11种).今天对创建型中的工厂方法(FactoryMethod)模式 ...
- 取石子游戏(hdu1527 博弈)
取石子游戏 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...
- BZOJ4806(SummerTrainingDay03-K dp)
炮 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 464 Solved: 243[Submit][Status][Discuss] Descript ...
- mysql小试题
1. 用户登录日志表 xes_user_login_logs 如下: (1) 检索登录超过两次的用户ID(sql语句) select user_id from vvt_ceshi group by u ...
- python学习之老男孩python全栈第九期_day004知识点总结
1. 列表list: 列表转换成字符串: s = 'kidd' s1 = '_'.join(s) # 用_连接 字符串转换成列表: split() range(头,尾,步长): [0,1,2,3,4, ...
- avalonjs 中的if else实现的几种方法
在学习avalonjs的过程中,发现模板中并没有if else这样的写法,不像tempalte ejs这些,所以总结了三种方法来实现,仅供在使用avalonjs的同学参考,主要是通过ms-if 表达式 ...