位置: 编程技术 - 正文

阴影映射(Shadow Map)的研究(三)(阴影映射可视域分析)

编辑:rootadmin
阴影映射(Shadow Map)的研究(三)

推荐整理分享阴影映射(Shadow Map)的研究(三)(阴影映射可视域分析),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:阴影效果有什么用,阴影使用方法,阴影映射可视域分析,阴影效果是什么,阴影映射可视域分析,阴影映射纹理,阴影映射纹理,阴影映射可视域分析,内容如对您有帮助,希望把文章链接给更多的朋友!

最近为了自己制作的项目可是吃了不少苦头,这其中关键的一点就是想要实现阴影映射(Shadow Map)。为了实现目标,我参考了网络上很多相关的资料,也看了一些案例,最终花了我一个月的时间将这个效果实现了。

阴影映射这样的效果,其实在即将发布的Qt 3D中已经有相关的介绍,KDAB中有一篇文章《Shadow Mappingin Qt3D 2.0》就在Qt 3D的框架上实现了阴影映射。不过当时这个效果是假定目标机器支持OpenGL 3.0规范的,目前大部分设备,至少是现在,还只能支持OpenGL ES2.0,因此文章无法很好的参考,于是我转到了其它相关的教程,看看的能不能在OpenGL ES 2.0下实现阴影映射的效果。好在网络上是有这样宝贵的资料的,在code project网站上,有一篇很好的文章,虽然是基于Android的,使用Java语言编写,但是能够很好地显示阴影映射的效果,最重要的是,由于Android基本上是支持OpenGL ES 2.0的,因此它这个是基于OpenGL ES 2.0来写的,给我们带来了很好的参考。原文是:《Shadow Mappingwith Android OpenGL ES 2》。此外,文章引用了其它的链接,其中《Tutorial :Shadow mapping》这篇文章从问题开始入手,研究阴影映射的本质,参考的价&#;高。

要实现基于OpenGL ES 2.0的阴影映射,要攻克这三个技术难点:

1、 熟练操作FBO。帧缓存FBO是需要熟练操控的,因为FBO可以很快地将深度图写入一块显存中,然后作为纹理渲染到真实的场景中。

阴影映射(Shadow Map)的研究(三)(阴影映射可视域分析)

2、 掌握着色器的使用。由于OpenGL ES 2.0只允许使用着色器来对其进行渲染,因此对着色器的书写熟练程度要求较高。

3、 掌握将float深度数据分拆成vec4再将vec4合并成float的操作。这个已经成为业内熟练掌握的技能之一了,网络上搜索“how to pack float into RGBA”,能够得到很多有用的回答。

我在熟读《Shadow Mappingwith Android OpenGL ES 2》文章以及源码数遍之后,使用Qt将测试的场景移植了过来。下面是效果图:

源码下载地址:这里

OSG 中 常用的 Uniforms osg中的Uniforms主要存在两个地方,一个是SceneView中,voidSceneView::updateUniforms()voidSceneView::updateUniforms(){if(!_localStateSet){_localStateSet=newosg::StateSet;}if(!_localStateS

OPENGL矩阵变换

Bullet有关六自由度弹性约束研究 Bullet有关六自由度弹性约束研究这段时间打算将物理引擎整合进来,于是对Bullet这款开源的物理引擎进行了一些研究。Bullet的研究也有了一段时间了,Bu

标签: 阴影映射可视域分析

本文链接地址:https://www.jiuchutong.com/biancheng/369485.html 转载请保留说明!

上一篇:glClearBufferSubData

下一篇:OSG 中 常用的 Uniforms(osg uniform)

  • 工程施工科目有没有伙食费啊
  • 工资绩效被扣除怎么办
  • 一般纳税人抵扣进项税分录
  • 个税超过部分征税还是全部
  • 电商平台返佣金税务怎么走
  • 零申报企业所得税季度申报表怎么填写
  • 核定征收企业怎么申报
  • 一般纳税人普通发票免税吗
  • 商铺售后返租的会计分录
  • 公司化验室领用丙材料3000元
  • 递延收益是什么科目应该怎么处理
  • 工程预付款的规定
  • 花椒油的税率
  • 其他应付款可以用其他应收款代替吗
  • 房地产企业的非流动资产周转率在多少以上
  • 增值税一般纳税人认定标准
  • 投标费用属于什么会计科目
  • 物流公司怎么进去工作的
  • 应付职工薪酬在借方是什么意思
  • Win7系统中如何快速查询文件内容
  • 在国内和国外
  • PHP:mb_ereg_search_init()的用法_mbstring函数
  • php 什么是类
  • 7zip怎么压缩文件为rar
  • 外资企业取得财产的条件
  • windows 查询进程
  • 三防手机厂商
  • 公司员工生病看望的红包能入公司账吗
  • 出口退税登记证在哪办
  • 非货币性资产交换以公允价值为基础进行计量
  • php储存数据的方法
  • 远眺格斯韦因斯泰因村和格斯韦因斯泰因城堡 (© Juergen Sack/Getty Images)
  • linux编译安装php扩展命令
  • php new
  • 用python编写
  • auto.js 教程
  • 旅客运输进项抵扣税率
  • 广东省工科赛智能配送
  • opencv怎么训练
  • java 通配符
  • 现金盘存的具体方法
  • 公司主营业务和经营范围的区别
  • c++ abort函数
  • MySQL数据库存储引擎
  • 小企业会计准则和企业会计准则的区别
  • 小规模公司的做账要求
  • 无法取得发票的成本能列支吗
  • 投资收益会计科目账务处理
  • 企业年有什么用
  • 公司开业装修费会计分录
  • 企业需要建立什么?完善什么?
  • 收回股权投资
  • 财务预付账款情况说明
  • 我方税费差额赔偿的时效
  • 免税收入和征税收入怎么做账
  • 哪些行业可以开收购发票
  • 纳税申报准备什么材料
  • 物流公司会计工作内容
  • sql局部变量标识符
  • windows更改图标大小
  • 快速切换电脑界面
  • 轻轻松松在树枝上摘果子用什么成语
  • xp能不能升级win10
  • Linux系统中sort排序命令的使用教程
  • macbook怎么开启
  • win8怎么看电脑wifi密码
  • 万能win8pe工具箱怎么用
  • shell获取命令报错信息
  • shell 递归
  • ie浏览器怎么设置打开网页在同一个窗口
  • Python遍历文件夹及子文件夹中的所有文档
  • Node.js中的核心模块包括哪些内容?
  • shell脚本sudo免输密码
  • windows捕获文件夹
  • win10安装python2.7
  • python简单实现刷新智联简历
  • 广东省电子居住证怎么查看
  • 山东2022新生儿数量统计表
  • 计财科科长是什么级别
  • 个人养老金没有开立资金账户
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设