![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
shadowmap
文章平均质量分 96
linuxheik
这个作者很懒,什么都没留下…
展开
-
Unity3D Linear01Depth & LinearEyeDepth d3d
Unity3D Linear01Depth & LinearEyeDepth 函数深度解析原创 2015年07月11日 20:25:425609UnityCG.cginc中原函数如下:// Z buffer to linear 0..1 depth (0 at eye, 1 at far plane)inline float Linear01Depth( float z ){retu...转载 2018-03-08 20:34:33 · 1446 阅读 · 0 评论 -
OpenGL基础 - 统一变量Uniform 默认值
OpenGL基础 - 统一变量UniformSu Bill2 个月前OpenGL基础: Uniform变量 -- 即统一变量简单理解就是一个GLSL shader中的全局常量,可以随意在任意shader(vertex shader, geometry shader, or fragment shader)访问,不同的shader中uniform是一起链接的,初始化之后,不能修改其值,否则会引起编译...转载 2018-03-16 15:12:24 · 6065 阅读 · 0 评论 -
LinearEyeDepth 推导过程
转载自 冯乐乐的 《Unity Shader 入门精要》获取深度和法线纹理虽然在Unity里获取深度和法线纹理的代码非常简单,但是我们有必要在这之前首先了解它们背后的实现原理。深度纹理实际上就是一张渲染纹理,只不过它里面存储的像素值不是颜色值而是一个高精度的深度值。由于被存储在一张纹理中,深度纹理里的深度值范围是[0,1],而且通常是非线性分布的。那么,这些深度值是从哪里得到的呢?总体来说,这些深...转载 2018-03-05 16:20:38 · 7497 阅读 · 0 评论 -
LinearEyeDepth 定义
UnityCG.cginc中原函数如下:// Z buffer to linear 0..1 depth (0 at eye, 1 at far plane)inline float Linear01Depth( float z ){return 1.0 / (_ZBufferParams.x * z + _ZBufferParams.y);}// Z buffer to linear ...转载 2018-03-05 16:21:30 · 599 阅读 · 0 评论 -
投影矩阵的推导(Deriving Projection Matrices)
投影矩阵的推导(Deriving Projection Matrices)发表于2014/4/7 18:34:48 18316人阅读分类: 计算机图形学 本文乃<投影矩阵的推导>译文,原文地址为: http://www.codeguru.com/cpp/misc/misc/math/article.php/c10123__1/Deriving-Proje...转载 2018-03-05 16:22:08 · 1295 阅读 · 0 评论 -
透视矩阵的推导 opengl
由参数l,r,b,t,n,f定义的透视投影矩阵的推导困惑了我差不多一个多礼拜,这几天几乎是天天都在思考这个问题,昨天晚上3点多钟我突然醒了,然后我又开始想这个问题,结果终于让我给想通了,于是我赶紧起床把这个思路记在了草稿纸上,还专门照了张照片作证。 为了解决这个问题,前几天我专门发了两篇帖子求答案,结果知网上的竟然沉掉了。而在csdn上也没有得到答案(质疑有关透视投影矩阵的推导)。幸亏我自己还是...转载 2018-03-05 16:24:09 · 529 阅读 · 0 评论 -
Directx11教程三十八之Pick(拾取技术)
Directx11教程三十八之Pick(拾取技术)原创 2016年11月15日 23:37:121561这节教程是关于Pick(拾取技术的),程序的结构如下:在看这节教程前先弄懂:(1)大概了解D3D11的渲染流水线 (2) D3D11教程三十七之FrustumCulling(视截体裁剪)上半节教程, ...转载 2018-03-05 17:36:47 · 420 阅读 · 0 评论 -
(Shadow Mapping) 阴影映射原理与实现
转载请声明出处:http://blog.csdn.net/xiaoge132/article/details/51458489阴影贴图(Shadow mapping)是在三维计算机图形中加入阴影的过程。阴影贴图的概念最初是由 Lance Williams 于 1978年在“在曲面上投射阴影”这篇论文中提出的。从那时开始,这种方法就已经用于场景预渲染、实时甚至是许多游戏设备以及高端电脑游戏中。在Pi...转载 2018-03-30 09:24:15 · 960 阅读 · 0 评论 -
Shadow Mapping 的原理与实践
早在上世纪七十年代末,Williams在他的“Casting Curved Shadows on Curved Surface”一文中提出了名为Shadow Map的阴影生成技术。之后,他人在此基础上针对相关问题做了许多改进。现在,Shadow Map仍被作为主流的阴影生成技术被广泛应用。 Z缓冲在一开始就是Shadow Map技术的实现基础。讨论Shadow Map技术的意义,不仅在于了解...转载 2018-03-30 09:37:32 · 665 阅读 · 0 评论 -
投影矩阵的推导(OpenGl)
概述计算机显示器是一个2D平面。OpenGL渲染的3D场景必须以2D图像方式投影到计算机屏幕上。GL_PROJECTION矩阵用于该投影变换。首先,它将所有定点数据从观察坐标转换到裁减坐标。接着,这些裁减坐标通过除以w分量的方式转换到归一化设备坐标(NDC)。因此,我们需要记住一点:裁减变换(视锥剔除)与NDC变换都保存在GL_PROJECTION矩阵中。下述章节描述如何从6个限定参数(左、右、下...转载 2018-03-09 10:23:27 · 450 阅读 · 0 评论 -
OpenGL Projection Matrix
MARAPRMAY26201220132014138 captures10 Mar 2009 - 3 Mar 2018 About this capture←BackOpenGL Projection MatrixRelated Topics: OpenGL TransformationOverviewPerspective ProjectionOrthographic Projection...转载 2018-03-09 10:20:42 · 227 阅读 · 0 评论 -
Real depth in OpenGL / GLSL
So, many places will give you clues how to get linear depth from the OpenGL depth buffer, or visualise it, or other things. This, however, is what I believe to be the definitive answer:This link http:...转载 2018-03-09 10:18:59 · 336 阅读 · 0 评论 -
d3d 投影矩阵
从上一篇技术博客 软件光栅器三之世界矩阵,相机变换矩阵,透视投影矩阵,透视除法,视口变换矩阵 我们直接给出了各大变换矩阵的表示形式以及实现的代码这一节博客 我将讲述从一个顶点从相机空间到到视平面的坐标变化过程,理解这个过程坐标值大小的范围对于实现ShadowMap,ProjectiveTexture,Pick技术来说至关重要。当然我还是省略掉大量详细的推导过程,只是给出结果。如下面图所示,红色...转载 2018-03-09 10:08:30 · 909 阅读 · 0 评论 -
opengl 投影矩阵和深度测试
写在前面 上一节我们使用AssImp加载了3d模型,效果已经令人激动了。但是绘制效率和场景真实感还存在不足,接下来我们还是要保持耐心,继续学习一些高级主题,等学完后面的高级主题,我们再次来改进我们加载模型的过程。本节将会学习深度测试,文中示例程序源代码均可以在我的github下载。本节内容整理自 1.www.learnopengl.com Depth testing 2.depth buffer ...转载 2018-03-09 10:09:37 · 426 阅读 · 0 评论 -
软件光栅器(Directx11)三之世界矩阵,相机变换矩阵,透视投影矩阵,透视除法,视口变换矩阵
其实各大矩阵具体的推导过程我就不给出了,我直接给出矩阵具体的形式和实现代码,以及那些大牛推导矩阵详细的文章:一,世界矩阵(WorldMatrix)我一般称世界矩阵为SRT矩阵,SRT分别是"Scale","rotate","translate"三个单词的缩写,也就是世界矩阵由缩放矩阵,旋转矩阵,平移矩阵构成的(1)缩放矩阵(ScaleMatrix)假设在X轴缩放Sx倍,在Y轴缩放Sy倍,在Z轴缩放...转载 2018-03-09 10:11:13 · 1584 阅读 · 0 评论 -
Unity Shader入门精要学习笔记 - 第13章 使用深度和法线纹理
转载自 冯乐乐的 《Unity Shader 入门精要》获取深度和法线纹理虽然在Unity里获取深度和法线纹理的代码非常简单,但是我们有必要在这之前首先了解它们背后的实现原理。深度纹理实际上就是一张渲染纹理,只不过它里面存储的像素值不是颜色值而是一个高精度的深度值。由于被存储在一张纹理中,深度纹理里的深度值范围是[0,1],而且通常是非线性分布的。那么,这些深度值是从哪里得到的呢?总体来说,这些深...转载 2018-03-09 10:14:21 · 268 阅读 · 0 评论 -
OpenGL学习脚印: 投影矩阵和视口变换矩阵(math-projection and viewport matrix)
写在前面 前面几节分别介绍了模型变换,视变换,本节继续学习OpenGL坐标变换过程中的投影变换。这里主要是从数学角度推导投影矩阵。对数学不感兴趣的,可以稍微了解下,或者跳过本节内容。本文主要翻译并整理自 songho OpenGL Projection Matrix一文,这里对他的推导思路稍微进行了整理。通过本节可以了解到透视投影矩阵的推导正交投影矩阵的 推导视口变换矩阵的推导zFighting问...转载 2018-03-09 10:15:03 · 399 阅读 · 0 评论 -
OpenGL的渲染流水线:
OpenGL的渲染流水线:OpenGL的坐标系在3D图形学里,OpenGL为右手坐标系(准确来说,OpenGL的世界空间和相机空间是右手坐标系)。随便提一下,D3D11为左手坐标系。(1) 右手坐标系(2) 左手坐标系OpenGL的矩阵和向量结合方式OpenGL的向量为列向量,矩阵和向量采用的方式为“矩阵X列向量”的方式,而D3D11为"行向量X矩阵"的方式。OpenGL的向量矩阵结合如下所示:当...转载 2018-03-09 10:15:41 · 2441 阅读 · 0 评论 -
Directx11教程二十五之ZBuffer(深度缓存,DepthBuffer)
这节教程的结构如下:一,DepthBuffer(深度缓存)深度缓存(Z缓存值)是用来记录视截体的每个像素的深度,其值范围是[0,1],在D3D11中 默认近裁剪面(Near_Z)上面的像素深度为0,而远裁剪面上的像素的像素深度为1, 注意stencilBuffer一般都是跟DepthBuffer绑定在一起的,创建DepthBuffer 时,指定数据格式DXGI_FORMAT_D24_UNORM_S...转载 2018-03-09 10:16:18 · 453 阅读 · 0 评论 -
GPU渲染流水线
当GPU从CPU得到渲染命令后,就会进行一系列流水线操作,最终把图元渲染到屏幕上。对于几何阶段和光栅化阶段,开发者无法拥有绝对的控制权,其实现的载体是GPU。GPU通过实现流水线化,大大加快了渲染速度。几何阶段和光栅化阶段可以分成若干更小的流水线阶段,这些流水线阶段由GPU实现,每个阶段GPU提供了不同的可配置性或可编程性。从图中可以看出,GPU的渲染流水线接收顶点数据作为输入。这些顶点数据是由应...转载 2018-03-09 10:17:39 · 360 阅读 · 0 评论 -
OpenGL阴影,Shadow Mapping(附源程序)
OpenGL阴影,Shadow Mapping(附源程序) 实验平台:Win7,VS2010 先上结果截图(文章最后下载程序,解压后直接运行BIN文件夹下的EXE程序): 本文描述图形学的两个最常用的阴影技术之一,Shadow Mapping方法(另一种是Shadow Volumes方法)。在讲解Shadow Mapping基本原理及其基本算法的OpenGL实现之后...转载 2018-12-14 15:47:16 · 703 阅读 · 0 评论