环境贴图_HDR高清环境贴图

环境贴图_HDR高清环境贴图以前自己看过shader,最近因为被客户逼着搞效果,只能自个儿捣鼓shader。好友把我深深鄙视一番。只好自己单独写篇环境贴图的文章,来小总结一下。环境贴图(EnvironmentMapping)

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

   以前自己看过shader,最近因为被客户逼着搞效果,只能自个儿捣鼓shader。好友把我深深鄙视一番。只好自己单独写篇环境贴图的文章,来小总结一下。

   环境贴图(Environment Mapping)又叫反射贴图(Reflection Mapping),在曲面上对反射效果进行很好的的近似。示意图如图所示:

未命名

   所有的EM方法都从一束来自视点的射线出发,到反射体的一个点终止,然后这束光线以这个点处的法线为基准进行反射。环境贴图近似假设进行反射的光源与物体都位于很远的位置,同时反射体不会反射自身。如果这些假设成立,就可以将反射体周围的环境看成围绕他的一个二维投影。

   EM的算法步骤如下:(摘自Real time rendering)

  Generate or load a two-dimensional image representing the environment.

  For each pixel that contains a reflective object, compute the normal at the location on the surface of the object.

  Compute the reflected view vector from the view vector and the normal.

  Use the reflected view vector to compute an index into the environment map that represent the incoming radiance in the reflected view direction.

  Use the texel data from the environment map as incoming radiance .

目前环境贴图应用的方法有Blinn和Newell方法、立方体贴图和球面贴图。具体的方法可以参考实时计算机图形学。

使用立方体贴图实现的效果如下:

IT@B90K{XAYJBI6L}L2_39X

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/166900.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • golang 设置ip地址_post请求header设置

    golang 设置ip地址_post请求header设置直接贴代码packagemainimport( “io” “net/http” “encoding/json”)typeKPIstruct{ Fziint`json:”fenzi”`//分子 Fmuint `json:”fenmu”` //分母}funckpi(whttp.ResponseWriter,r*http.Request){ kk…

  • SpringBoot整合Spring Security【超详细教程】

    SpringBoot整合Spring Security【超详细教程】好好学习,天天向上本文已收录至我的Github仓库DayDayUP:github.com/RobodLee/DayDayUP,欢迎Star,更多文章请前往:目录导航前言SpringSecurity是一个功能强大且高度可定制的身份验证和访问控制框架。提供了完善的认证机制和方法级的授权功能。是一款非常优秀的权限管理框架。它的核心是一组过滤器链,不同的功能经由不同的过滤器。这篇文章就是想通过一个小案例将SpringSecurity整合到SpringBoot中去。要实现的功能就是在认证服务器上登录,.

  • linux基本命令iscsiadm,iscsiadm命令使用方法[通俗易懂]

    linux基本命令iscsiadm,iscsiadm命令使用方法[通俗易懂]1.检查操作系统是否按照iscsi[root@linux01~]#rpm-qa|grepiscsiiscsi-initiator-utils-6.2.0.873-2.el6.x86_64如果没有按照的话,可以使用yuminstall命令进行安装2.检查iscsi服务配置[root@linux01~]#chkconfig–list|grepiscsiiscsi…

  • Java 删除文件 被占用 已解决

    Java 删除文件 被占用 已解决我一直在使用一段特定的代码来删除文件夹中的文件,但事实证明它很成问题,因为我可能忘了关闭一两个InputStream.我的代码是如此之大,以至于我无法看到所有未关闭的输入流.有没有办法删除文件是否有一个打开的InputStream?解决方法:简单粗暴有效Filefin=newFile(“C:/ABCStatementsfinal/”);File[]finlist…

  • 数字电路实验(三)——加法器、运算器

    数字电路实验(三)——加法器、运算器1、实验步骤:A全加器:1个vhd文件,用来定义顶层实体1个vwf文件,用来进行波形仿真,将验证的波形输入1、新建,编写源代码。(1).选择保存项和芯片类型:【File】-【newprojectwizard】-【next】(设置文件路径+设置projectname为【C:\Users\lenovo\Desktop\笔记\大二上\数字电路\实验课\实验三\全加器】)-【next】(设…

  • long long转string代码

    long long转string代码stringlltoString(longlongtimestamp){stringresult;ostringstreamss;ss<<timestamp;istringstreamis(ss.str());is>>result;returnresult;}包含头文件:#include…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号