当前位置: 首页 > article >正文

Unity图形学之CubeMap立方体贴图

1.CubeMap:有六个面的贴图组成

2. 假反射:反射天空盒子

(1)正常UV采样:

(2)Cube的采样:利用反射角采样,反射角X和Cube的交点采样

Shader "Custom/TestReflect"
{
    Properties
    {
        _Color ("Color", Color) = (1,1,1,1)
        _MainTex ("Albedo (RGB)", 2D) = "white" {}
        _CubeMap("Cube Map",CUBE) = "" {}
        _CubePower("Cube Power",float) = 0.5
    }
    SubShader
    {
        Tags { "RenderType"="Opaque" }
        LOD 200
        CGPROGRAM
        // Physically based Standard lighting model, and enable shadows on all  light types
        #pragma surface surf Lambert
        // Use shader model 3.0 target, to get nicer looking lighting
        #pragma target 3.0
        sampler2D _MainTex;
        samplerCUBE _CubeMap;
        struct Input
        {
            float2 uv_MainTex;
            float3 worldRefl;
        };
        fixed4 _Color;
        float _CubePower;
        
        void surf (Input IN, inout SurfaceOutput o)
        {
            // Albedo comes from a texture tinted by color
            fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color;
            o.Albedo = c.rgb;
            o.Emission = texCUBE(_CubeMap,IN.worldRefl).rgb*_CubePower;
            o.Alpha = c.a;
        }
        ENDCG
    }
    FallBack "Diffuse"
}

3.真反射:立方体上直接反映场景中的所有渲染的东西,都反射显示到cube上了,非常 消耗性能

(1)创建一个RenderTexture:

(2)主相机上的Target Texture设置为RenderTexture:

(3)需要反射的立方体的材质球上的贴图设置为RenderTexture:


http://www.kler.cn/a/406897.html

相关文章:

  • rust中解决DPI-1047: Cannot locate a 64-bit Oracle Client library问题
  • Java NIO 核心知识总结
  • Appium常用的使用方法(一)
  • Linux驱动开发快速入门——字符设备驱动(直接操作寄存器设备树版)
  • C语言数据结构——详细讲解 双链表
  • 使用 npm 安装 Electron 作为开发依赖
  • 装饰器模式 (Decorator Pattern)
  • 设计模式-创建型-单例模式
  • ssm面向品牌会员的在线商城小程序
  • 【SQL Server】华中农业大学空间数据库实验报告 实验四 完整性约束
  • IDEA2024 maven构建跳过测试
  • 【跳线帽】是什么?怎么用?
  • AIVA 技术浅析(五):使用的自然语言处理(NLP)技术浅析
  • mac homebrew国内镜像源安装
  • SpringBoot社团管理:数据驱动的解决方案
  • uniapp、js判断输入的内容是整数
  • 动态规划子数组系列一>最长湍流子数组
  • 旋转向量v和旋转矩阵R
  • 抓包 127.0.0.1 (loopback) 使用 tcpdump+wireshark
  • java计算机毕设课设—企业采购信息管理系统(附源码、文章、相关截图、部署视频)
  • netstat -tuln | grep 27017(显示所有监听状态的 TCP 和 UDP 端口,并且以数字形式显示地址和端口号)
  • R语言p值矫正整的方法
  • 全面解析 JMeter 后置处理器:概念、工作原理与应用场景
  • HCIA考试内容多吗?HCIA数通学什么?
  • go interface(接口)使用
  • HashMap底层原理