首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
GLUT Trackball Demo
】的更多相关文章
GLUT Trackball Demo
GLUT Trackball Demo eryar@163.com 1.Introduction 在三维场景中建立模型后,为了方便用户从各个角度观察模型,从而需要对三维视图进行控制.常见的视图交互控制方式有:Trackball控制器.飞行控制器,还有三维游戏常用的第一人称控制器.这些视图控制器的根本是对模型视图矩阵MODELVIEW进行变换. Trackball控制器以一种用户友好的交互方式来变换视图,原理是由Trackball激发,Trackball如下图所示: Figure 1. Track…
ubuntu下搭建openGL环境
1. 建立基本编译环境 sudo apt-get install build-essential 2. 安装OpenGL Library sudo apt-get install libgl1-mesa-dev 3. 安装OpenGL Utilities sudo apt-get install libglu1-mesa-dev 4. 安装OpenGL Utility ToolKit sudo apt-get install freeglut3-dev…
GLUT的简洁OO封装
毕业设计用到了OpenGL,由于不会用MFC和Win32API做窗口程序:自然选用了GLUT.GLUT很好用,就是每次写一堆Init,注册callback,觉得有点恶心,于是对他做了简单的OO封装.记录在此,如有同学有兴趣可以下载. GLUT应用程序 直接使用GLUT的程序是这样的: #include <GL/glut.h> #include <stdio.h> void display() { // OpenGL commands } // 一般按键(所有可打印字符,ESC也在内…
OpenGL2.0及以上版本中glm,glut,glew,glfw,mesa等部件的关系
OpenGL2.0及以上版本中gl,glut,glew,glfw,mesa等部件的关系 一.OpenGL OpenGL函数库相关的API有核心库(gl),实用库(glu),辅助库(aux).实用工具库(glut),窗口库(glx.agl.wgl)和扩展函数库等. gl是核心,glu是对gl的部分封装.glx.agl.wgl 是针对不同窗口系统的函数.glut是为跨平台的OpenGL程序的工具包,比aux功能强大(aux很大程度上已经被glut库取代.).扩展函数库是硬件厂商为实现硬件更新利用Op…
BZOJ1695 : [Usaco2007 Demo]Walk the Talk
观察单词表可以发现: 对于长度为3的单词,前两个字母相同的单词不超过7个 对于长度为4的单词,前两个字母相同的单词不超过35个 于是首先$O(26*26*nm)$预处理出 s1[x][i][j]表示(i,j)右上角里面字母x的出现次数 s2[x][y][i][j]表示(i,j)右上角里面单词xy的出现次数 枚举一个点,计算长度为1的单词的出现次数 枚举两个点,计算长度为2,3,4的单词的出现次数 总时间复杂度为$O(kn^2m^2)$,k不超过43 #include<cstdio> #incl…
[转]glew, glee与 gl glu glut glx glext的区别和关系
原文地址:http://blog.csdn.net/delacroix_xu/article/details/5881942 因为也是初接触,所以就当了解,等深入学习后再回顾这篇文章观点. GLEW是一个跨平台的C++扩展库,基于OpenGL图形接口.使用OpenGL的朋友都知道,window目前只支持OpenGL1.1的涵数,但 OpenGL现在都发展到2.0以上了,要使用这些OpenGL的高级特性,就必须下载最新的扩展,另外,不同的显卡公司,也会发布一些只有自家显卡才支 持的扩展函数,你要想…
建立第一个OpenGL工程(GLUT)
本文参考了<计算机图形学>(Donald Hearn著)的第2.9节. OpenGL基本函数库用来描述图元.属性.几何变换.观察变换和进行许多其他的操作.OpenGL被设计成与硬件无关,因此输入.输出函数等许多操作均不包括在其基本库当中.但在为OpenGL开发的辅助库中有输入和输出函数及许多附加函数. 1 基本的OpenGL语法 OpenGL基本库(也称为核心库)中的函数名要以gl为前缀,且函数名中每一组成词的第一个字母要大写.例如:glBegin,glClear,glCopyPixels等.…
VS2012下基于Glut 矩阵变换示例程序:
也可以使用我们自己的矩阵运算来实现OpenGL下的glTranslatef相应的旋转变换.需要注意的是OpenGL下的矩阵是列优先存储的. 示例通过矩阵运算使得圆柱或者甜圈自动绕Y轴旋转,可以单击鼠标右键来弹出菜单选择是否显示坐标轴.正视图或者是透视图.是否打印变换矩阵.显示圆柱还是甜圈.程序用到math3d中的矩阵相关函数.由于绘制的坐标轴并未参加矩阵变换,在运行过程中会发现坐标轴并不会在定时器作用下不断旋转. 源代码: GlutTransformDemo // GlutTransformDe…
VS2012下基于Glut 矩阵变换示例程序2:
在VS2012下基于Glut 矩阵变换示例程序:中我们在绘制甜圈或者圆柱时使用矩阵对相应的坐标进行变换后自己绘制甜圈或者圆柱.我们也可以使用glLoadMatrixf.glLoadMatrixd载入变换矩阵后直接使用Glut提供的函数绘制甜圈.这里我在载入变换矩阵后再去绘制坐标轴,所以在程序运行时坐标轴会随着定时器绕Y轴旋转.点击鼠标右键在弹出的菜单里面可以选择是否显示坐标轴.正视图还是透视视图.是否打印变换矩阵. 源代码在VS2012下基于Glut 矩阵变换示例程序:只修改了: GlutTra…
VS2012下基于Glut OpenGL glEdgeFlag示例程序:
glEdgeFlag (GLboolean flag)表示一个顶点是否应该被认为是多边形的一条边界边的起点.flag为GL_TRUE后面的点都被认为是边界上的点,flag为GL_FALSE则之后的点不是边界上的点. Demo使用菜单来决定四角星的四个凹进去的点是否是边界边的起点.当菜单选中凹进去的四个点为边界上的点时,使用多边形的填充模式为GL_LINE时如下图所示: 当菜单选中凹进去的四个点不为边界上的点时,使用多边形的填充模式为GL_LINE时如下图所示: 源代码如下所示: #include…