OpenGL投影矩阵【转】
摘要:OpenGL投影矩阵 概述 透视投影 正交投影 概述 计算机显示器是一个2D平面。OpenGL渲染的3D场景必须以2D图像方式投影到计算机屏幕上。GL_PROJECTION矩阵用于该投影变换。首先,它将所有定点数据从观察坐标转换到裁减坐标。接着,这些裁减坐标通过除以w分量的方式转换到归一化设备坐标(
阅读全文
posted @
2017-02-15 15:38
3D入魔
阅读(4496)
推荐(0) 编辑
镜面反射矩阵推导 [转]
摘要:镜面反射矩阵推导 最近公司游戏正在准备上线,所以FlasCC也就没有研究了,偶尔有闲功夫,也是玩玩3DMAX和UNITY3D。 感觉不会3DMAX,是一种局限。 回到主题,记录一下镜面反射矩阵的推导。 在用Irrlicht和RTT做镜面效果的时候,用到了反射矩阵。 就是需要把摄相机镜像,渲染一个RT
阅读全文
posted @
2016-12-07 15:40
3D入魔
阅读(822)
推荐(1) 编辑
使用nvDXT.exe把图片转换成dds图片【转】
摘要:从nvidia官网下载工具包DDS Utilities 【https://developer.nvidia.com/legacy-texture-tools】 转换图片格式需要的工具是 nvdxt.exe ,使用说明见文档 nvDXT.pdf 。 为了方便在cmd命令行中使用这个工具,我把 nvdx
阅读全文
posted @
2016-10-25 10:09
3D入魔
阅读(995)
推荐(0) 编辑
开始我的GL离屏渲染绑定[转]
摘要:呵呵,有了第一次的经验,我们就要开始我们的GL离屏渲染的绑定了。 关 于OpenGL的离屏渲染,前面已经有一些涉及了。再说一下吧,OpenGL有两种渲染方式:一种是通过操作系统打开窗口进行渲染,然后可以直接在屏幕上 显示,这种渲染方式叫做屏幕渲染。一种通过在内存中一块位图区域内渲染,这种渲染方式在没
阅读全文
posted @
2016-03-14 17:12
3D入魔
阅读(3438)
推荐(0) 编辑
OpenGL超级宝典笔记——遮挡查询 [转]
摘要:目录[-]遮挡查询之前包围体遮挡查询在一个场景中,如果有有些物体被其他物体遮住了不可见。那么我们就不需要绘制它。在复杂的场景中,这可以减少大量的顶点和像素的处理,大幅度的提高帧率。遮挡查询就是允许我们判断一组图形在进行了深度测试之后是否可见。遮挡查询之前为了显示遮挡查询对性能的提升,我们需要一个对照...
阅读全文
posted @
2015-12-28 16:39
3D入魔
阅读(2631)
推荐(0) 编辑
几种支持动作模型格式的比较(MD2,MD5,sea3d) 【转】
摘要:最近使用了几种不同的模型格式做人物动作的表现,记录一下优缺点1) MD2数据内容: 记录了所有动作顶点数据数据格式: 二进制动作文件: 动作文件合并在一个模型文件文件大小: 动作多时很大占用内存: 很多初始化速度: 快模型与贴图: 分离,需要人工控制贴图加载和处理2)MD5数据内容: 骨骼数据记录数...
阅读全文
posted @
2015-12-26 16:31
3D入魔
阅读(1120)
推荐(0) 编辑
Projective Texture的原理与实现 【转】
摘要:Projective Texture是比较常见的一种技术,实现起来代码也就区区的不过百行,了解其原理及技术细节是我们的重点,知其然,知其所以然。 粗略的说就是想象场景中有台投影仪(Projector),texture就是我们投影的内容,把纹理放在近裁剪面(near clip plane)上,沿着投影
阅读全文
posted @
2015-12-21 15:02
3D入魔
阅读(1238)
推荐(0) 编辑
投影纹理映射(Projective Texture Mapping) 【转】
摘要:摘抄“GPU Programming And Cg Language Primer 1rd Edition” 中文名“GPU编程与CG语言之阳春白雪下里巴人” 投影纹理映射( Projective Texture Mapping )最初由 Segal 在文章 “Fast shadows and li...
阅读全文
posted @
2015-12-21 15:02
3D入魔
阅读(4075)
推荐(1) 编辑
使用glReadPixels 读取颜色缓存,深度缓存和模板缓存数据
摘要:glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);format和type取值如下/* PixelCopyType */#define G...
阅读全文
posted @
2015-12-15 17:38
3D入魔
阅读(1875)
推荐(0) 编辑
OpenGL中FBO的概念及其应用 [转]
摘要:http://www.cppblog.com/kongque/archive/2010/08/26/124754.htmlFBO一个最常见的应用就是:渲染到纹理(render to texture),通过这项技术可以实现发光效果,环境映射,阴影映射等很炫的效果。OpenGL中的Frame Buffe...
阅读全文
posted @
2015-12-15 14:08
3D入魔
阅读(1113)
推荐(0) 编辑
【OpenGL】OpenGL帧缓存对象(FBO:Frame Buffer Object) 【转】
摘要:http://blog.csdn.net/xiajun07061225/article/details/7283929/OpenGL Frame BufferObject(FBO)Overview: 在OpenGL渲染管线中,几何数据和纹理经过多次转化和多次测试,最后以二维像素的形式显示在屏幕上。O...
阅读全文
posted @
2015-12-15 09:51
3D入魔
阅读(960)
推荐(0) 编辑
ShadowMap渲染阴影方法及问题 【转】
摘要:ShadowMap基于的原理:SM算法是一个2-pass绘制算法,第一pass从光源视点绘制场景,生成SM纹理,第2pass从视点视图按常规方法绘制场景从光源的位置观察场景,这时候我们看不到的地方就是该有阴影的地方,于是可以使用比较像素到光源距离的方法来确定某个像素是否在阴影之中。于是我们需要记录我...
阅读全文
posted @
2015-12-03 14:20
3D入魔
阅读(4954)
推荐(0) 编辑
模板缓冲与阴影体 【转】
摘要:一、模板缓冲 与模板缓冲相关的操作有两种——比较操作和更新操作。1. 比较操作 Stencil Test 比较的是Reference和Stencil Buffer中的值,公式如下: (Stencil Ref \ &mask ) op (Stencil Buffer \ &mask ) // 左右...
阅读全文
posted @
2015-12-03 10:38
3D入魔
阅读(1930)
推荐(0) 编辑
Shadow Map阴影贴图技术之探 【转】
摘要:这两天勉勉强强把一个shadowmap的demo做出来了。参考资料多,苦头可不少。Shadow Map技术是目前与Shadow Volume技术并行的传统阴影渲染技术,而且在游戏领域可谓占很大优势。本篇是第一辑。——ZwqXin.comShadow Map的原理很简单,但是实现起来到处是雷。当然这只...
阅读全文
posted @
2015-12-03 10:36
3D入魔
阅读(2416)
推荐(0) 编辑
Shadow Mapping 的原理与实践 【转】
摘要:早在上世纪七十年代末,Williams在他的“Casting Curved Shadows on Curved Surface”一文中提出了名为Shadow Map的阴影生成技术。之后,他人在此基础上针对相关问题做了许多改进。现在,Shadow Map仍被作为主流的阴影生成技术被广泛应用。 Z缓...
阅读全文
posted @
2015-12-03 10:36
3D入魔
阅读(2461)
推荐(0) 编辑
OpenGL超级宝典笔记——深度纹理和阴影 【转】
摘要:目录[-]光源视角新型的纹理深度纹理的大小首先绘制阴影然后是光照投影阴影贴图阴影比较之前我们介绍过简单的把物体压平到投影平面来制造阴影。但这种阴影方式有其局限性(如投影平面须是平面)。在OpenGL1.4引入了一种新的方法阴影贴图来产生阴影。阴影贴图背后的原理是简单的。我们先把光源的位置当作照相机的...
阅读全文
posted @
2015-12-02 16:32
3D入魔
阅读(1839)
推荐(0) 编辑
Geometry Shader 【转】
摘要:Geometry shader – receives as its input complete primitives as a collection of vertices, and these inputs are represented as array (Geometry shader接收完...
阅读全文
posted @
2015-12-01 15:39
3D入魔
阅读(2211)
推荐(0) 编辑
投影纹理 - 如何投影一个纹理 【转】
摘要:如何投影一个纹理原文出处:SGI OpenGL 教程翻译:心蓝 潘李亮。Xheartblue@etang.com译者前言:影子有两种经典的实现方法:一是Shadow Volume 。二是Shadow Mapping。如何用Light Mapping来实现投影影子呢?这就要用到Project Text...
阅读全文
posted @
2015-11-30 14:18
3D入魔
阅读(842)
推荐(1) 编辑
深度排序与alpha混合 【转】
摘要:翻译:李现民最后修改:2012-07-03原文:Depth sorting alpha blended objects 先说个题外话,本来我想回答在 Creators Club论坛上的一个常见问题,但(意外的是)我竟然没能从网上找到一个令人满意的答案。 问题本身很简单,但答案却有些复杂: “为...
阅读全文
posted @
2015-11-17 11:57
3D入魔
阅读(646)
推荐(0) 编辑
纹理映射 【转】
摘要:9.4 纹理对象使用纹理对象来存储纹理数据的步骤: 1) 生成纹理对象名称 2) 将纹理对象绑定到纹理数据(包括图像数据数组和纹理属性), 即创建纹理对象. 3) 如果OpenGL实现高性能纹理工作集, 应检查是否有足够的空间来存储所有的纹理对象. 如没有足够空间, 应设置每个纹理对象的优先级,...
阅读全文
posted @
2015-09-10 18:00
3D入魔
阅读(1267)
推荐(0) 编辑