E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Opengl学习
openGL学习
(1)
经过几天的了解后开始搭建opengl的开发环境,首先搭建windows上的开发环境。 vc++6.0 先安装这里就省掉了。 再者 安装GLUT工具包。opengl需要用到可以使编程方便撒。 http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip 这是glut的下载地址。 是个压缩包有五个文件
w401229755
·
2014-07-15 14:00
win7
vc++
OpenGL
OpenGL学习
归纳 -- buffer的使用总结
1.buffer分为framebuffer和renderbuffer两大类,其中framebuffer相当于renderbuffer的管理者,framebufferobject即称为FBO,常用于做离屏渲染缓冲等。renderbuffer则又可分为三类,colorbuffer/depthbuffer/stencilbuffer。2.生成framebufferobject的API函数: glGenF
lihei12345
·
2014-07-04 17:00
OpenGL学习
笔记(10)抗锯齿
计算机通过离散(不连续)的像素来绘制图形,想象一下,真实世界中,我们画直线,是比连续画的,还是一个点一个点画的?计算机就是一个点一个点画的(很小的矩形).这样就会导致绘制的图形走样(锯齿),消除锯齿的技术就叫反走样(抗锯齿)可以看这篇:http://blog.csdn.net/mikewolf2009/archive/2009/08/18/4460421.aspx点示例当点很大时,显
zcj331
·
2014-04-11 13:00
opengl学习
(五)一个机械臂程序,有关模型转换
最近这个内容让我很窝火啊,真是有点摸不到头脑,经过查资料,终于知道这其中的一些原理,由于我现在只是初步学习,有关矩阵变换的问题,我会在后面补充的,目前先稍微的说明,看了一个机械臂的程序,研究好一段时间终于知道模型变换中的这两个函数glTranslatef(),glRotatef()在执行的顺序上与实际是相反的。 参看http://www.cnblogs.com/yujunyong/archive/
zcj331
·
2014-04-11 13:00
OpenGL学习
笔记(8)显示列表
显示列表是一组存储在一起的OpenGL函数,可以在以后执行。(目的的存储值,那么就不用每次再计算,达到了优化的目的)分配显示列表索引值使用glGenLists来生成一个或多个未使用的索引值创建显示列表以glNewList开始并以glEndList结束如下示例GLuintlistName; staticvoidinit(void) { listName=glGenL
zcj331
·
2014-04-11 13:00
OpenGL学习
笔记(9)颜色混合
两个图形重叠时红色三角形在下,绿色三角形在上颜色混合比如玻璃,假设玻璃是绿色的,那么我们还可以看到下面的一层.即将两种颜色混合了glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);如下效果绿色三角形可以看到红色部分.这里称底下的红色三角形的颜色为目标颜色(下层),绿色为源颜色(上层)在OpenGL中使用颜色混合调用glEnable(GL_BLEND)
zcj331
·
2014-04-11 13:00
OpenGL学习
笔记(5)3D基本概念
这次介绍的都是一些比较枯燥的概念.在现实生活中都非常真实,为了避免枯燥,我们还是讲点大家都经历过的事情视图变换拍照:第一步先选景(模型)选好景之后你就需要挑一个好的位置(视图)来拍挑好位置以后拿起你的照相机对准景物接下来针对不同的景,你会做出不同的动作比如拍杭州西湖:那么你会横放你的照相机进行全景拍摄但是换做拍雷峰塔的,你想拍全景的就必须把照相机竖起来 比如你的头可以左右移动,也可以上下移动 以
zcj331
·
2014-04-11 13:00
OpenGL学习
笔记(6)第一个动画
首先再说明几个回调函数 glutMouseFunc用于捕获鼠标事件glutKeyboardFunc用于捕获键盘事件glutMotionFunc用于鼠标按下又移动鼠标的事件(MouseMove)glutIdleFunc事件,当循环队列处于空闲时则触发该事件glutTimerFunc单位时间内内触发事件第一个动画 #include #include staticGLfloatspin=0.0
zcj331
·
2014-04-11 13:00
OpenGL学习
笔记(13)位图与文字
位图由一个个像素组成,画位图,就是画一个个像素点.如下图像素点越多,那么图片的清晰度就更高。当然由于让一个人用一个个像素画图片,那真是痛苦...so,只是了解下函数而已.OpenGL中画位图的三个步骤一.定位(glRasterPos)假设你画下一个像素点,那么首先则需要确定位置二.定义位图的像素点一个图形由一组像素组成,如下图的F其像素点由一个数组组成,每行都是一个矩形,如0xc0转成二进制则
zcj331
·
2014-04-11 13:00
OpenGL学习
笔记(7)多边形绘制
绘制模式在绘制多边形时除了默认的填充方式,还可以使用点和线使用glPolygonMode函数来设置模式三种不同模式下的绘图 GL_FILL GL_LINEGL_POINT多边形的两面如果以顺时针绘制则是反面,逆时针绘制则是正面 //设置正面为填充模式 glPolygonMode(GL_FRONT,GL_FILL); //设置反面为线形模式 glPolygonMode(GL_BACK,GL_
zcj331
·
2014-04-11 13:00
OpenGL学习
笔记(12)基本光照
比较这两个球在现实生活中,比如一个表面是白色的球体,假设背景是黑色,然后没有任何灯光的照射那么就如右侧的圆一般,但这在有点不可能.现实中我们看到的都是左侧这样带有光照的球体,所以右侧的形状只能是几何体,无法模拟真实世界的球体.下面我们来看一下一些基本的概念首先定一个白色的球体如下图注意这是一个球体,但背面也是白色的,你看不到.启用光照功能依然是glEnable函数,参数是GL_LIGHTING现
zcj331
·
2014-04-11 13:00
OpenGL学习
笔记(14)像素操作
参考http://www.cnblogs.com/yutianfcl/articles/842414.html 图像与位图不同的是,图像的每个存储可以存储RGBA颜色绘制像素绘制一个矩形像素数据voidglDrawPixels(GLsizeiwidth,GLsizeiheight,GLenumformat, GLenumtype,constGLvoid*pixels); 如下示例 /*Create
zcj331
·
2014-04-11 13:00
OpenGL学习
一:OpenGL简介
OpenGL函数库相关的API有核心库(gl)、实用库(glu)、辅助库(aux)、实用工具库(glut)、窗口库(glx、agl、wgl)和扩展函数库等.gl是核心,glu是对gl的部分封装。glx、agl、wgl是针对不同窗口系统的函数。glut是为跨平台的OpenGL程序的工具包,比aux功能强大。扩展函数库是硬件厂商为实现硬件更新利用OpenGL的扩展机制开发的函数。1.OpenGL核
tiankefeng0520
·
2014-03-27 19:18
OpenGL
OpenGL学习
笔记(一)
#include #include //我使用的xcodevs下应该includegl.hglu.h staticGLfloatspin=0.0; voidinit(){ glClearColor(0.0,0.0,0.0,0.0); glShadeModel(GL_FLAT); } voiddisplay(){ glClear(GL_COLOR_BUFFER_BIT);//清除颜色缓冲参数还有
u013871984
·
2014-03-02 23:00
OpenGL
OpenGL学习
一
作者:朱金灿来源:http://blog.csdn.net/clever101 回家计划学习OpenGL开发。没有开发机子,用的是别人的笔记本,不想装庞大的VS,于是选择小巧一点的codeblocks作为练习的工具。首先下载codeblocks。 1.在官网上选择Binaries,如下: 在下载链接中有三个下载选择,第一个
clever101
·
2014-01-31 21:00
codeblocks
OpenGL
OpenGL学习
四十:正玄移动
正玄波浪曲线的特点是一个周期在x(0-360°)之间,y在(-1,+1)之间移动其中y=sinx假定移动一个周期X变化位置0~10,Y的变化位置5~-5,那么可推断出X=(10-0)/360.0*a其中a代表角度Y=sin(a)*5/1关于C++函数库中算数公式的使用SIN(弧度)弧度=PI/180.0f*a其中a代表角度 \#include"header.h" GLuinttexture[
tiankefeng0520
·
2014-01-28 08:00
OpenGL
OpenGL学习
三十九:飘动的旗帜
(此节内容对应NEHE教程第11课) 目前为止我们做的例子都是平面的,这个例子是带有波动效果的, 2维图形包括X,Y两个坐标系。因此看到的是平面的。3维图形由X,Y,Z三个坐标系构成,当Z坐标不为0时,可以产生3维的效果。一个图片或图形由许多个3维图形构成是,并且Z是变化的 就会产生波动的效果 for(int x=0; x<45; x++) {
tiankefeng0520
·
2014-01-27 10:00
OpenGL
OpenGL学习
三十八:图片文字
(此节内容对应NEHE教程第17课) 前面2节所创建的字体。都是需要结合OS假如某OS不能创建字体,那么如何显示出文字呢。这就需要采用图像文字的方式。其实原理很简单,每个字符对应都是一个四边形,我们对这个四边形进行纹理贴图(贴图内容为字符),每次输出字符的时候的,等于找到对应的纹理图形显示出来即可,为了提高性能,我们将使用显示列表 #include"header.h"" HDChDC=N
tiankefeng0520
·
2014-01-27 10:00
OpenGL
OpenGL学习
三十七:Windows 3D字体
(此节内容对应NEHE教程第14课) 本节主要说明OpenGL结合WINDOW 创建并使用3D字体 3D图形字体。创建过程和2D基本相似 1.声明显示列表base = glGenLists(256); 2.创建新的FONT font = CreateFont(WinAPI) 3.选择我们需要的字体 oldfont = (HFONT)SelectObject(
tiankefeng0520
·
2014-01-27 10:00
windows
OpenGL学习
三十五:加载压缩TGA
(此节内容对应NEHE教程第33课) 利用压缩算法可以减低图片大小。降低图片存储所需的物理存储空间,但是也会相应的增加图片解压缩带来的时间消耗对于TGA文件的压缩可以简单理解为,在图片信息存储区。并不是把每一个像素点的RGB值都进行存储,而是临近的像素点如果RGB值相同,那么进行合并形成“块”对于一个”块“来说 他们有一个共同的RGB值,但是块是由很多个像素点组成的  
tiankefeng0520
·
2014-01-27 10:00
OpenGL
OpenGL学习
三十六:Windows 2D字体
(此节内容对应NEHE教程第13课) 本节主要说明OpenGL结合WINDOW 创建并使用2D字体 作法1.声明显示列表base = glGenLists(96); 2.创建新的FONT font = CreateFont(WinAPI)3.选择我们需要的字体 oldfont = (HFONT)SelectObject(hDC, font);(WinAPI)4.创建显示列表 wglUseFon
tiankefeng0520
·
2014-01-27 10:00
OpenGL
OpenGL学习
三十二:二次几何体
主要包含圆柱体(Cylinder)圆盘(Disk)球(Sphere)圆锥(Cylinder) 作法:1.创建几何体对象GLUquadricObj *quadratic=gluNewQuadric();2.设置几何体属性gluQuadricNormals(法线)gluQuadricTexture(纹理)gluQuadricOrientation(对齐方式)gluQuadricDrawStyle(绘画
tiankefeng0520
·
2014-01-26 08:00
OpenGL
OpenGL学习
三十一:累积缓冲区
OpenGL除了颜色缓冲区、深度缓冲区、模板缓冲区之外,还有累积缓冲区。累积缓冲区允许你把渲染到颜色缓冲区的值,拷贝到累积缓冲区。在多次拷贝操作到累积缓冲区时,可以用不同方式的把颜色缓冲区内容和当前累积缓冲区的内容进行重复混合。当在累积缓冲区完成一幅图像之后,可以拷回颜色缓冲区,然后通过SwapBuffers显示到屏幕上。累积缓冲区的操作通过voidglAccum(GLenumop,GLfloat
tiankefeng0520
·
2014-01-26 08:00
OpenGL
OpenGL学习
三十三:球面映射
(此节内容对应NEHE教程第23课) 把环境纹理包裹在你的3D模型上,让它看起来象反射了周围的场景一样。球体环境映射是一个创建快速金属反射效果的方法首先,你需要一幅球体环境映射图,用来把它映射到球体上。在Photoshop中打开一幅图并选择所有的像素,创建它的一个复制。接着,我们把图像变为2的幂次方大小,一般为128x128或256x256。最后使用扭曲(distort)滤镜,并应用球体效果。然后
tiankefeng0520
·
2014-01-26 08:00
OpenGL
OpenGL学习
三十四:剪裁区域和TGA图像文件的加载
(此节内容对应NEHE教程第24课) 应用.tga文件作为纹理数据来源进行纹理贴图 .tga图像文件数据格式: 0~~11头信息12~13图像宽度byte[13]*256+byte[12]14~15图像高度byte[15]*256+byte[14]16图像每像素存储占用位(bit)数24或3218~end图片数据域数据格式为GBRA,特殊需要需要转换图片总大小=图像宽度*图像高度*(图像每像素存
tiankefeng0520
·
2014-01-26 08:00
OpenGL
OpenGL学习
三十:深度缓冲区与掩码
深度缓冲区进行三维混合多边形的绘图顺序极大地影响了最终的混合效果。为了应对不同深度的图形显示我们要开启深度缓冲区glEnable(GL_DEPTH_TEST);对已开启深度缓冲区的图形来说,如果一个不透明的物理如果举例观察点较近,那么它所遮挡的部分就不会进行绘制对于存在透明度的图形来说要复杂一些,如果一个透明的物体靠近距离观察点较近。那么它所遮挡的部分也是需要绘制的对于透明的图形绘制需要设置深度缓
tiankefeng0520
·
2014-01-26 08:00
OpenGL
OpenGL学习
二十七:混合
混合步骤:1.设置混合模式2.启用混合glColor4f(1.0f,1.0f,1.0f,0.5f); //全亮度,50%Alpha混合glBlendFunc(GL_SRC_ALPHA,GL_ONE); //基于源象素alpha通道值的半透明混合函数glEnable(GL_BLEND); //打开混合 OpenGL会把源颜色和目标颜色各自取出(源颜色认为是片
tiankefeng0520
·
2014-01-25 13:00
OpenGL
OpenGL学习
二十九:模板缓冲区与模板测试
帧缓冲区有许多缓冲区构成,这些缓冲区大致分为:颜色缓冲区:用于绘图的缓冲区,它包含了颜色索引或者RGBA颜色数据。深度缓冲区:存储每个像素的深度值,当启动深度测试时,片段像素深度值和深度缓冲区深度值进行比较,决定片段哪些像素点数据可以替换到颜色缓冲区中。模板缓冲区:就像使用纸板和喷漆一样精确的混图一样,当启动模板测试时,通过模板测试的片段像素点会被替换到颜色缓冲区中,从而显示出来,未通过的则不会保
tiankefeng0520
·
2014-01-25 13:00
OpenGL
OpenGL学习
二十八:蒙版
(本节对应分析NEHE教程第20课) 有时我们希望上层的图片的某些区域能投出下层的某些区域。当然我们可以通过关键色进行处理,但是蒙版技术一样可以达到这样的效果,通过以下图片达到蒙版的效果 本节包含2个技术点1.如何让纹理移动,放大(不是图像位置移动,是纹理移动)(前面以及介绍过了)2.蒙版的设计蒙版设计简单的说是通过控制Alpha来让白色的部分透,黑色的部分不透 蒙版的设计1.第一张图与第二张图进
tiankefeng0520
·
2014-01-25 13:00
OpenGL
OpenGL学习
二十六:雾
雾效果是就是是远处看的模糊,一种类似于大气效果。雾是在执行了矩阵变换,光照,纹理后才会应用,因此雾效果对上述内容都会产生印象。在大型项目中雾气可以提高性能,因为他可以选择不绘画因为雾气影响而看不见的物体雾的效果做法:1.设置雾气的模式glFogi(GL_FOG_MODE,fogMode[fogfilter])2.设置雾的颜色glFogfv(GL_FOG_COLOR,fogColor);3.设置雾的
tiankefeng0520
·
2014-01-25 13:00
OpenGL
OpenGL学习
二十五:像素存储模式
内存对齐:字长32位的计算机上,如果数据在内存中按照32位的边界对齐(地址为4字节的倍数),那么硬件提取数据的速度就会快得多,类似的在64位计算机上,如数据地址按照8字节对齐,他对数据存取效率会非常高举例:图像每行按照4字节方式进行存储,如果图像宽度是5个像素。RGB各占一个字节,那么每行=5*3=15个字节,按照4字节方式存储每行会浪费一个自己的存储空间 如果每行按照1字节方式存储,每一行的数
tiankefeng0520
·
2014-01-25 13:00
OpenGL
OpenGL学习
二十四:绘制像素,位图,图像
除了几何图形的渲染,还有两种重要的类型的数据渲染位图:由0和1组成的矩形数组(采用黑白,0为黑1,为白)图像数据:每个像素包含好几段数据(RGBA) 当前光栅位置当前光栅位置就是开始绘制下一副位图或图像的屏幕位置,光栅坐标需要经过模型投影矩阵变换glRasterPos{234}{sifd}(TYPEx,TYPEy,TYPEz,TYPEw);当前窗口位置glWindowPos{23}{sifd}(T
tiankefeng0520
·
2014-01-24 08:00
OpenGL
OpenGL学习
二十三:多重纹理
在进行纹理贴图是,一次是把一副图像应用在个一个多边形上,多重纹理允许应用几个纹理,在纹理操作管线上把它们逐个应用到同一个多边形上使用glGetIntegerv(GL_MAX_TEXTURE_UNITS)查询当前OPENGL最多支持纹理数量 多重纹理的步骤 1.建立纹理单元纹理图像glTexImage2D 纹理过滤 glTexParameteri(…, GL_TEXTU
tiankefeng0520
·
2014-01-24 08:00
OpenGL
OpenGL学习
二十二:纹理坐标自动生成
可以让OpenGL自动生成纹理坐标,而不是使用glTexCoord*()函数显示地分配纹理坐标voidglTexGeni(GLenumcoord,GLenumpname,GLintparam); coordpnameparam{GL_S,GL_T}或{GL_R,GL_Q}GL_TEXTURE_GEN_MODEGL_OBJECT_LINEARGL_EYE_LINEARGL_SPHERE_MAPGL
tiankefeng0520
·
2014-01-24 08:00
OpenGL
OpenGL学习
二十一纹理坐标
在纹理贴图场景时,必须为每个顶点提供物体坐标和顶点坐标,经过变换之后,物体坐标决定了应该在屏幕上的那个地点渲染每个特定的顶点,纹理坐标决定了纹理图像中的那个纹理单元将分配给这个顶点voidglTexCoord{1,2,3,4}{sifd}(Typecoords); 纹理的放大与缩小1.原始大小 glTexCoord2f(0.0f,0.0f);glVertex2f(-1.0f,-1.0f); glT
tiankefeng0520
·
2014-01-24 08:00
OpenGL
OpenGL学习
二十:纹理函数
通过纹理函数(glTexEnv*())可以把纹理图像的颜色与物体表面的原先的颜色进行混合 当我们指定纹理数据时,其第三个参数internalformat可以简化为6种格式 基本内部格式 所提取的源颜色(R,G,B,A) GL_ALPHA (0,0,0,A) GL_LUMINANCE (L,L,L,1) GL_LUMINANCE_ALPHA (L,L,L,A)
tiankefeng0520
·
2014-01-24 08:00
OpenGL
OpenGL学习
十九:纹理过滤
当物体放大缩小时导致投影在上面的纹理也随着变化,OpenGL为了优化其细节使其效果更好,因此可以采用纹理过滤glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST);GL_TEXTURE_MAG_FILTERGL_NEAREST或GL_LINEARGL_TEXTURE_MIN_FILTERGL_NEAREST速度快,效果差GL_
tiankefeng0520
·
2014-01-23 08:00
OpenGL
OpenGL学习
十八:多重细节层
在动态场景中,当一个纹理对象迅速地远离观察点时,纹理图像必须随着背投影的图像一起缩小,为了实现这个效果,OPENGL必须对纹理图像进行过渡,适当地对它进行缩小,使他不会产生令人不舒服的视觉感受。OpenGLmipmap预先设置好不同分辨率的纹理图像,根据被贴图的物体的大小确定采用哪种分辨率的纹理图像,达到平滑过渡的效果 使用mipmap必须提供全系列的大小为2的整数次方的纹理图像,其范围从最大值直
tiankefeng0520
·
2014-01-23 08:00
OpenGL
OpenGL学习
十七:纹理贴图
纹理贴图的步骤1.创建纹理对象,并为它指定一个纹理,纹理包含1维,2维,3维。描述纹理的数据由1~4个元素组成,用于表示RGBA四元组。调整常量或者深度成分glGenTextures(1, &texture[0]);glBindTexture(GL_TEXTURE_2D, texture[0]);2.确定纹理如何应用到每个像素上glTexEnvf(GL_TEXTURE_ENV, GL_TE
tiankefeng0520
·
2014-01-23 08:00
OpenGL
OpenGL学习
十五:光照2
环境光:环境光来自于四面八方。所有场景中的对象都处于环境光的照射中。漫射光:漫射光由特定的光源产生,并在您的场景中的对象表面上产生反射。处于漫射光直接照射下的任何对象表面都变得很亮,而几乎未被照射到的区域就显得要暗一些。创建光源的过程和颜色的创建完全一致。前三个参数分别是RGB三色分量,最后一个是alpha通道参数。glLightfv(GL_LIGHT1,GL_AMBIENT,LightAmbie
tiankefeng0520
·
2014-01-23 08:00
OpenGL
OpenGL学习
十六:纹理绑定
前面介绍的都是给图元添加颜色,纹理绑定介绍的是如果把图片绑定到图元,主要步骤如下:(这里这是简单介绍,后续详细说明)1.生成纹理IDglGenTextures(1,&texture[0]);2.创建纹理对象glBindTexture(GL_TEXTURE_*D,texture[0]);3.指定纹理内容glTexImage*D();4.指定纹理属性glTexParameteri(…,......,…
tiankefeng0520
·
2014-01-23 08:00
OpenGL
OpenGL学习
十四:光照1
环境光:那些在环境中进行了充分的散射,无法辨别其方向的光,它似乎来自所有方向散射光:来自某个方向。因此从它正面照射的表面,看起来更明亮以下。镜面光:来自特定的方向,并且倾向于从表面的某个特定的方向放射右图1:环境光右图2:散射光右图3:环境光与散射光的混合 创建光源GLAPIvoidGLAPIENTRYglLightfv(GLenumlight,GLenumpname,constGLf
tiankefeng0520
·
2014-01-22 00:00
OpenGL
OpenGL学习
十二:显示列表
显示列表可以提高性能,因为他可以存储OPENGL的函数,供以后使用,如果需要多次重绘同一个几何图形,或者如果一次需要多次调用的用于更改状态的函数,把这些函数存储在显示列表中(将显示列表中的矩阵结果集保存,后续使用不需要重复计算以提高性能) 当通过网络在另外一台远程计算机上运算OPENGL程序时,把绘画命令保存在显示列表中具有特别重要意义,由于显示列表是服务器的一部分,这样可以减少网络通信,提
tiankefeng0520
·
2014-01-22 00:00
OpenGL
OpenGL学习
十三:多边形偏移
如果想着重显示实心物体的边缘,可以先用GL_FILL模式绘制这个物体,然后再GL_LINE下再次用另外一种不同的颜色再次绘制(如右图),但是由于光栅化的方式不完全相同,因此直线和多边形经过计算后的Z值也可能不同,也可能向后,这就导致了线和实心忽浓忽暗的效果(右图2)glPolygonMode(GL_FRONT_AND_BACK,GL_LINE);glutSolidSphere(1.0,20,12)
tiankefeng0520
·
2014-01-22 00:00
OpenGL
OpenGL学习
十一:抗锯齿
启用抗锯齿还是以glEnable来启用抗锯齿,可以根据不同图形进行处理1.GL_POINT_SMOOTH点2.GL_LINE_SMOOTH线3.GL_POLYGON_SMOOTH多边形抗锯齿质量效果越好,那么计算机速度就越慢glHint用于对点,线,多边形的抗锯齿程度进行设置1.GL_DONT_CARE放弃,应该是系统默认吧2.GL_FASTEST速度优先3.GL_NICEST图形显示质量优先点抗
tiankefeng0520
·
2014-01-22 00:00
OpenGL
OpenGL学习
十:视口,正投影,透视投影
正投影:将物体直接投影到屏幕上,不改变其大小glOrtho(GLdoubleleft,GLdoubleright,GLdoublebottom,GLdoubletop,GLdoublezNear,GLdoublezFar);透视投影:远处的东西看起来要小一些,近处的东西看起来会大一些,这就是透视原理gluPerspective(GLdoublefovy,GLdoubleaspect,GLdoubl
tiankefeng0520
·
2014-01-22 00:00
OpenGL
OpenGL学习
九:视图简介
场景视图变化类似照相机拍照:1.把照相机固定到三脚架上,并让它对准场景(视图变换)使用gluLookAt设置视图变换2.对场景进行安排,是各个物体在照片中的位置是我们所希望的(模型变换)使用模型变换的目的是设置模型的位置和方向,如,缩放,旋转灯3.选择照相机镜头,并调整放大的倍数(投影变换)正投影与透视投影4.确定最终照片的大小(视口变换)glViewport 透视投影透视投影最显著的特征就是透
tiankefeng0520
·
2014-01-21 09:00
OpenGL
OpenGL学习
八:缓冲区对象
产生原因OpenGL是按照CS结构设计的,当OPENGL需要数据的时候,必须从客户机内存传递到服务器,如果客户机和服务器属于不同的计算机,这样的数据效率缓慢,并且有时是冗余的 做法: 1.创建缓冲区对象 glGenBuffers(NUM_BUFFER,buffers); 2.激活缓冲区对象 glBindBuffer(target,buffer); GL_
tiankefeng0520
·
2014-01-21 09:00
OpenGL
OpenGL学习
七:顶点数组
产生原因: Opengl对几何图元的绘制需要大量的函数调用,每个函数调用都需要时间,为了减少这部分时间。减少图元绘制过程调用的函数 步骤: 1.激活 glEnableClientState(param) GL_VERTEX_ARRAY GL_COLOR_ARRAY GL_SECONDARY_COLOR_ARRAY GL_INDEX_ARRAY GL_N
tiankefeng0520
·
2014-01-21 08:00
OpenGL
OpenGL学习
六:3D图形
glBegin(GL_QUADS); glVertex3f(1.0f,1.0f,-1.0f);//四边形的右上顶点(顶面) glVertex3f(-1.0f,1.0f,-1.0f);//四边形的左上顶点(顶面) glVertex3f(-1.0f,1.0f,1.0f);//四边形的左下顶点(顶面) glVertex3f(1.0f,1.0f,1.0f);//四边形的右下顶点(顶面) gl
tiankefeng0520
·
2014-01-21 08:00
OpenGL
上一页
14
15
16
17
18
19
20
21
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他