位置: 编程技术 - 正文

阴影映射(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)

  • 递延所得税负债账务处理
  • 房产税相关问题
  • 公司租用私人汽车违法吗
  • 资产减值损失在利润表怎么填列
  • 非税项目明细代码
  • 个体餐饮要交什么税
  • 纳税人取得虚开的增值税专用发票处理问题的通知
  • 员工集体旅游费会计分录
  • 出口退税的发票怎么做账
  • 会计学中管理费用属于什么
  • 开票确定收入分录
  • 委托加工设备
  • 电商支付的刷单费怎样做记账凭证?
  • 招待费的进项
  • 个人所得税薪金所得是实发工资还是应发工资
  • 年底增值税专用发票入帐不勾选抵扣帐务处理
  • 单位装饰
  • 三证合一后纳税人识别号和信用代码一样吗
  • 不动产增值税总结
  • 企业公户转别的公司公户他不给开发票怎么操作?
  • 万份收益是什么意思0.6
  • 经营租赁中出租人发生的初始直接费用是指
  • 会计审核票据如何签字
  • 货物入库会计分录怎么做
  • 电脑win10点开始没反应
  • windows10如何关机
  • 预征率3%
  • 是否启用税种综合申报
  • 红字增值税专用发票是什么
  • 生产型企业原材料运费入库单怎么填
  • 纳税人如何申请延期缴纳税款
  • 广告公司发生的广告代工费账务怎么处理
  • php array_push()数组函数:将一个或多个单元压入数组的末尾(入栈)
  • 报销办公用品会计分录计入其他应付还是其他应收
  • yii框架教程
  • 研发新产品的重要性
  • 自愿放弃增值税优惠怎么写
  • php手机号隐藏中间四位
  • 程序员的表白情书
  • 销售多余的材料
  • 教育行业财务处理流程
  • php输出表格css
  • 【Pytorch深度学习实战】(11)变分自动编码器(VAE)
  • 计算模型的层次划分
  • 从零开始作者
  • 多线程并发python
  • 英文描述什么是利润表
  • 手机上动态调试apk
  • dedecms进入数据库
  • mysql常见操作
  • sql server数据表
  • 专项资金支出明细表范文
  • 幼儿园园服已发给孩子怎么通知家长
  • 预交的城建税及附加税
  • sqlserver2008默认实例
  • 筹建期间业务招待费的财税处理规定
  • 专职独立研发企业是指
  • 专项应付款如何记账
  • 公司与个人可以合伙吗
  • 非正常损失进项税额转出怎么计算
  • 公司账本需要保留几年
  • 上年度多计提的附加税怎么办
  • 使用筷子就餐会不会传染乙肝病毒
  • sql server 自增列设置语句
  • sql server索引的使用
  • Freebsd7.0 Apache2.2+MySQL5+PHP5安装和配置方法
  • mac上怎么用ppt
  • vps安装centos
  • winfs.exe - winfs是什么进程
  • PRISMSVR.EXE - PRISMSVR是什么进程 有什么用
  • win8如何进入bios
  • input和button按钮合到一起
  • jquery validation
  • python tkinter tabview
  • 猫猫的游戏
  • unity分成
  • 简单的比较
  • 江苏医保给家人用怎么操作
  • 杨柳青还迁房2024年还建不建
  • 怎么查询地方规划用地
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设