注册 |登录

Opengl爱好者
Opengl专区
Opengl ES专区
最新日志
opengle看起来很棒的雾
难道你不想把“雾”加入到你的OpenGL程序中吗?那么在这课里我将要为您展现如何实现这项功能。这是我第一次写教程,而且相对来说我也是 OpenGL/C++程序设计新手,所以如果您发现有什么错误的话,请让我知道。这课的代码是基于第七课的。 NeHeWidget类 (由nehewidget.h展开。) class NeHeWidget : public QGLWidget{ Q_OBJECTpublic: NeHeWidget( QWidget* parent = 0, const char* name = 0, bool fs = fa ...
opengle显示列表
这次我将教你如何使用显示列表,显示列表将加快程序的速度,而且可以减少代码的长度。 当你在制作游戏里的小行星场景时,每一层上至少需要两个行星,你可以用OpenGL中的多边形来构造每一个行星。聪明点的做法是做一个循环,每个循环画出 行星的一个面,最终你用几十条语句画出了一个行星。每次把行星画到屏幕上都是很困难的。当你面临更复杂的物体时你就会明白了。 那么,解决的办法是什么呢?用显示列表,你只需要一 ...
opengle旗的效果(波动纹理)
大家好!对那些想知道我在这里作了些什么的朋友,您可以先按文章的末尾所列出的链接,下载我那毫无意义的Demo看看先!我是bosco,我将尽我所能教 您来实现一个以正弦波方式运动的图象。这一课基于NeHe的教程第六课,当然您至少也应该学会了一至六课的知识。您需要下载源码压缩包,并将压缩包内带的 data目录连其下的位图一起释放至您的代码目录下。或者使用您自己的位图,当然它的尺寸必须适合OpenGL纹理的要求。 NeHe ...
opengle在三维空间中移动位图
欢迎进入第九课。到现在为止,您应该很好的理解OpenGL了。您已经学会了设置一个OpenGL窗口的每个细节。学会在旋转的物体上贴图并打上光线以及 融合(透明)处理。这一课应该算是第一课中级教程。您将学到如下的知识:在三维场景中移动位图,并去除位图上的黑色象素(使用融合)。接着为黑白纹理上 色,最后您将学会创建丰富的色彩,并把上过不同色彩的纹理相互融合,得到简单的动画效果。 我们要在上一课的代码上进行改 ...
opengle融合
OpenGL中的绝大多数特效都与某些类型的(色彩)融合有关。融合的定义为,将某个象素的颜色和已绘制在屏幕上与其对应的象素颜色相互结合。至于如何结 合这两个颜色则依赖于颜色的alpha通道的分量值,以及/或者所使用的融合函数。alpha通常是位于颜色值末尾的第4个颜色组成分量。前面这些课我们 都是用GL_RGB来指定颜色的三个分量。相应的GL_RGBA可以指定alpha分量的值。更进一步,我们可以使用glColor4f()来代替 glColor3 ...
opengle纹理滤波、光源和键盘控制
这一课我会教您如何使用三种不同的纹理滤波方式。教您如何使用键盘来移动场景中的对象,还会教您在OpenGL场景中应用简单的光照。这一课包含了很多内 容,如果您对前面的课程有疑问的话,先回头复习一下。进入后面的代码之前,很好的理解基础知识十分重要。 我们要在第一课的代码上进行改动就可以了。 我们将要增加一个loadGLTextures()函数来处理有关纹理操作的。我们将增加一些变量,稍后我们对这些变量进行解释。 ...
opengle纹理映射
学习texture map纹理映射(贴图)有很多好处。比方说您想让一颗导弹飞过屏幕。根据前几课的知识,我们最可行的办法可能是很多个多边形来构建导弹的轮廓并加上有趣的 颜色。使用纹理映射,您可以使用真实的导弹图像并让它飞过屏幕。您觉得哪个更好看?照片还是一大堆三角形和四边形?使用纹理映射的好处还不止是更好看,而 且您的程序运行会更快。导弹贴图可能只是一个飞过窗口的四边形。一个由多边形构建而来的导弹却很可 ...
opengle向三维进军
在上一课的内容上作些扩展,我们现在开始生成真正的三维对象,而不是象前两节课中那样在三维世界中的二维对象。我们给三角形增加一个左侧面,一个右侧面, 一个后侧面来生成一个金字塔(四棱锥)。给正方形增加左、右、上、下及背面生成一个立方体。 我们混合金字塔上的颜色,创建一个平滑着色的对象。给立方体的每一面则来个不同的颜色。 其实只需在上节课的代码上增加几行就可以了。 NeHeWidget类 (由nehew ...
opengle旋转
上一课中我教给您三角形和四边形的着色。这一课我将教您如何将这些彩色对象绕着坐标轴旋转。 其实只需在上节课的代码上增加几行就可以了。 我们将在NeHeWidget类中增加两个变量来控制这两个对象的旋转。它们是浮点类型的变量,使得我们能够非常精确地旋转对象。浮点数包含小数位置,这 意味着我们无需使用1、2、3...的角度。你会发现浮点数是OpenGL编程的基础。新变量中叫做rTri的用来旋转三角形,rQuad 旋转四边形。 ...
opengle上色
上一课中我教给您三角形和四边形的绘制方法。这一课我将教您给三角形和四边形添加两种不同类型的着色方法。使用单调着色(Flat coloring)给四边形涂上固定的一种颜色。使用平滑着色(Smooth coloring)将三角形的三个顶点的不同颜色混合在一起,创建漂亮的色彩混合。 我们只要修改第二课中的NeHeWidget类中的paintGL()函数就可以了。 NeHeWidget类 (由nehewidget.cpp展开。) void NeHeWidget::paintGL(){ gl ...
opengle你的第一个多边形
你的第一个多边形 上一课中,我教您如何创建一个OpenGL窗口。这一课中,我将教您如何创建三角形和四边形。我们讲使用GL_TRIANGLES来创建一个三角 形,GL_QUADS来创建一个四边形。 我们只要修改第一课中的NeHeWidget类中的paintGL()函数就可以了。 NeHeWidget类 (由nehewidget.cpp展开。) void NeHeWidget::paintGL(){ glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); 清除屏幕和深度缓存。 gl ...
opengle创建一个OpenGL窗口
我假设您对Qt编程已经有了一定的了解,如果您还没有熟悉Qt编程,建议您先学习一下Qt编程的基础知识。 Qt中已经包含了OpenGL模块,具体情况您可以参考Qt OpenGL模块的相关内容。 NeHeWidget类 这就是我们继承QGLWidget类得到的OpenGL窗口部件类。 (由nehewidget.h展开。) #include <qgl.h>class NeHeWidget : public QGLWidget{ Q_OBJECT 因为QGLWidget类被包含在qgl.h头文件中,所以我们的类就需要包含这个 ...
opengleQt OpenGL教程
最近一段时间除了学习Qt,翻译Qt文档之外,由于工作和兴趣的原因,开始着手看Qt OpenGL编程。在网上搜索了有关OpenGL的教程,发现NeHe的 OpenGL教程的还很不错,作者是NeHe。上面有很多种 语言的实现,但是没有Qt和Gtk的,所以我就想着手写这个Qt OpenGL教程,每课的内容和NeHe是一样的。另外,介绍NeHe的一个中文翻译站点CSDN-CKer翻译的 NeHe的OpenGL教程,翻译人是CKer,在我学习这个教程的过 程中,给了我很大的帮助。 ...
xuweningFutureMark最新OpenGL高清演示发布
FutureMark作为一个图形以及系统测试软件的开发公司其3DMARK系列凭借其超绚丽的画面以及公正严谨的测试手段得到的玩家以及业界 的一片喝彩。近日其官方网站上宣布推出专为日本DMP(Digital Media Professionals)设计的演示Demo--Mikage,DEMO的主角也为了配合日本这一主题,特地选择了日本武士。   Mikage Demo应用了一系列新一代创新图形技术,在DMP开发的OpenGL ES扩展支持下全面优化,提供复杂可编程纹理、光谱阴影以 ...
WebGL教程---第3课 旋转
欢迎来到WebGL教程第三课。这次我们将学习如何移动物体。本课基于NeHe OpenGL教程的。 如果你的浏览器已经支持WebGL,请点击此处,你将看到本课WebGL的现场版 ;如果不支持,你从此处可以获取一个支持WebGL的浏览 ...
WebGL教程---第2课 添加颜色
欢迎来到第二节WebGL教程!这一次我们将要讨论如何给场景着色。这一节课的内容是基于NeHe的OpenGL教程第三课。 下面是本课内容在支持WebGL的浏览器中运行的样子: 。如果你还没有一个支持WebGL的浏 ...
WebGL教程---第1课 三角形和正方形
欢迎来到WebGL教程的第一课!这一课以NeHe OpenGL教程的内容为基础,NeHe OpenGL是一套针对游戏开发人员讲解3D图形技术的流行教程。本课将向你显示如何在一个网页上绘制一个三角形和一个正方形。也许它本身并不令人激 ...
WebGL教程---第0课 初步
尝试WebGL的第一步就是让浏览器支持它。现在,这意味着你必须使用特殊的预览发布版本,因为它甚至还不是测试版。幸运的是,这非常容易! WebGL 不能运行在我所知道的任何版本的Internet Explorer上,但对于其他三 ...
WEBGL教程之目录
翻译自 下面是我写的WebGL教程,前十课根据众所周知的NeHe opengl教程改写,后面的课程有所不同。
纳闷的Opengl教程
都已经有十几个注册用户了,为什么就没有发帖子的呢?真是奇了怪了。 细心的用户应该知道,本站的资源是不用注册就可以下载的,对于路过的同学给予了最大的关怀,保证大家自愿注册,可没想到现在还是这种尴尬境 ...
我是新手,请教一个csgl载入图像 贴图的问题
现在我有一个位图,想通过csgl的一些方法导入进来;我有一个三维正方形,把图像放在这个三维正方形的下方; 请大侠指导,不胜感激!
opengl32.dll函数详解(五、应用篇)
CS绘制烟雾效果(在窗口绘制白色矩形) #include main() { InitializeAWindowPlease(); glClearColor(0.0,0.0,0.0,0.0) glClear(GL_COLOR_BUFFER_BIT); glColor3f(1.0,1.0,1.0); glOrtho(0.0,1.0,0.0,1.0, ...
opengl32.dll函数详解(四、列表篇)
glACCum 对累加缓存进行操作 glAlphaFunc 指定alpha检验函数 glArrayElement 指定用来绘制顶点的数组元素 glBegin, glEnd 限定一个或多个图原顶点的绘制 glBitmap 绘制位图 glBlendFunc ...
opengl32.dll函数详解(三、说明篇)
一)库函数   开发基于OpenGL的应用程序,必须先了解OpenGL的库函数。它采用C语言风格,提供大量的函数来进行图形的处理和显示。OpenGL图形库一共有100多个函数,它们分别属于OpenGL的基本库、实用库、辅助库等 ...
友情链接

Opengl爱好者