随笔分类 - OpenGL
摘要:glRotatef(GLfloat angle,GLfloat x,GLfloat y,GLfloat z)glRotatef(45,1,0,0)物体如何旋转?想象:从 坐标(0,0,0)即原点,引出一条线到(1,0,0),用右手握住这条线,这时,你会问,如何握?右手大拇指指向(0,0,0)至(1,0,0)的方向 才握。另外四个手指的弯曲指向 即是物体旋转方向。
阅读全文
摘要:gluPickMatrix的使用2008年12月03日 星期三 23:40void gluPickMatrix(GLdouble x,GLdouble y,GLdouble width,GLdouble height,GLint viewport[4]); 它是用来根据当前鼠标选择区域生成一个相应的投影矩阵的。这里面头两个参数不是这个选择区域的左上角位置,而是整个区域的中心位置。如果错把它当成左上角,选择的区域就会斜向上有个偏移。OpenGL红宝书上没有区域选择的例子,只有一个通过鼠标点击选择的程序,因而没有说明这个问题。同样,在颜色编码拾取的时候,要通过glReadPixel这个函数读取当前
阅读全文
摘要:来源出处(向原创者致敬):http://blog.csdn.net/zhangci226/article/details/4749526在用OpenGL进行图形编程的时候,通常要用鼠标进行交互操作,比如用鼠标点选择画面中的物体,我们称之为拾取(Picking),在网上看了很多OpenGL拾取的文章,但大多是只是介绍在OpenGL中如何拾取,如何利用OpenGL提供的一系列函数来完成拾取,最多再简单介绍下OpenGL的名字栈(Name stack),拾取矩阵(Picking Matrix)等等,但是拾取真正的原理确没有提到。所以,我在这里为大家详细介绍下OpenGL中拾取是怎样实现的,以及其背后
阅读全文
摘要:GLUT函数说明一、初始化void glutInit(int* argc,char** argv)这个函数用来初始化GLUT库。对应 main 函数的形式应是: int main(int argc,char* argv[]);这个函数从 main 函数获取其两个参数。void glutInitWindowSize(int width,int height);void glutInitWindowPosition(int x,int y);设置glut程序要产生的窗口的大小和位置(左上角)。以像素为单位。void glutInitDisplayMode(unsigned int mode);设置
阅读全文
摘要:-----------------------------------------------------------------使用颜色-----------------------------------------------------------------glShadeModel--选择平面明暗模式或光滑明暗模式glColor--设置当前颜色glColorPointer--定义颜色数组glIndex--设置当前颜色索引glIndexPointer--定义颜色索引数组glColorTableEXT--为目标调色板纹理指定调色板的格式和大小glColorSubTableEXT--指定需
阅读全文
摘要:openGL VC6.0(Microsoft Visual C++ 6.0)环境配置1,头文件的包含:openGL相关的头文件在 */include/gl 目录中,主要有 gl.h glu.h glaux.h 根据需要include就行。2,连接库的设置:菜单- 工程- 设置- 连接- 对象/库模块 中加入opengl32.lib glu32.lib,注意用空格隔开各*.lib。[VC6.0具体示例]1,新建工程:菜单-文件-新建-工程-Win32 Application-工程名-确定-一个空工程-完成。2,加入源文件:文件-新建-C++ Source File-文件名-确定-编写代码(可以参
阅读全文
摘要:一,安装openal核心库:1,去openal官网下载OpenAL11CoreSDK。解压后是一个exe文件,安装后去安装目录D:/Program Files/OpenAL 1.1 SDK(你也可能安装在其它目录)看,会发现有如下几个文件夹:docsincludelibsredistsamples其中docs中是官方文档,学习openal的主要资料。2,开始安装:运行OpenAL 1.1/SDKredist/oalinst.exe,提示安装成功。(我只知道这一步包含将openal32.dll拷贝到C:/windows/system32的动作,但确实还有其它一些作用,我不知道,反正安装就行了)。
阅读全文
摘要:glLoadIdentity(): 重置当前的模型观察矩阵。 当您调用glLoadIdentity()之后,您实际上将当前点移到了屏幕中心,X坐标轴从左至右,Y坐标轴从下至上,Z坐标轴从里至外。 OpenGL屏幕中心的坐标值是X和Y轴上的0.0f点。 X坐标轴:中心左面的坐标值是负值,右面是正值。 Y坐标轴:移向屏幕顶端是正值,移向屏幕底端是负值。 Z坐标轴:移入屏幕深处是负值,移出屏幕则是正值。 glTranslatef(x,y,z):沿着 X, Y 和 Z 轴移动。 注意在glTranslatef(x, y, z)中当您移动的时候,您并不是相对屏幕中心移动,而是相对与当前所在的屏幕位置。
阅读全文
摘要:opengl32.lib(DLL)是MS为openGL能够在window环境下工作设计的函数库,这个库的工作很简单。如果你的机器上存在硬件加速的GL驱动,调用该驱动,否则用软件的方法实现。包含gl.h文件并使用了里面的函数必须将opengl32.lib加入你的工程。 glu则是在gl基础上的扩展,如上面所说,他实际上已经是OpenGL的一部分了。他的函数都是以glu开头的(区别于gl函数族),你使用的gluPerspective就是这样的函数。要使用这些函数,必须将glu32.lib链接到你的工程中。 glaux是MS编写的在标准GL接口上的扩展,比如示例里经常使用的auxSolidTeapo
阅读全文
浙公网安备 33010602011771号