雷达波Shader

OSG版本:

vert

#version 120
varying out vec3 v;
void main()
{
    gl_FrontColor = gl_Color;
    gl_Position = ftransform();
    v = gl_Vertex.xyz;
}

frag

#version 120
varying in vec3 v;
uniform float osg_FrameTime;
void main()
{
    //gl_FragColor = vec4(1,0,0,1);
    gl_FragColor = gl_Color;
    // 条带间隔
    //if (mod(floor((v.z-osg_FrameTime*100000)/ 100000),2)!=0)
    //    discard;
    //gl_FragColor = vec4(1,0,0,0.5);
    float alpha = (cos((v.z-osg_FrameTime*50000) / 20000)+1-0.2)/2;
    gl_FragColor = vec4(gl_Color.xyz,alpha);
}

Unity版本:

// Upgrade NOTE: replaced ‘_World2Object‘ with ‘unity_WorldToObject‘

// Upgrade NOTE: replaced ‘_World2Object‘ with ‘unity_WorldToObject‘

Shader "Custom/RadarWave" {
    Properties {
        _Color ("Color", Color) = (1,1,1,1)
        _MainTex ("Albedo (RGB)", 2D) = "white" {}
        _Glossiness("Smoothness", Range(0,1)) = 0.5
        _Metallic("Metallic", Range(0,1)) = 0.0
        _TransVal("Transparency Value", Range(0,1)) = 0.5
        _StripWidth("Strip Width", Range(0.01,1)) = 0.1
        _Speed("Speed", Range(0.1,10)) = 1
        [Enum(x,1,y,2,z,3)]_Direction("Moving Direction", Int)=3
    }
    SubShader {
        Tags { "RenderType"="Opaque" "Queue" = "Transparent" }
        LOD 200
        //Cull Off//关闭背面裁剪
        //Lighting Off//此设置在surface shader中不起作用,貌似是在Unlit Shader中使用的
        //ZWrite On
        //ZTest On
        Blend SrcAlpha OneMinusSrcAlpha

        CGPROGRAM
        // Physically based Standard lighting model, and enable shadows on all light types
        //#pragma surface surf Standard fullforwardshadows alpha vertex:vert
        #pragma surface surf NoLightModel fullforwardshadows alpha vertex:vert

        // Use shader model 3.0 target, to get nicer looking lighting
        #pragma target 3.0

        sampler2D _MainTex;

        struct Input {
            float2 uv_MainTex;
            float4 modelPos_;
        };

        half _Glossiness;
        half _Metallic;
        half _TransVal;
        half _StripWidth;
        half _Speed;
        int _Direction;
        fixed4 _Color;

        // Add instancing support for this shader. You need to check ‘Enable Instancing‘ on materials that use the shader.
        // See https://docs.unity3d.com/Manual/GPUInstancing.html for more information about instancing.
        // #pragma instancing_options assumeuniformscaling
        UNITY_INSTANCING_CBUFFER_START(Props)
            // put more per-instance properties here
        UNITY_INSTANCING_CBUFFER_END

        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;
            //float4 tmp = mul(unity_WorldToObject, IN.modelPos_);
            //_Time    float4    t是自该场景加载开始所经过的时间,4个分量分别是 (t/20, t, t*2, t*3)
            float modelPos = _Direction == 1 ? IN.modelPos_.x : _Direction == 2 ? IN.modelPos_.y : IN.modelPos_.z;
            /*if (fmod(floor((modelPos -_Time.y*_Speed)/ _StripWidth),3)!=0)
            {
                //clip(-1);
                discard;
            }
            //o.Alpha = c.a;
            o.Alpha = _TransVal;*/
            o.Alpha = (cos((modelPos - _Time.y*_Speed) / _StripWidth) + 1) / 2;
            o.Alpha = clamp(o.Alpha, 0.1, 0.9);
        }

        void vert(inout appdata_full v, out Input o)
        {
            UNITY_INITIALIZE_OUTPUT(Input, o);
            o.modelPos_ = v.vertex;
        }

        //命名规则:Lighting接#pragma suface之后起的名字
        //lightDir :点到光源的单位向量   viewDir:点到摄像机的单位向量   atten:衰减系数
        float4 LightingNoLightModel(SurfaceOutput s, float3 lightDir, half3 viewDir, half atten)
        {
            float4 c;
            c.rgb = s.Albedo;
            c.a = s.Alpha;
            return c;
        }

        ENDCG
    }
    FallBack "Diffuse"
}

原文地址:https://www.cnblogs.com/coolbear/p/8745937.html

时间: 2024-10-30 09:52:00

雷达波Shader的相关文章

军事体系

复盘钓鱼岛 Shi Jian 并推理日后进程,我们从日本的困境开始.日本经济持续衰退实际上是美国造成的,其中有三个重要时间点,一是1985年广场协议,日元被迫升值,从此走向了股市地产双泡沫:第二是1992年泡沫经济被打爆:第三是1998年东南亚金融战败. 此后要解决日本的发展问题,大概有三条路可以走: 一是爬科技树,工业与创新相结合,让本国制造业始终领先,用一线产品夺取国际市场,但工业创新意味着军工突破,所以美国就一直压制他,以至于日本 在二战后的科研不仅被限制在“民用”这一范围,就连研发方向和

【遥感专题系列】微波遥感(三、SAR图像特征)

SAR是主动式侧视雷达系统,且成像几何属于斜距投影类型.因此SAR图像与光学图像在成像机理.几何特征.辐射特征等方面都有较大的区别.在进行SAR图像处理和应用前,需要了解SAR图像的基本特征. 本文主要包括: 成像散射特征 SAR几何特征 SAR图像特征   1.成像散射特征 SAR图像上的信息是地物目标对雷达波束的反映,主要是地物目标的后向散射形成的图像信息.反映SAR图像信息的灰度值主要受后向散射的影响,而影响后向散射的主要因素分为两大类: 雷达系统的工作参数:主要包括雷达传感器的工作波长.

水位传感器

水位传感器 浮子式水位计 其原理是由浮子感应水位的升降.有用机械方式直接使浮子传动记录结构的普通水位计, 有把浮子提供的转角量转换成增量电脉冲或二进制编码脉冲作远距离传输的电传.数传水位计,还有用微型浮子和许多干簧管组成的数字传感水位计等.应用较广的是机械式水位计.应用浮子式水位计需有测井设备,只适合于岸坡稳定.河床冲淤很小的低含沙量河段使用 跟踪式水位计 又称接触式水位计,利用重锤上的电测针接触水面发出电信号,使电机正转或逆转,随时跟踪水面点的位置,从而测定水位.一般在较陡岸坡上架设铁管,悬锤

台湾沱江舰正式成军被称“航母杀手”

中新网3月31日电 据台湾“中央社”消息,台湾“磐石军舰”和“沱江军舰”31日举行联合成军典礼.报道称,沱江军舰速度快.可匿踪,有“航母杀手”称号:磐石军舰则身负油弹补给和国际救援任务,成军后大幅强化台湾海军制海战力. 报道称,沱江舰是台湾首艘匿踪导弹巡逻舰,采双船体设计,特色是速度快.具匿踪外形.台湾前防务部门负责人严明曾称赞沱江舰是“亚洲最快.火力最强”的舰艇. 据报道,沱江舰长60.4米.宽14米,最高速率达38节,续航力2000浬,搭载41员,虽然仅500吨,可搭载包括雄风二型.三型等导

SAR图像与光学图像区别

按传感器采用的成像波段分类,光学图像通常是指可见光和部分红外波段传感器获取的影像数据.而SAR传感器基本属于微波频段,波长通常在厘米级.可见光图像通常会包含多个波段的灰度信息,以便于识别目标和分类提取.而SAR图像则只记录了一个波段的回波信息,以二进制复数形式记录下来:但基于每个像素的复数数据可变换提取相应的振幅和相位信息.振幅信息通常对应于地面目标对雷达波的后向散射强度,与目标介质.含水量以及粗糙程度密切相关:该信息与可见光成像获得的灰度信息有较大的相关性.而相位信息则对应于传感器平台与地面目

雷达截面积(Radar Cross Section,RCS)(MATLAB部分仿真+Code)

一 .RCS定义 任何具有确定极化的电磁波照射到目标上时,都会产生各个方向上的折射或散射. 其中散射波分为两部分:一是由与接收天线具有相同极化的散射波组成:二是散射波具有不同的变化,接收天线没有响应.这两种极化正交,分别称为主极化(Principle Polarization,PP)和垂直极化(Orthogonal Polarization,OP).与雷达照射天线具有相同极化波的后向散射能量的强度用来定义目标RCS. 用通俗的话讲:PCS是度量目标在雷达波照射下所产生回波强度的一种物理量.它

osgEarth设置模型旋转角度

#include<windows.h> #include <osgViewer/Viewer> #include <osgEarthDrivers/gdal/GDALOptions> #include <osg/ShapeDrawable> #include <osgEarthUtil/EarthManipulator> #include <osg/MatrixTransform> #include <osgEarthFeatu

无人驾驶技术之传感器部分简介

随着无人车技术发展越发成熟,越来越多人开始关注这个号称拥有万亿量级市场的新型行业.那么今天,我就先简 单介绍下通常无人车所拥有的传感器. 首先,在汽车前玻璃上装有两个摄像头,就像人眼一样,构立体图像,可以捕捉图像数据和距离数据. 其次,在两个立体相机中间是一个交通信号识别摄像头.通常交通信号灯在十字路口的另一边,因此需要特殊镜头,让摄像头捕捉足够的成像距离,可以检测远处的信号. 雷达,位于前保险杠的后面.其他传感器测量速度的方法是计算两次读数差,而雷达通过多普勒效应直接测量速度.多普勒相应根据对

数据标注案例分享:车辆前置摄像头数据采集标注项目丨曼孚科技

?在自动驾驶技术中,感知是最基础的部分,没有对车辆周围三维环境的定量感知,就犹如人没有了眼睛,无人驾驶的决策系统就无法正常工作. 与其他应用场景相比,自动驾驶的应用场景相对复杂,尤其面对复杂多变的路况环境,感知技术的突破需要依赖相应的数据采集标注项目的支持. 一.项目背景 车辆前置道路信息采集主要解决两个个关键需求: 1. 障碍物的距离信息;2. 相对速度向量. 通过对障碍物的连续追踪,根据距离的变化和时间间隔得到相对速度信息,以满足自动驾驶相关业务的需求. 多城市多道路,会带来不同的路况,信号