环境贴图_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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 第二十课、Qt中的标准对话框(中)——————狄泰软件学院

    第二十课、Qt中的标准对话框(中)——————狄泰软件学院

    2022年3月1日
    34
  • COBOL语言概述

    COBOL语言概述一 COBOL 程序的结构 1 部 IDENTIFICATI 标识部 ENVIRONMENTD 环境部 DATADIVISION 数据部 PROCEDUREDIV 过程部 2 节 SECTION 和段 PARAGRAPH 1 部 节 段 2 标识部下面不设节 直接设段 3 过程部可以设节 下面再设段 也可以直接设段 3

    2025年7月21日
    0
  • Java爬虫系列三:使用Jsoup解析HTML「建议收藏」

    在上一篇随笔《Java爬虫系列二:使用HttpClient抓取页面HTML》中介绍了怎么使用HttpClient进行爬虫的第一步–抓取页面html,今天接着来看下爬虫的第二步–解析抓取到的html

    2022年2月16日
    35
  • bridge桥接模式_Bridge模式

    bridge桥接模式_Bridge模式bridge模式动机案例要点总结笔记动机由于某些类型的固有的实现逻辑,使得他们具有两个变化维度,乃至多个维度的变换如何应对这种”多维度的变化“?如何利用面向对象技术来是使得类型可以轻松地沿着两个乃至多个方向变换而不引入额外地复杂度?案例PC端和Mobile端平台和业务分离朴素class Messager{ public: virtual void Login(string username,string password) = 0; virtual void SendM

    2022年8月11日
    4
  • ios 越狱 真机调试

    ios 越狱 真机调试开发环境:Xcode4.5.2ios设备需要越狱并从Cydia安装appsync安装appsync步骤:1、找到安装的cydia,第一次运行将会弹出提示,选择开发者即可2、在工具栏中选择软件源(iphone/itouch选管理),然后点右上角的编辑3、点左上角添加4、输入源:http://yuan.duowan.com/(多玩的源),点添加源,等待添加完成,然后点返回C

    2022年5月17日
    33
  • 5500xt挖矿性能_amd挖矿算力

    5500xt挖矿性能_amd挖矿算力[md]![ffb89a43db94f4c8.jpg](data/attachment/forum/202008/10/170713rl88j1555551tr86.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/300″ffb89a43db94f4c8.jpg”)测试系统:windows10测试显卡:蓝宝石(Sapphire)RX5600…

    2022年8月31日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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