哈哈,这周搞QT的这个错误修了一个礼拜,总算修完了,慢慢造轮子吧。大概延迟渲染效果如下,

https://www.zhihu.com/video/1210542184405352448

延迟渲染之前好好规划了下代码,不然容易乱。

目前采用了组件的方法,大概关系如下

XWorld包含了所有的子关卡XLevel ,XLevel又包含了所有物体Xctor,Xctor上挂各种功能组件XCom和只有编辑器使用的组件XEom

渲染时候依次往下遍历,调用类中的RenderUpdate方法渲染。

新建了XComPostVolume用来使用GBuffer进行后处理的,这个后期场组件很简单,就是处理一个NDC坐标系的四边形面片mesh渲染,将GBuffer通过这个着色器渲染出最终图像。

详细的Directx11的GBuffer搭建步骤我是看的下面的案例,很不错。

Deferred Shading​www.rastertek.com

透视投影矩阵推导的讲解转载个:

人宅:透视矩阵推导​zhuanlan.zhihu.com

DX11中使用图片需要用这两个函数绑定下

Sampler是采样器绑定输入,ShaderResourceView是绑定图片的

具体的GBuffer我简单采用了一个枚举和Buffer数量来整体控制

然后先在RenderInit初始化后期场

RenderUpdate里面渲染XWorld类型的 allworld变量里的所有物体 进入GBuffer,然后传入postvolume里面进行后面的延迟渲染。大概如下

下面这种多窗口实现预览GBuffer的效果我是采用如下方法:

1.先渲染物体进入GBuffer。

2.渲染n个四边形面片。

3.将对应的ShaderSoure当作图片传入面片,进行排布显示

具体代码如下

scale是面片的大小,offset计算的是面片缩放过后需要的偏移量,这个偏移量是从屏幕中心偏移到屏幕左下(-1,-1),的偏移值。

图片渲染延迟_Qt入门DirectX11学习之旅(六)DirectX11 GBuffer Deffered延迟渲染相关推荐

  1. HALCON学习之旅(六)

    HALCON学习之旅(六) 文章目录 HALCON学习之旅(六) 1.Halcon代码如何导出高级编程语言代码 + 配置Halcon/C++编程环境 2.Halcon连续采集相机图像 3.Halcon ...

  2. Vue学习之旅Part1:Vue的数据渲染语法和指令(插值表达式、v-cloak、v-text、v-html)

    在Vue里 有好几种数据渲染的方法及相关指令 下面将一一介绍: 一.插值表达式 插值表达式是用两个花括号{{}}包裹属性 属性在Vue实例里定义: 通过Vue提供的指令即可很方便地将数据渲染到页面上 ...

  3. 我的Go语言学习之旅六:做一个WIN的简单弹窗

    做为一个WIN的爱好者,不得不说,通常情况下在学习一门新语言之后我会很急于制作一个弹窗来测试一下这个语言在WIN的窗体效果,这里不多说,先上代码. package mainimport ( " ...

  4. HALCON学习之旅(七)

    HALCON学习之旅(七) 文章目录 HALCON学习之旅(七) 1.MFC与Halcon混合编程 2.C#与Halcon混合编程 3.Halcon测量助手使用 4.Halcon实例进阶一(拟合区域椭 ...

  5. SpringBoot学习之旅(七)---JPA进阶篇之自定义查询、修改、分页

    文章目录 前言 源码下载 其他文章 查询关键字 自定义Select和Update 分页及自定义分页 自定义分页 分页查询的业务代码 前言 前一节SpringBoot学习之旅(六)-JPA操作MySql ...

  6. Opencv 入门篇学习记录(图片)

    title: Opencv 入门篇学习记录(图片) Opencv 入门篇学习记录(图片) 前言 很早以前就接触Python了,大学的时候还自学了一段时间去做了课设,写了一些最速梯度下降法.黄金分割法. ...

  7. PS合成图片#ps抠图#ps视频教程入门基础学习课程小白

    PS合成图片#ps抠图#ps视频教程入门基础学习课程小白

  8. 长短时记忆神经网络python代码_零基础入门深度学习(6) - 长短时记忆网络(LSTM)

    无论即将到来的是大数据时代还是人工智能时代,亦或是传统行业使用人工智能在云上处理大数据的时代,作为一个有理想有追求的程序员,不懂深度学习(Deep Learning)这个超热的技术,会不会感觉马上就o ...

  9. 心得丨老生常谈:普通程序员到底如何入门深度学习?

    作为一名软件工程师,我们应该活到老学到老,时刻与不断发展的框架.标准和范式保持同步.同时,还要能活学活用,在工作中使用最合适的工具,以提高工作效率.随着机器学习在越来越多的应用程序中寻得了一席之地,越 ...

  10. (翻译)60分钟入门深度学习工具-PyTorch

    60分钟入门深度学习工具-PyTorch 作者:Soumith Chintala 原文翻译自: https://pytorch.org/tutorials/beginner/deep_learning ...

最新文章

  1. 《Nature》发布毫米级软体机器人,可在没有任何物理干预情况下游走于人体
  2. mysql 查询优化实验报告_Mysql查询优化小结
  3. haproxy小结(一)基础概念篇
  4. java小白会有那些工作_Java小白找工作与学习的第四天
  5. wxhtmltopdf 图片路径问题_图片引入路径问题
  6. 第一:Postman安装及使用(超详细)
  7. 在xcode6.1和ios10.10.1环境下实现app发布
  8. xtrabackup mysql 5.1_编译支持mysql-5.1.73版本的xtrabackup
  9. Algorithm:数学建模大赛(CUMCM/NPMCM)之全国大学生数模竞赛简介 相关书籍、文章推荐等详细攻略
  10. 铁路铁鞋UWB定位系统
  11. 5.Abp vNext 地磅无人值守 微信小程序
  12. RoboCup智能机器人足球教程(三)
  13. excel学习07(笔记自用)
  14. C/C++小程序学习:n*n魔方矩阵实现每行、每列、每一对角线上的元素之和相等
  15. Onestage Grounding
  16. 数据仓库 python_python新手如何通过即时转换彻底改变收藏的数据仓库
  17. 【案例4-2】饲养员喂养动物
  18. python 面试题 博客园_常见的python面试问题1
  19. 企业级自动化运维平台
  20. 精研物理 格物致知(一)

热门文章

  1. 黑马程序员——OC学习小结------成员变量以及对应的set、get方法
  2. Android Bitmap保存时背景变为黑色的问题
  3. MySQL独立表空间、共享表空间
  4. 【Spring-tx】关于spring事务的思考
  5. Spring事务原理分析(三)--事务代理调用过程
  6. JVM监控及诊断工具命令行篇之jstack
  7. MySQL回滚日志(undo log)总结
  8. mysql之前缀索引
  9. IntelliJ IDEA设置鼠标悬浮提示
  10. [javase学习笔记]-8.8 构造代码块