自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Augusdi的专栏

攀登技术的高峰,我与大家共勉!

  • 博客(23)
  • 资源 (5899)
  • 收藏
  • 关注

转载 OpenGL 库 简介

OpenGL 库 简介       OpenGL库函数的命名方式为:。库前缀有gl、glu、aux、glut、wgl、glx、agl等等,表示该函数属于OpenGL哪个库。参数的类型:I代表int型,f代表float型,d代表double型,u代表无符号整型。例如glVertex3fv()表示了该函数属于gl库,参数是3个float型参数指针。用glVertex*()来表示这一类函数。  glgl

2014-04-17 11:00:58 3003

转载 OpenGL: 深度测试

OpenGL 深度测试(转)OpenGL里常出现深度测试,一直不清楚。今天就来弄清楚。  (1)什么是深度?        深度其实就是该象素点在3d世界中距离摄象机的距离(绘制坐标),深度缓存中存储着每个象素点(绘制在屏幕上的)的深度值!   深度值(Z值)越大,则离摄像机越远。   深度值是存贮在深度缓存里面的,我们用深度缓存的位数来衡量深度缓存的精度。深度缓存位数越高,则精确度越高,目前的显

2014-04-16 16:29:45 1857

转载 OpenGL: Accumulation Buffer(累积缓存)

Accumulation Buffer(累积缓存)累积缓存是为合成多幅图像而设计的,它不是简单的用引入象素片元来代替象素值,而是将片元进行缩放,然后加到已有的象素值上。为了经过一系列的混合操作后能够保持精度,累积缓存每个颜色分量的位数要比一般的可视化系统要多。我们可以象其他缓存一样清空累积缓存,可以用glClearAccum()来设置红、绿和蓝色分量的清空值,按位顺序清空累积缓存或以GL_ACCU

2014-04-16 16:04:54 3190

转载 将Ogre写入MFC框架中

将Ogre写入MFC框架中1. 新建MFC单文档程序2. 修改项目选项配置    常规 --> 输出目录 --> ..\bin\$(ConfigurationName)    常规 --> 中间目录 --> ..\obj\$(ConfigurationName)    常规 --> MFC的使用 --> 在静态库中使用MFC    C/C++ --> 预处理器 --> 预处理器定义 --> 增加

2014-04-15 16:54:01 1809

转载 关于 Demo_DeferedShading 例子的分析

关于 Demo_DeferedShading 例子的分析总结:1. 可以学会克隆一个实体的方法2. 可以根据雅典娜的材质得知顶点着色器的使用, 在事先构建的切线数据(buildTangentVectors)放置于 着色程序的属性 tangent中, 着色程序就可以直接使用该属性3. 学会如何创建一个曲面, 用MovablePlane.4. 实体调用setMeshLodBias设置LOD, 数值越小

2014-04-15 16:53:30 2026

转载 Ogre 如何渲染简单的几何物体

Ogre 如何渲染简单的几何物体Ogre 如何渲染简单的几何物体使用ManualObject或者其派生类渲染简单的几何物体, 步骤如下:    1. 新创建一个ManualObject对象            mManualObj = new Ogre::ManualObject("SimpleStuff2");    2. 设置该ManualObject的参数        1) 设置其渲染序

2014-04-15 16:52:40 1725

转载 AnimationBlender - Ogre实现不同动画之间的混合

AnimationBlender - Ogre实现不同动画之间的混合英文原文: http://test.ogitor.org/tiki/AnimationBlender动画混合 -- 实现两个动画的切换, 一个动画逐渐消逝, 另一个动画逐渐显示来实现. 主要通过动画状态的权重来实现通过三种方式来实现两个动画的混合:    - BlendSwitch - 直接切换至目标动画    - BlendWh

2014-04-15 16:52:03 1813

转载 Ogre的相关工具和库 工具 Debuggers Debugging Tools for Windows http://www.microsoft.com/whdc/devtools/

Ogre的相关工具和库工具Debuggers    Debugging Tools for Windows    http://www.microsoft.com/whdc/devtools/debugging/default.mspx/源码控制    TortoiseCVS        http://www.tortoisecvs.org/    CVSGui        http://ww

2014-04-15 16:49:07 2710

转载 OpenGL: 混合

OpenGL 红宝书 混合6.1 混合6.1.1 源因子和目标因子假定源和目标混合因子分别为(Sr, Sg, Sb, Sa)和(Dr,Dg,Db,Da), 混合后的RGB值如下:(RsSr + RdDr, GsSg + GdDg, BsSb + BdDb, AsSa + AdDa)最后,将该四元组的各个分量截取到[0,1].将源片元和目标象素合并起来的默认方式是,将它们的值相加. 选择源混合因子和

2014-04-15 16:40:06 6977

转载 OpenGL: 中平截头体六个裁剪平面方程的求解

OpenGL中平截头体六个裁剪平面方程的求解空间中的坐标乘以视图模型矩阵得到视觉坐标, 再乘以投影矩阵得到裁剪坐标. 现在我求出裁剪矩阵M, 其等于投影矩阵左乘模型视图矩阵 1     GLfloat   clip[16]; 2     GLfloat   proj[16]; 3     GLfloat   modl[16]; 4  5     glGetFloatv( GL_PROJECTION

2014-04-15 16:36:37 5352

转载 OpenGL: 深度阴影的原理

深度阴影的原理深度阴影纹理的原理:分三步, 第一步, 生成一个深度纹理. 首先将观察点移动到光源位置, 而后绘制场景, 将得到的场景帧缓存中的深度值写入纹理中第 二步, 绘制场景的时候使用纹理生成方式得到四个坐标(s, t, r, q), 这四个坐标分别代表视觉坐标系中该顶点的坐标. 而后使用纹理矩阵, 将这四个坐标自动变换为以光源为原点的坐标系的坐标, 从而r表示深度值. 此时乘以光源坐标系的投

2014-04-15 16:35:49 4655

转载 OpenGL: 平面阴影投射矩阵的推导

OpenGL 平面阴影投射矩阵的推导 OpenGL SuperBible 这本书介绍了一种阴影的实现方法, 将模型视图矩阵压平, 所有被绘制的物体都将位于这个平面的二维世界中. 不过这本书没有介绍该平面阴影投射矩阵是如何推导的. 假设平面方程 Ax + By + Cz + D = 0 已知, 光的方向L(Lx, Ly, Lz, 0)已知. 则模型视图空间的点 P(Px, Py, Pz, 1), 沿

2014-04-15 16:33:26 4443 2

转载 Visual.Studio程序员箴言 - 笔记

Visual.Studio程序员箴言 - 笔记技巧 0 删除文件中的当前行: Home + Shife-End + Delete技巧 1.1 避免意外复制一个空白行工具->选项->文本编辑器->所有语言->常规: 没有选定内容时对空行应用剪切或复制命令技巧 1.2 通过剪贴板来循环粘贴不同内容Ctrl-Shift-V: 可以在过去剪切或复制到剪贴板上的20条内容间进行循环粘贴技巧 1.3 使用 C

2014-04-15 16:30:16 1689

转载 OpenGL: glPolygonOffset解决两个面共面

摘自http://www.gamergroup.cn/html/78/n-3078.html当两个面共面时,会出现十分难看的z - fighting 问题,要解决此问题可以使用, Polygon Offset, 方法如下:drawSomething();//同一位置绘制另一个东西glEnable( GL_POLYGON_OFFSET_FILL ); // This is the one we ne

2014-04-15 16:04:57 4809

转载 OpenGL: 编程低级错误 + 常见问题解答

1.没有glDisable(GL_TEXTURE_2D),导致基本几何作图全部失败。2.镜头位置没调好,导致所有物体不可见.3.物体位置数据错误,导致物体大大超出镜头显示范围.4.纹理没有GL_CLAMP导致边界拼接出现缝线.5.纹理没有GL_REPEAT导致使用超出1.0纹理坐标技巧失败,显示单色插值.6.没有glEnable(GL_TEXTURE_2D)导致全白纹理.7.glEnable(GL

2014-04-15 15:43:06 6031

转载 OpenGL: 多边形偏移-Frame显示方式

如果想着重显示实心物体的边缘,可以先用GL_FILL模式绘制这个物体,然后再GL_LINE下再次用另外一种不同的颜色再次绘制(如右图),但是由于光栅化的方式不完全相同,因此直线和多边形经过计算后的Z值也可能不同 ,也可能向后,这就导致了线和实心忽浓忽暗的效果(右图2)glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);glutSolidSphere(1.0, 20,

2014-04-15 15:22:20 3065

转载 OpenGL: 阴影算法

图中有两条光线,一条沿视角方向,另一条偏右采用阴影体算法,实现了多光源,多物体的阴影。这个算法没有采用顶点shader,所以速度比较慢,学习算法用,在实际工程中用效率就太低了。。。算法还有个缺陷,只对凸多面体有效,如果物体是凹多面体阴影就会错误。因为我不知道如何确定凹多面体的轮廓,从而构造一个封闭的阴影体。非常希望有牛人能指点一二!主要代码如下计算轮廓

2014-04-15 14:56:50 7522

转载 OpenGL: 反走样 雾 点参数 多边形偏移

6.2 反走样void glHint(GLenum target, GLenum hint);   // 控制OpenGL的某些行为参数target是要控制的行为参数hint可以是GL_FASTEST, GL_NICEST, GL_DONT_CARE.(效率最高, 质量最好, 没有选择)参数target的取值及其含义:GL_POINT_SMOOTH_HINT, GL_LINE_SMOOTH_HIN

2014-04-15 14:51:09 2507

原创 glPolygonOffset消遮挡闪烁

一般的3D显示都通过深度缓冲区来处理遮挡问题,这样的好处就是不管绘制顺序如何,最终总能得到相同的结果。但是深度缓冲区的精度是有限的(一般是每个像素采用16bit或者24bit来表示深度),如果两次绘制到同一个像素时,深度值相差非常小,就有可能无法正确的辨别究竟哪一次绘制的深度值更小,此时深度测试(GL_DEPTH_TEST)就出错了。参考:http://en.wikipedia.org/wiki/

2014-04-15 14:41:43 4686

转载 OpenGL: 深度冲突(Z-Finghting or Depth Fighting)的解决

OpenGL,或者D3D 的深度缓存都存在精度问题,在最新的Nvidia GF8 系列显卡中已经开始应用float point depth buffer. 而在此之间,深度缓存其实只有位平面的概念. 这随API的不同,都需要指定后缓存深度缓存精度, Depth ,我一般使用24位,也就是D3D中常见的 D24S8. 但除非你是用浮点,否则都会有精度损失的问题,这种情况总是发生在2个几乎共面的片面,

2014-04-15 11:47:37 4969 1

转载 OpenGL函数

开发基于 OpenGL 的应用程序,必须先了解 OpenGL 的库函数。它采用 C 语言风 格,提供大量的函数来进行图形的处理和显示。OpenGL 库函数的命名方式非常 有规律。所有 OpenGL 函数采用了以下格式: 库前缀有 gl、glu、aux、glut、wgl、glx、agl 等等,分别表示该函数属于 OpenGL 那个开发库,从函数名后面中还可以看出需要多少个参数以及参数的 类型。I 代

2014-04-15 11:46:01 6415

转载 OpenGL: 编程低级错误范例手册

Opengl编程低级错误范例手册1.没有glDisable(GL_TEXTURE_2D),导致基本几何作图全部失败。2.镜头位置没调好,导致所有物体不可见.3.物体位置数据错误,导致物体大大超出镜头显示范围.4.纹理没有GL_CLAMP_TO_EDGE 导致边界拼接出现缝线. 5.纹理没有GL_REPEAT导致使用超出1.0纹理坐标技巧失败,显示单色插值.6.没有glEnable(GL_TEXTU

2014-04-15 11:29:44 1750

转载 OpenGl: glenable()函数理解

glEnable用于启用各种功能。功能由参数决定。与glDisable相对应。glDisable是用来关闭的。两个函数参数取值是一至的。参数说明:void glEnable(GLenum cap)GLenum    是unsigned int 类型cap             是一个取值。由值决定启用的功能键。各种功能请看参数cap的取值表代码示例:……  000  glEnable(GL_BL

2014-04-15 11:25:44 6042

linux 视频教程PPT

linux 视频教程PPT

2015-01-17

CentOS.5系统管理

CentOS.5系统管理

2015-01-17

网络测试命令讲解

网络测试命令讲解

2015-01-17

Linux编辑器及VIM初步

Linux编辑器及VIM初步

2015-01-17

Linux下寻求帮助

Linux下寻求帮助

2015-01-17

在职教育3g学院-lamp经典入门29linux磁盘分区详解

在职教育3g学院-lamp经典入门29linux磁盘分区详解

2015-01-17

在职教育3g学院-lamp经典入门04linux目录结构介绍

在职教育3g学院-lamp经典入门04linux目录结构介绍

2015-01-17

Linux应用与发展

Linux应用与发展

2015-01-17

数据结构 C++ 语言描述(中文版)

数据结构 C++ 语言描述(中文版

2015-01-11

qt-win-opensource-src-4.5.2-msvc-6.0

qt-win-opensource-src-4.5.2-msvc-6.0

2014-09-08

qt-win-noncommercial-msvc-3.2.1

qt-win-noncommercial-msvc-3.2.1 qt-win-noncommercial-msvc-3.2.1

2014-09-08

KDE 2_Qt编程宝典

KDE 2_Qt编程宝典

2014-09-07

[CentOS.5系统管理].梁如军.丛日权.周涛.扫描版

[CentOS.5系统管理].梁如军.丛日权.周涛.扫描版

2014-09-07

openqrm_cloud_howto_deploying_physical_windows_systems_on_centos_5.5

openqrm_cloud_howto_deploying_physical_windows_systems_on_centos_5.5

2014-09-07

MBoo2014播放器

MBoo2014播放器

2014-09-07

数值分析与算法-徐士良著-随书源程序

数值分析与算法-徐士良著-随书源程序

2014-09-06

数据结构算法与应用-C++语言描述

数据结构算法与应用-C++语言描述

2014-08-15

[揭秘系列-离散数学]Discrete.Mathematics.Demystified

[揭秘系列-离散数学]Discrete.Mathematics.Demystified

2014-08-15

2013考研基础阶段测试题及答案-计算机-数据结构

2013考研基础阶段测试题及答案-计算机-数据结构

2014-08-15

数据结构 C++ 版 (第2版) 王红梅等 扫描版

[数据结构 C++ 版 (第2版)] 王红梅等 扫描版

2014-08-15

linux查找及压缩

linux查找及压缩

2015-07-19

精通正则表达式-第三版.(美)佛瑞德.扫描版

精通正则表达式-第三版.(美)佛瑞德.扫描版

2015-07-01

精通正则表达式-第3版-中文版.(美)Jeffrey.E.F.Friedl

精通正则表达式-第3版-中文版.(美)Jeffrey.E.F.Friedl

2015-07-01

普通人的编辑利器——VIM

普通人的编辑利器——VIM_(for_windows)

2015-03-11

VIM高级技巧

VIM高级技巧

2015-03-11

linux下vim使用详解(高清)

linux下vim使用详解(高清)

2015-03-11

vim使用教程

vim使用教程

2015-02-09

vim+ctags+cscope

vim+ctags+cscope

2015-02-09

Vim高效编辑的七个习惯

Vim高效编辑的七个习惯

2015-02-09

Vim编辑器 VIM

Vim编辑器

2015-02-09

Linux下VI的使用

Linux下VI的使用

2015-02-09

Vim文件编辑命令

Vim文件编辑命令

2015-02-09

linux下vi使用

linux下vi使用

2015-02-09

功耗分析攻击研究及抗功耗分析攻击密码芯片设计

功耗分析攻击研究及抗功耗分析攻击密码芯片设计

2015-02-07

从RTL到GDSII_基于CPF的完整低功耗设计流程

从RTL到GDSII_基于CPF的完整低功耗设计流程

2015-02-07

YAKSOC芯片的物理设计研究

YAKSOC芯片的物理设计研究

2015-02-07

CIF和GDSII格式版图数据的直接转换

CIF和GDSII格式版图数据的直接转换

2015-02-07

linux 视频教程-gcc

linux 视频教程-gcc

2015-01-19

Linux高级程序_进程管理

Linux高级程序_进程管理

2015-01-17

Linux命令类库机制及常用命令_Shell命令机制

Linux命令类库机制及常用命令_Shell命令机制

2015-01-17

空空如也

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

TA关注的人

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