111
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 30df7aac5e0027a46a0a8d0a3afc1f6a
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,71 @@
|
||||
Shader "Immersal/Point Cloud"
|
||||
{
|
||||
Properties
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
SubShader
|
||||
{
|
||||
Cull Off
|
||||
Tags{ "RenderType" = "Opaque" }
|
||||
LOD 100
|
||||
|
||||
Pass
|
||||
{
|
||||
CGPROGRAM
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
#pragma target 3.0
|
||||
|
||||
#include "UnityCG.cginc"
|
||||
|
||||
float _PointSize;
|
||||
fixed _PerspectiveEnabled;
|
||||
fixed4 _PointColor;
|
||||
|
||||
struct Vertex
|
||||
{
|
||||
float3 vertex : POSITION;
|
||||
};
|
||||
|
||||
struct VertexOut
|
||||
{
|
||||
float psize : PSIZE;
|
||||
float4 center : TEXCOORD0;
|
||||
half size : TEXCOORD1;
|
||||
UNITY_FOG_COORDS(0)
|
||||
};
|
||||
|
||||
VertexOut vert(Vertex vertex, out float4 outpos : SV_POSITION)
|
||||
{
|
||||
VertexOut o;
|
||||
outpos = UnityObjectToClipPos(vertex.vertex);
|
||||
|
||||
o.psize = lerp(_PointSize, _PointSize / outpos.w * _ScreenParams.y, step(0.5, _PerspectiveEnabled));
|
||||
o.size = o.psize;
|
||||
|
||||
o.center = ComputeScreenPos(outpos);
|
||||
UNITY_TRANSFER_FOG(o, o.position);
|
||||
return o;
|
||||
}
|
||||
|
||||
fixed4 frag(VertexOut i, UNITY_VPOS_TYPE vpos : VPOS) : SV_Target
|
||||
{
|
||||
fixed4 c = _PointColor;
|
||||
float4 center = i.center;
|
||||
center.xy /= center.w;
|
||||
center.xy *= _ScreenParams.xy;
|
||||
float d = distance(vpos.xy, center.xy);
|
||||
|
||||
if (d > i.size * 0.5) {
|
||||
discard;
|
||||
}
|
||||
|
||||
UNITY_APPLY_FOG(input.fogCoord, c);
|
||||
return c;
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 80bb3c180be837f4daba8ccfbd06b6eb
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user