
opengl教程
文章平均质量分 71
火影忍者2222
这个作者很懒,什么都没留下…
展开
-
Opengl模版的原理 理解
这篇文章是针对在你看了书本或者其他资料对opengl模板原理的一般性介绍后但又不理解模板到底是怎么工作的情况而写的,所有相关函数的原型及参数不再做详细介绍。 opengl的模板就像是挡在屏幕前的一块挡板,如果挡板是透明的,则可以看到整个屏幕的图像,如果是部分透明部分不透明,则只可以看到透明部分的屏幕图像。为了抛弃书本或其他叙述性文字的笼统介绍,这里从代码解析角度分析,相信更能让人明白模板的转载 2012-08-05 17:58:48 · 538 阅读 · 0 评论 -
位图与图像
十一、位图与图像11.1、位图 11.1.1 位图(Bitmap)与字符(Font) 位图是以元素值为0或1的矩阵形式存储的,通常用于对窗口中相应区域的绘图屏蔽。比如说,当前颜色设置为红色,则在矩阵元素值为1的地方象素用红色来取代,反之,在为0的地方,对应的象素不受影响。位图普遍用于字符显示,请看下面例子: 例11-1 位图字符例程(font.c) #i转载 2012-08-10 08:54:28 · 568 阅读 · 0 评论 -
三维变换(转)
三维变换(转)openGL2009-12-06 09:59:06 阅读98评论1 字号:大中小今天要讲的是三维变换的内容,课程比较枯燥。主要是因为很多函数在单独使用时都不好描述其效果,我只好在最后举一个比较综合的例子。希望大家能一口气看到底了。只看一次可能不够,如果感觉到迷糊,不妨多看两遍。有疑问可以在下面跟帖提出。我也使用了若干图形,希望可以帮助理解。在前面绘转载 2012-08-10 08:59:41 · 499 阅读 · 0 评论 -
glPushMatrix()作用是什么
Mao!: Re:void glPushMatrix()作用是什么?请高手指点glPushMatrix()把当前的矩阵拷贝到栈中.当调用glPopMatrix时,最后压入栈的矩阵恢复为当前矩阵.这又是什么意思?既然人家问 glPushMatrix()的作用是什么?那么我们就应该告诉他这个语句有什么实际意义。当你做了一些移动或旋转等变换后,使用glPushMatrix转载 2012-08-10 09:03:50 · 1370 阅读 · 0 评论 -
复杂物体建模
十三、复杂物体建模13.1 图元扩展 13.1.1 点和线 下面分别介绍点和线的扩展形式及用法。 1)点。OpenGL中定义的点可以有不同的尺寸,其函数形式为: void glPointSize(GLfloat size); 设置点的宽度(以象素为单位)。参数size必须大于0.0,缺省时为1.0。 2)线。OpenGL能指定线的各种宽度转载 2012-08-10 08:52:42 · 874 阅读 · 0 评论 -
第八章 象素、位图、字体和图象的绘制
第八章 象素、位图、字体和图象的绘制位图和字体一个位图就是由0和1组成的矩形陈列,起到窗口中对应矩形位置的绘制掩模的作用。假定你正在绘制一幅位图,当前颜色为红色。在位图中为一个的每个地方,对应的象素将被红色象素取代(或与红色象素组合,要看哪个逐象素操作在起作用,参看“Testing and Operationg on Fragments")。如果在位图中有个一0,那个象素的内容将不受影转载 2012-08-10 08:55:10 · 667 阅读 · 0 评论 -
.openGL 函数 收集
glViewport()函数在OpenGL初始化完成之后,我们应该进行一些视图设置。首先是设定视见区域,即告诉OpenGL应把渲染之后的图形绘制在窗体的哪个部位。当视见区域是整个窗体时,OpenGL将把渲染结果绘制到整个窗口。我们调用glViewPort函数来决定视见区域:procedure glViewPort(x:GLInt;y:GLInt;Width:GLSizei;Height转载 2012-08-10 08:56:08 · 385 阅读 · 0 评论 -
聚光灯的旋转问题
因为旋转是坐标系在转,故虽然刚开始定义了聚光灯的位置,但是因为旋转故聚光灯的位置是一直在改变的,所以聚光灯的位置和灯泡的位置都是一样的,可以把聚光灯想象成一个看不见的物体,坐标系转动的时候,聚光灯也是在旋转的。。。。搞定!!!!!!!!转载 2012-08-10 08:56:53 · 528 阅读 · 0 评论 -
转:OpenGL基本概念入门4——颜色、光照和材质2
转:OpenGL基本概念入门4——颜色、光照和材质2 3 设置光源3.1 光源的种类环境光 环境光是一种无处不在的光。环境光源放出的光线被认为来自任何方向。因此,当你仅为场景指定环境光时,所有的物体无论法向量如何,都将表现为同样的明暗程度。点光源 由这种光源放出的光线来自同一点,且方向辐射自四面八方,如图5.3-1所示。转载 2012-08-10 08:57:37 · 576 阅读 · 0 评论 -
光源基本
前面已经提到过没有光就看不见东西,无论是顶点颜色、表面材质还是纹理贴图,只有打开了光照才能看得见。 还记得下面这两行代码吗?glEnable( GL_LIGHTING );glEnable( GL_LIGHT0 );第一行窃谒怠耙泄狻保谑鞘澜缇陀泄饬恕5诙惺窃谒荡蚩?号光源,于是世界就被在默认光源(0, 0, 1.0, 0)——照向-z轴方向的平行光——白色光照亮了。 在转载 2012-08-10 08:58:23 · 549 阅读 · 0 评论 -
旋转典型列子讲解
#include #include #include #include #include // Rotation amountsstatic GLfloat xRot = 0.0f;static GLfloat yRot = 0.0f;// Called to draw scenevoid RenderScene(void) { // Angl转载 2012-08-10 09:00:33 · 421 阅读 · 0 评论 -
纹理映射
十二、纹理映射12.1 基本步骤 纹理映射是一个相当复杂的过程,这节只简单地叙述一下最基本的执行纹理映射所需的步骤。基本步骤如下: 1)定义纹理、2)控制滤波、3)说明映射方式、4)绘制场景,给出顶点的纹理坐标和几何坐标。 注意:纹理映射只能在RGBA方式下执行,不能运用于颜色表方式。下面举出一个最简单的纹理映射应用例子: 例12-1 简单纹理映射应用例程(te转载 2012-08-10 08:53:33 · 1394 阅读 · 0 评论 -
纹理贴图
这么说来,纹理坐标的值不会大于1了,是这样吗? > > 确实可以大于1 可是三维文件里的纹理坐标值有大于1的啊??? 此外,是不是说根据纹理图象缩放的比例来改变纹理坐标就可以了 比如把120×20的图象缩放为128×32的图象后,相应的纹理 横坐标×(128/120), 纵坐标×(32/20)是这样吗? > > 这个我认为你理解错了。(或者是你说的我转载 2012-08-08 09:09:57 · 520 阅读 · 0 评论 -
纹理正确的映射到四边形上
为了将纹理正确的映射到四边形上,您必须将纹理的右上角映射到四边形的右上角,纹理的左上角映射到四边形的左上角,纹理的右下角映射到四边形的右下角,纹理的左下角映射到四边形的左下角。如果映射错误的话,图像显示时可能上下颠倒,侧向一边或者什么都不是。glTexCoord2f 的第一个参数是X 坐标。0.0 是纹理的左侧。0.5 是纹理的中点,1.0 是纹理的右侧。glTexCoord2f转载 2012-08-06 10:19:02 · 620 阅读 · 0 评论 -
OpenGL透视投影gluPerspective
OpenGL透视投影gluPerspective 收藏 透视投影(Perspective Projection)void gluPerspective(GLdouble fovy,GLdouble aspect,GLdouble zNear, GLdouble zFar);其操作是创建一个对称的透视投影矩阵,并且用这个矩阵乘以当前矩阵。参数fovy定义视野在X-Z平面的角度,范围是转载 2012-08-06 09:46:54 · 610 阅读 · 0 评论 -
opengl常见问题
01.相机如何在OpenGL中工作?02.我怎样才可以移动我的视点, 或者是相机,在我的场景中?03.我的相机该去哪, 模型视点矩阵还是投射矩阵?04.我该怎么执行一个缩放操作?05.给出当前模型视点矩阵,我怎么才可以确定相机的物体空间位置?06.我怎样才可以使照相机在我的场景中围绕一个点转?07.如何自动计算一个观察点可以显示全部的场景?(我知道边界球体和向上分量(bou转载 2012-08-06 09:56:52 · 896 阅读 · 0 评论 -
乱弹OpenGL选择-拾取机制(下)
本篇紧随上篇,探讨一下OpenGL内置的拾取机制,给出一个完整的拾取部分实现代码,请有心人批评指正。前篇是:[乱弹OpenGL选择-拾取机制(上)] —— ZwqXin.com前篇主要讲了名字栈机制,这是拾取机制中对拾取结果进行识别的机制,是后处理的前提。而本篇则从拾取机制的“拾取”部分,揭露一下我所理解的OpenGL内置拾取机制。3. 真正的拾取机制还记得前篇提及的一般游戏引擎中所使转载 2012-08-06 10:16:16 · 767 阅读 · 0 评论 -
颜色透明例子
#include // Header File For Windows#include // Header File For Standard Input/Output#include // Header File For The OpenGL32 Library#include // Header File For The GLu32 Library#inc转载 2012-08-08 09:05:17 · 368 阅读 · 0 评论 -
图形透明贴图
#include #include #include "bitmap.h"GLfloat LightAmbient[]= { 1.0f, 1.0f, 1.0f, 1.0f };GLfloat LightDiffuse[]= { 1.0f, 1.0f, 1.0f, 1.0f };GLfloat LightPosition[]={ 0.0f, 0.0f, 2.0f, 1.0f };转载 2012-08-08 09:04:37 · 521 阅读 · 0 评论 -
特殊光处理
十四、特殊光处理14.1、光照模型 OpenGL光照模型的概念由一下三部分组成:1)全局泛光强度、2)视点位置在景物附近还是在无穷远处、3)物体的正面和背面是否分别进行光照计算。 14.1.1 全局环境光 正如前面基础篇中所提到的一样,每个光源都能对一个场景提供环境光。此外,还有一个环境光,它不来自任何特定的光源,即称为全局环境光。下面用参数GL_LIGHT_MODE转载 2012-08-08 09:10:35 · 1028 阅读 · 0 评论 -
透明立方体有一面没办法透明的解决OpenGL
我在百度看到有人说“那个是底,不可能透明的。”,我觉得不对。我就试着做了一下,我刚开始画5个面时都能透明,然后我试着把四边形的六个面分成俩组,每组3个面,把 glEnable(GL_BLEND); // Turn Blending On glDisable(GL_DEPTH_TEST); // Turn Depth Testing Off glBlendFunc(GL_SRC_ALPH转载 2012-08-08 09:06:06 · 1758 阅读 · 0 评论 -
球体贴图的源代码
#include #include #include "bitmap.h"static GLUquadricObj *pSphere = NULL;GLfloat spin = 0;GLfloat spin1 = 0;#define ImageWidth 64#define ImageHeight 64GLubyte Image[ImageWidth][Imag转载 2012-08-08 09:06:39 · 719 阅读 · 0 评论 -
glut初始化API
glut初始化API*转自:http://old.blog.edu.cn/user3/zjdukang/archives/2007/1751751.shtml(1) void glutInit(int *argc, char **argv); 这个函数用来初始化GLUT库.这个函数从main函数获取其两个参数.对应main函数的形式应是:int main(int argc转载 2012-08-08 09:07:29 · 1050 阅读 · 0 评论 -
opengl
GLUT不是OpenGL所必须的,但它会给我们的学习带来一定的方便,推荐安装。Windows环境下的GLUT下载地址:(大小约为150k)http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip无法从以上地址下载的话请使用下面的连接:http://upload.programfan.com/upfile/20转载 2012-08-10 09:04:21 · 287 阅读 · 0 评论