自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 资源 (4)
  • 收藏
  • 关注

原创 本Blog收藏了大量OpenGL文章,请到右侧"文章"列表查看

本Blog收藏了大量OpenGL文章,请到右侧"文章"列表查看 ,每个分类里面有相应的文章.包括:【帮】OpenGL管线【我】OpenGL光照【点】OpenGL交互【左】OpenGL矩阵转换【边】OpenGL曲线与曲面【的】OpenGL纹理【广】OpenGL颜色与材质【告】OpenGL教程【拜】OpenGL图像与文字【托】OpenGL资料各个分类。。

2007-10-26 09:36:00 5974 8

原创 OPENGL

这个能不能给分啊

2009-04-20 23:12:00 1667 1

原创 OPENGL中3DMAX模型的应用

OPENGL中3DMAX模型的应用方 斌(贵航集团飞机设计所,贵州 安顺 561000)摘 要:阐述如何在OPENGL三维编程中实现3DMAX数据模型的程序控制,成果可用于飞机飞行的运动模拟和飞行实时监控等领域中。 OPENGL;3DMAX;ASE文件;投影和变换中图分类号:TP391.72;TH311.52 文献标识码:B 0 前 言OPENGL是一个硬件和图

2008-04-22 11:26:00 5988

原创 我需要努力

来一个热门3D渲染技术名词解释主要是这几个ShadowVolume,NormalMap,VolumeFog,HighDynamicRange,DynamicLighting,质点-弹簧物理模型,ShaderModel3.0 目前至少有两种广泛采用的实时阴影发生技术。一种是ShadowVolume,还有一种就是ShadowMap。 ShadowVolume基于的是几何体算法,

2008-03-31 10:25:00 1696

原创 使用模板缓冲区时需要注意的几个问题

 使用模板模板缓冲时需要注意的几个问题-----作者:  熊 斌       2007.12.30         xiongbincsu@yahoo.com.cn   也许你使用过模板缓冲区,但是你真正懂得它的正确用法吗?   本人根据实践总结出下面几个问题,希望对大家能有所帮助:   1. 使用模板缓冲区的步骤    2.glStencilFunc中的参数意义,及如何选

2007-12-30 23:25:00 4240 4

原创 OpenGL中的Alpha测试,深度测试,模板测试,裁减测试

大家好。现在因为参加工作的关系,又是长时间没有更新。趁着国庆的空闲,总算是又写出了一课。我感觉入门的知识已经快要介绍完毕,这课之后再有一课,就可以告一段落了。以后我可能会写一些自己在这方面的体会,做一份进阶课程。现在即将放出的是第十二课的内容。首先还是以前课程的连接:第一课,编写第一个OpenGL程序第二课,绘制几何图形第三课,绘制几何图形的一些细节问题第四课,颜色的选择第五课,三维的空间变换第六

2007-12-26 17:56:00 19915 12

原创 如何投影一个纹理 (转 by 叶蔚 Azure)

纹理投影技术在实时渲染中应用很广泛, 特别是一些特效的创建(投影机效果, 反射)要向任意一个方向投影纹理一般有下面几个步骤:首先我们定义S,T,R,Q平面GLfloat SPlane[]={1, 0, 0, 0};GLfloat TPlane[]={0, 1, 0, 0};GLfloat RPlane[]={0, 0, 1, 0};GLfloat QPlane[]={0, 0, 0,

2007-12-26 14:10:00 2980

原创 如何计算阴影贴图中的投影纹理坐标

如何计算阴影贴图中的投影纹理坐标-----作者:  熊 斌       2007.12.26          xiongbincsu@yahoo.com.cn          如需转载,请注明作者                        在蓝宝书的第18章中给出了一个阴影贴图的例子,对于其中阴影透视的部分曾经让我百思不得其解,主要疑惑在于  1.一幅平面的纹理怎么样投影到

2007-12-26 13:53:00 4627 6

原创 如何投影一个纹理 (翻译:心蓝 潘李亮)

如何投影一个纹理 原文出处:SGI OpenGL 教程翻译:心蓝 潘李亮。 Email: Xheartblue@etang.com 译者前言:  影子有两种经典的实现方法:一是Shadow Volume 。二是Shad

2007-12-25 22:14:00 3195

原创 OpenGL自动计算纹理坐标( By 董士崇 jerrydong@tom.com)

OpenGL中有两种方法为顶点(Vertex)指定纹理坐标:1.由人工给每个顶点分配坐标。可以通过函数glTexCord*()来完成。2.由OpenGL自动为每个顶点分配坐标。这个任务由函数glTexGen*()来完成。一开始,我对glTexGen*()这个函数并不是十分的理解,不知道OpenGL到底是怎样自动生成纹理坐标的。查阅了相关的资料,才开始有一点明白:要完成自动纹理坐标的生成,首先要指定

2007-12-25 17:54:00 4844

原创 混合的高级教程 By Aurora_Mylove

混合是什么呢?混合就是把两种颜色混在一起。具体一点,就是把某一像素位置原来的颜色和将要画上去的颜色,通过某种方式混在一起,从而实现特殊的效果。假设我们需要绘制这样一个场景:透过红色的玻璃去看绿色的物体,那么可以先绘制绿色的物体,再绘制红色玻璃。在绘制红色玻璃的时候,利用“混合”功能,把将要绘制上去的红色和原来的绿色进行混合,于是得到一种新的颜色,看上去就好像玻璃是半透明的。要使用OpenGL的混合

2007-12-07 22:54:00 1762

原创 OpenGL选择模式中的问题

  ---------作者 熊斌     OpenGL中的交互功能中最重要的一个是拾取(或者叫选择),但是我们经常会碰到开启了选择模式,但是确在屏幕上选不到物体,或者是点屏幕上任何地方都有物体被选中的情况....      这是为什么呢?   看看使用选择模式的过程是怎么样的:   1.在绘图函数中给图元命名   2.在鼠标响应中调用你的选择处理函数   3. 在处理函数中

2007-11-12 17:47:00 5000 3

原创 Alpha颜色混合的魔法 上篇 “法术篇”

 为了便于讨论,这里只处理32bit的ARGB颜色;代码使用C++,编译器:VC2005A: 一些颜色和图片的数据定义: #define asm __asmtypedef unsigned char TUInt8; // [0..255]struct TARGB32 //32 bit color{TUInt8 b,g,r,a; //a is alpha};struct TPicRe

2007-10-23 15:26:00 2280

原创 OpenGL绘图环境建立的关键步骤 (转 cacar 的Blog)

* step1: 定义像素格式, ------------ static PIXELFORMATDESCRIPTOR pfd =  {  sizeof(PIXELFORMATDESCRIPTOR),  // 结构体的大小  1,     // 版本号  PFD_DRAW_TO_WINDOW |   // 格式支持窗口  PFD_SUPPORT_OPENGL |   // 格式支持OpenGL  P

2007-10-19 21:01:00 1670

原创 基于OpenGL的烟花粒子系统 (转 远航的Blog)

动画内容本动画模拟烟花的燃放过程。烟花燃放从地面升起,升到空中爆炸并产生无数小烟花围成圆形并落下,下落过程中伴随这能量的衰减直到消失。此动画的视角为仰视大致为30°。名词解释VC++6.0:一种开发环境;OpenGL:是个专业的开放的3D程序接口,是一个功能强大,调用方便的底层3D图形库;glut :OpenGL Utility Toolkit;粒子系统:是许多粒子的集合。

2007-10-19 20:58:00 4351 2

原创 使用TGA文件作为纹理(转 Phil.Z)

TGA文件用作纹理较BMP文件的优势在于:TGA文件的载入不需要使用aux库,并且TGA纹理可以拥有ALPHA通道。而载入TGA文件作为纹理必须要了解的是TGA文件的文件结构。TGA文件的文件结构如下面的表所示 偏移 长度

2007-10-19 20:53:00 3236 1

原创 OpenGL蒙板(转 Phil.Z's Program Blog)

一、蒙板        蒙板是这样的一种机制,他用来控制深度在蒙板其后的物体,在蒙板区域的某个位置是否被显示。这个功能可以使用混色通过控制ALPHA通道的值来完成,但是这样的效果并不好,会产生蒙板上物体比较虚的效果。使用蒙板以后我们可以使得透过深度较靠前的物体看到深度较靠后物体的一个部分。 这个机制可以用两种方法来实现。       第一种方式是使用模拟的方式,它的原理是使用混色当中的象素叠加

2007-10-19 20:51:00 2235

原创 OpenGL中蒙板缓冲区的妙用(转)

技术基础  Stenciling 蒙板1、类似于深度缓冲的逐像素测试2、与蒙板缓冲区内的值比较,测试失败的片断将被拒绝3、当以下情况时,特定的操作将被执行: -蒙板测试失败 -深度测试失败 -深度测试通过4、提供对象素更新非常细致的控制  OpenGL中相关APIglEnabe/glDisable(GL_STENCIL_TEST);glStencilFunc(function,re

2007-10-19 20:48:00 3880

原创 ModelView矩阵的含义和应用(转 linghuye's blog)

设OpenGL的镜头坐标系的三个轴为(R,U,N),这里的R,U,N的数值表达在世界坐标系上,表达为*行*向量.则OpenGL用gluLookAt建立的ViewMatrix为:  R( U ). 即ViewMatrix的第一行为R,第二行为U,第三行为-N.  -N 假设当前的ModelMatrix为单位矩阵,当我们使用glGetFloatv(GL_MODELVIEW_MATRIX, &m

2007-10-19 20:26:00 3733

原创 OpenGL选择机制的一点讨论 (转)

今天上午和susu讨论了下这篇随笔中关于选择和拾取的代码,发现有下面几个问题值得思考:1, selectBuff[BUFFER_LENGTH]是用来存放命中记录的,在选择模式下,与拾取矩阵相交的图元就会被选择命中,就会将一条命中记录写入到选择数组中,每个命中记录包括:selectBuff[0]保存命中发生时名称堆栈中的名称数目,selectBuff[1], selectBuff[2]保存了与拾

2007-10-18 12:58:00 2009

原创 OpenGL中的选择和反馈(转)

OpenGL中的选择和反馈读完此章之后,你将能够做到:  建立允许用户选择(select)屏幕区域或拾取(pick)绘制在屏幕上的物体的应用程序  利用OpenGL的反馈(feedback)模式获取绚染计算结果    有些图形应用程序只绘制两维和三维物体构成的静态图形,另一些允许用户识别屏幕上的物体并移动、修改、删除或用其它方法操纵这些物体。OpenGL正是设计用于支持这些交互式应用程序的。因

2007-10-18 12:55:00 3506 2

原创 OpenGL显示列表二(转)

(一)定义显示列表。  前面所举出的例子都是瞬时给出函数命令,OpenGL瞬时执行相应的命令,这种绘图方式叫做立即或瞬时方式(immediate mode)。OpenGL显示列表(Display List)是由一组预先存储起来的留待以后调用的OpenGL函数语句组成的,当调用显示列表时就依次执行表中所列出的函数语句。显示列表可以用在以下场合:  1)矩阵操作  大部分矩阵操作需要OpenGL计算逆

2007-10-18 12:46:00 5250

原创 基于OpenGL的三维曲面数据场动态显示 (转)

基于OpenGL的三维曲面数据场动态显示2007-08-20 08:53 作者: 白婷 赵军 朱双华等 出处: 计算机与信息技术 责任编辑:方舟   摘 要 在大数据量条件下,实时动态显示三维曲面较困难,其关键在于提高三维图形数据处理和图形绘制速度。通过对基于图形工业标准OpenGL实现三维曲面动态显示的原理和方法的讨论,提出采用OpenGL的双缓存、显示列表技

2007-10-18 12:41:00 5504

原创 显示列表的设计哲学(转)

       为了优化性能,OpenGL显示列表更像是个命令缓存器,而不是个动态数据库。换句话说, 当显示列表被创建之后,它就无法进行更改。如果显示列表允许进行更改,那么由于搜索显示 列表并执行内存管理所带来的开销将会降低显示列表的性能。当一个可更改的显示列表的一部 分被修改时,内存的分配和销毁可能会产生内存碎片。OpenGL实现为了提高效率而对显示列表 所存储的函数所作的所有更改都必

2007-10-18 12:39:00 3023

原创 OpenGL 显示列表(转)

1、显示列表概论  16.1.1 显示列表的优势  OpenGL显示列表的设计能优化程序运行性能,尤其是网络性能。它被设计成命令高速缓存,而不是动态数据库缓存。也就是说,一旦建立了显示列表,就不能修改它。因为若显示列表可以被修改,则显示列表的搜索、内存管理的执行等开销会降低性能。  采用显示列表方式绘图一般要比瞬时方式快,尤其是显示列表方式可以大量地提高网络性能,即当通过网络发出绘图命令时,由于显

2007-10-18 12:33:00 1900

原创 OpenGL的帧缓存 (天 蚕 蛾)

(本文参考的是《OpenGL编程权威指南》,也就是传说中的“红宝书”)一、缓存的分类1. 颜色缓存    指程序员绘图所用的缓存,分为:     左、右缓存——用于立体感视图(必须要有左缓存);     前、后缓存——用于双缓存(必须要有前缓存);     4个辅助缓存——可选择的、不可显示(程序员可以自己定义和使用它们)。2. 深度缓存    用来存储每个象素的深度值,也称为Z缓存。3. 模板缓

2007-10-14 17:38:00 2376

原创 OpenGL中的矩阵存储方式

  选择自 skyman_2001 的 Blog在OpenGL中,矩阵是以列优先的方式(column-major order)存储的,而一般的数学书上是以行优先的方式(row-major order)存储的。 列优先:m0     m4     m8     m12m1     m5     m9     m13m2     m6     m10   m14m3     m

2007-10-14 17:32:00 1738

原创 使用OpenGL开发时Blend混合的参数选择技巧

 在使用glBlendFunc(GLenum sfactor,   GLenum dfactor )函数时,经常为选择合适的参数而大伤脑筋,不同的参数会产生不同的半透明等效果。实际上,Src有9个参数可选,而Dst有8个参数可选,从而一共有72种组合。 使用以下代码,可以查看所有可能的渲染效果,然后根据特效的索引值选择合适的参数即可。其中,RenderObjectWithAlphaAndT

2007-10-14 17:21:00 1953

原创 OpenGL中用矩阵调色板混合顶点

扩展:GL_ARB_matrix_paletteGL_ARB_vertex_blend 顶点混合函数:V = V*Mat[0]*Weight[1] + V*Mat[1]*Weight[1] + … + V*Mat[n]*Weight[n]   OpenGL增加了前面两个ARB扩展以支持矩阵调色板合顶点混合,这两项功能是硬件实现骨骼动画的基础。首先要用glEnbale(

2007-10-14 17:07:00 3411

原创 利用VC+OpenGL实现融合,雾化,反走样

 作者: 中国电波传播研究所青岛分所郎锐   出处: 天极网 责任编辑:方舟   引言  融合(blending)、雾化(fog)与反走样(antialiasing)是OpenGL中的三种特殊效果处理方法。融合提供了一种透明或半透明显示的技术;雾化处理则根据物体距离视点的远近对其进行恰当的模糊处理;反走样则可减少在绘制离散化的图形时所产生的误差走样。  实现融合特效  融合

2007-10-14 17:03:00 3616

原创 OpenGL 光照常识

1. 几个概念 环境光——经过多次反射而来的光称为环境光,无法确定其最初的方向,但当特定的光源关闭后,它们将消失. 全局环境光——它们并非来自特定的光源,这些光经过了多次散射,已经无法确定其光源位于何处. 散射光——来自同一方向,照射到物体表面后,将沿各个方向均匀反射,因此,无论从哪个方向观察,表面的亮度都相同. 镜面反射光——来自特定方向,也被反

2007-10-09 12:00:00 8754 2

原创 OpenGL开发包介绍(转)

  开发基于OpenGL的应用程序,必须先了解OpenGL的库函数。它采用C语言风格,提供大量的函数来进行图形的处理和显示。OpenGL库函数的命名方式非常有规律。所有OpenGL函数采用了以下格式:    

2007-10-09 11:51:00 4392

原创 OpenGL光照 学习笔记(转)

我的毕业设计要用到OpenGL,时间不多了,估计学习的时间也就一两个月吧。没办法,只好硬着头皮学了,不知道这一两个月能学多少。  光照光照是非常重要的一部分,对光照的设置分为三个部分:1,创建光源光源有几个特征参数,如颜色、位置和方向。用于指定光源属性参数的函数是glLight*(),它有三个参数,分别标识需要指定属性的光源、光源属性和属性值。              voi

2007-10-08 11:56:00 2669

原创 OpenGL 材质效果 (转)

  OpenGL - Material (材质) 来自:86VR | 作者:IceSharK - PP.Poet | 时间:2004-10-10 |  点击:

2007-10-08 11:53:00 4569 2

原创 OpenGL 复杂光照效果(转)

OpenGL - Lighting (光照) 来自:86VR | 作者:IceSharK - PP.Poet | 时间:2004-10-10 

2007-10-08 11:49:00 7530 2

原创 OpenGL帧缓存(转)

作为最后一关,我们将架设自己即时光影的动画,让没有VOODOO的玩家看看OPENGL 这震撼(至少我是这么认为的吧)的效果。 我们前面(好象是第三还是第四次)讲过如何用几何变换实现动画。那时的效果现在看肯定不尽人意,因为频繁的闪烁不是我们需要的。因为那时(到这之前也是)采用的是单缓存模式。对正在显示的部分边计算边修改必然造成速度瓶颈,出现闪烁。一般正规的动画制作在实现上都是通过双缓存实现的(硬

2007-10-08 11:39:00 2216

原创 OpenGL显示列表(转)

 (一)简介 所谓显示列表就是一组预选存储起来的留待以后调用的函数语句。调用此显示列表时就按次序执行其中函数。以前所有的函数调用可以称之为立即方式(Immediate mode),现在我们将介绍显示列表方式(Display list)。 显示列表可以优化程序运行性能。它被设计成命令的高速缓存,而不是动态的数据库缓存。一旦建立列表,删除前,则不能被修改,否则会带来系统效率的降低。 显示列表主要目

2007-10-08 11:35:00 1461

原创 OPENGL的特殊效果,融合,雾化,反走样(转)

1 融合 前面从未接触过透明或半透明的物体,因为我们从未启用过融合处理 所谓融合就是假设在RGBA模式下,源色为(Rs,Gs,Bs,As),目标色为 (Rd,Gd,Bd,Ad),源因子为(Sr,Sg,Sb,Sa),目的因子为(Dr,Dg,Db,Da) 则融合的最终效果为:(Rs*Sr+Rd*Dr,Gs*Sg+Gd*Dg,Bs*Sb+Bd*Db,As*Sa+Ad*Da) 然后再归一。公式挺复杂,不过

2007-10-08 11:33:00 4196

原创 OPENGL的光影效果(转)

为什么3D作图常常能产生另人震惊的效果?因为利用3D作图,你可以生成一些 现实中难得实现的真实的感受。特别是一些特殊的光影效果。 其实光源前面已经讲的很全面了,只是缺少一些专门的例子。这里我们来稍微 加深一下认识,我们将在例子中看到一个地方的光源对不同物体发出不同的光 这在现实中是少见的吧? 1.双面光照: void glLightModeli(LIGHT_MODEL_TWO_SIDE,GL_

2007-10-08 11:30:00 8279 1

原创 OpenGL键盘操作和动画基础(转)

   这一篇是讲述键盘操作和动画基础(实际还差的远哪)。只是个简单的能由用户控制的动画,让物体前后移动,左右旋转。是我们自己的第一个QUAKE!当然这个版本谁买谁上当,呵呵。 这篇的另一个目的就是加深前面对于CALLBACK函数的认识以及对于变换的直观解释,任何变换你都可以从屏幕上通过自己的操作看出来: 我只把和以前变化的部分标记中文解释 ///////////////////////////

2007-10-08 11:27:00 2700

HDR-DEMO高动态范围渲染

高手做的HDR渲染,包含很多有用的SHader.值得借鉴

2010-12-14

数模解决方案,数字地面模型,Delaunay三角网

老外写的三角网建网算法.VC++,非常值得收藏,日你老母,为什么我传不上去!!!!

2010-03-02

Delaunay 三角网建模算法

老外写的可以直接用于商业用途的数字地面模型解决方案.非常值得拥有!

2010-03-02

语音扣门程序,语音识别

程序通过麦克风响应用户的语音指令来执行相应的操作

2009-10-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除