glut

OpenGL+VS2012编译环境配置

假如想象 提交于 2020-03-01 03:15:04
OpenGL库主体分为三部分,分别是 gl (OpenGL核心库) glu (Utility Library,OpenGL实用库) glut (Utility Toolkit,OpenGL实用工具库) gl gl是OpenGL的核心,提供了OpenGL的基本函数,每个函数都以GL开头。核心库包含有115个函数,用于常规的、核心的图形处理。 gl.h是OpenGL核心库的头文件,对应的导入库和动态库为opengl32.lib和opengl32.dll,Windows系统自带的有,保存路径在 “C:\Windows\System32” ,可以打开该文件查看: glu glu提供的是一些基础的、简单的形状的实用函数,是对gl的部分封装,目的是为了减轻繁重的编程工作。每个函数都以glu开头。包含43个函数。 glu.h是OpenGL功能函数库的头文件,对应glu32.lib和glu32.dll,跟opengl32.dll一样,Windows系统也自带有该文件,在同样的 保存在 “C:\Windows\System32” 路径下: glut glut是基本的窗口界面,是不依赖于窗口平台的OpenGL工具包,目的在于隐藏不同窗口平台API的复杂度。 glut独立于gl和glu,主要用来打开窗口、开发和管理菜单,以及管理事件等,函数前缀使用glut,包含30多个函数。 OpenGL的下载和配置

VS2008中opengl配置

只谈情不闲聊 提交于 2020-03-01 03:12:24
OpenGL作为当前主流的图形API之一,它在一些场合具有比DirectX更优越的特性。 1、与C语言紧密结合。 OpenGL命令最初就是用C语言函数来进行描述的,对于学习过C语言的人来讲,OpenGL是容易理解和学习的。如果你曾经接触过TC的graphics.h,你会发现,使用OpenGL作图甚至比TC更加简单。 2、强大的可移植性。 微软的Direct3D虽然也是十分优秀的图形API,但它只用于Windows系统(现在还要加上一个XBOX游戏机)。而OpenGL不仅用于 Windows,还可以用于Unix/Linux等其它系统,它甚至在大型计算机、各种专业计算机(如:医疗用显示设备)上都有应用。并且,OpenGL 的基本命令都做到了硬件无关,甚至是平台无关。 3、高性能的图形渲染。 OpenGL是一个工业标准,它的技术紧跟时代,现今各个显卡厂家无一不对OpenGL提供强力支持,激烈的竞争中使得OpenGL性能一直领先。 总之,OpenGL是一个很NB的图形软件接口。至于究竟有多NB,去看看DOOM3和QUAKE4等专业游戏就知道了。 OpenGL官方网站(英文) http://www.opengl.org/ 下面将对Windows下的OpenGL编程进行简单介绍。 学习OpenGL前的准备工作 第一步,选择一个编译环境 现在Windows系统的主流编译环境有Visual

配置OpenGL时遇到的一些问题

痴心易碎 提交于 2020-03-01 03:10:38
今天在配置openGL时遇到了一些问题,在各种"玩弄“后终于配置好了。(汗) 电脑为windows10(X64),原本是装好vs2015的,所以只需要下载一些头文件。OpenGL 下有一些重用的辅助库,比如glut,glew等等,在windows平台下需要自己安装,因为微软为了推广自己的DX,在windows下只支持openGL 1.1版本。 现在openGL已经发展到3.0了,因此我们需要自己下载配置这些库,在这里我们来安装glut, glee, glew这三个库,以及一些OpenGL扩展支持。 glut : 提供对窗口的封装,这是跨平台窗口的,我们就不必自己去编写烦琐的窗口代码。 glee : 方便用来判断当前系统是不是支持某项OpenGL特性,我们就不用自己去写烦琐的先取函数地址然后再判断的代码了。 glew : 因为windows默认只支持OpenGL 1.1,你要想用更高版本的OpenGL,你就需要安装它,它能自动识别你的平台所支持的全部OpenGL高级扩展函数。 首先给出官方的一个链接: https://www.opengl.org/wiki/Getting_Started 奈何官方只给出电脑配置显卡驱动的下载地址。那三个库还得自己丰衣足食。 1.glut GLUT3.7下载地址: http://www.opengl.org/resources/libraries

第3章-计算机图形软件 练习题

二次信任 提交于 2020-02-10 00:06:53
什么命令可用来将OpenGL显示窗口的颜色设定为浅灰色?什么命令可用来将OpenGL显示窗口的颜色设定为黑色? glClearColor(211.0f/255.0f, 211.0f/255.0f, 211.0f/255.0f, 0.0); 浅灰色的RGB值为(211, 211, 211) glClearColor(0.0, 0.0, 0.0, 0.0); 列出OpenGL显示窗口左下角设定到像素位置(75,200)、窗口宽度为200像素且高度为150像素的语句。 glutInitWindowPosition(75,50); glutInitWindowSize(200,150); 显示窗口的宽度为150、高度为250,请列出从窗口右上角到左下角绘制一根线段的OpenGL语句。 glBegin(GL_LINES); glVertex2i(150,0); glVertex2i(0,250); glEnd(); 请说明OpenGL基本库、OpenGL实用库及OpenGL实用函数工具包之间的差别。 OpenGL基本库包含与硬件无关的函数,例如用于描述图元、属性、几何变换、观察变换和许多其他操作的函数。函数以gl为前缀。 GLU库包含一些其他更专业的操作的函数,例如二次曲面生成、B样条曲面生成、表面纹理映射、二维查看和一些三维查看操作。函数以glu为前缀。 GLUT库主要提供与硬件相关的功能

C++ OpenGL dragging multiple objects with mouse

放肆的年华 提交于 2020-01-25 09:02:52
问题 just wondering how someone would go about dragging 4 different objects in openGL. I have very simple code to draw these objects: glPushMatrix(); glTranslatef(mouse_x, mouse_y, 0); glutSolidIcosahedron(); glPopMatrix(); glPushMatrix(); glTranslatef(mouse_x2, mouse_y2, 0); glutSolidIcosahedron(); glPopMatrix(); glPushMatrix(); glTranslatef(mouse_x3, mouse_y3, 0); glutSolidIcosahedron(); glPopMatrix(); glPushMatrix(); glTranslatef(mouse_x4, mouse_y4, 0); glutSolidIcosahedron(); glPopMatrix(); I

VC++中OpenGL的配置

Deadly 提交于 2020-01-25 03:44:21
一、下载并安装 glut 库 opengl 的 glut 库 GLUT 不是 OpenGL 所必须的,但它会给学习带来一定的方便,推荐安装。 Windows 环境下的 GLUT 下载地址:(大小约为 150k ) http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip Windows 环境下安装 GLUT 的步骤: 1 、将下载的压缩包解开,将得到 5 个文件 2 、在 “ 我的电脑 ” 中搜索 “gl.h” ,并找到其所在文件夹( Program Files\Microsoft Visual Studio\VC98\Include\GL 文件夹 ” )。把解压得到的 glut.h 放到这个文件夹。 3 、把解压得到的 glut.lib 和 glut32.lib 放到静态函数库所在文件夹( Program Files\Microsoft Visual Studio\VC98\lib” 文件夹)。 4 、把解压得到的 glut.dll 和 glut32.dll 放到操作系统目录下面的 system32 文件夹内。(典型的位置为: C:\Windows\System32 ) 二、 VC 工程配置:    1 )创建一个 Win32 Console Application 。    2 )链接 OpenGL

How to calculate look at point to move the camera with the mouse in OpenGL/GLUT?

|▌冷眼眸甩不掉的悲伤 提交于 2020-01-21 05:51:09
问题 This will be confusing for me to explain so please bear with me. I've already implemented most type of movements and rotations in my camera class, everything is working with the keyboard, now I want to implement the mouse. I capture the mouse movement like this: #define SENSITIVITY 25.0f void main(void) { (...) glutPassiveMotionFunc(processPassiveMotion); glutWarpPointer(WINDOW_WIDTH / 2, WINDOW_HEIGHT / 2); glutSetCursor(GLUT_CURSOR_NONE); (...) } void processPassiveMotion(int x, int y) {

Ball of Light (Light, Material?) glutsolidsphere

别说谁变了你拦得住时间么 提交于 2020-01-14 06:47:12
问题 I'm programming a game which is called Falldown. I'm almost finished; now I want to design the ball. How can I light this ball such that it glows like these examples? I created my cube with glutSolidSphere and ask myself how I can light the ball. void ball() { glColor4f(0, 0, 0.5, 0.5); glutSolidSphere(0.25,40,40); } void initLightSources() { ?????? glEnable( GL_LIGHTING ); glEnable(GL_DEPTH_TEST); glEnable( GL_LIGHT0 ); } 来源: https://stackoverflow.com/questions/23938836/ball-of-light-light

Sudden issues with glut and glew includes and type specifiers

China☆狼群 提交于 2020-01-14 04:18:40
问题 I’m currently working on a final programming project for a games development course, and chose to make use of C++ and OpenGL for the 3D rendering side of the program (despite the fact I have little experience with it). I was working with it until now absolutely fine with no serious errors, and then left it for a few days. But when I returned I started to get various "C4430 - Missing Type Specifier" errors with the few GLfloat variables I had used. This was my previous definitions, which

Background object is drawn in front of foreground object in OpenGL?

家住魔仙堡 提交于 2020-01-13 19:57:12
问题 For testing purposes let's assume I've draw 2 teapots with glutSolidTeapot() , like this: glColor3f(1.0f, 0.0f, 0.0f); // Red teapot glutWireTeapot(1.0f); glColor3f(0.0f, 1.0f, 0.0f); // Green teapot glTranslatef(0.0f, 0.0f, 3.0f); glutWireTeapot(1.0f); The camera is initially located at (x,y,z) = (0.0f, 0.0f, 5.0f) and I'm looking at z = -1 (this is camera position #1). I'm sure you understand that the green teapot is the closest object to the camera and the red one is behind it. The problem