yum/DisInfo

Simple HLSL text rendering utilities.

git clone https://git.yummers.dev/yum/DisInfo

yumInitial commita5e0aaf

master
1.1 KiB52 linesraw
1#ifndef DISINFO_LIGHTING
2#define DISINFO_LIGHTING
3
4#include "AutoLight.cginc"
5#include "UnityPBSLighting.cginc"
6
7#include "interpolators.cginc"
8#include "disinfo.cginc"
9
10void getVertexLightColor(inout v2f i)
11{
12  #if defined(VERTEXLIGHT_ON)
13  i.vertexLightColor = Shade4PointLights(
14    unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0,
15    unity_LightColor[0].rgb,
16    unity_LightColor[1].rgb,
17    unity_LightColor[2].rgb,
18    unity_LightColor[3].rgb,
19    unity_4LightAtten0, i.worldPos, i.normal
20  );
21  #endif
22}
23
24v2f vert(appdata v)
25{
26  v2f o;
27  o.position = UnityObjectToClipPos(v.position);
28  o.worldPos = mul(unity_ObjectToWorld, v.position);
29  o.normal = UnityObjectToWorldNormal(v.normal);
30
31  o.uv = v.uv;
32  getVertexLightColor(o);
33
34  return o;
35}
36
37fixed4 frag(v2f i) : SV_Target
38{
39  float2 uv = i.uv;
40  int2 cell_pos;
41  float2 cell_uv;
42  if (!getBoxLoc(uv, 0.1, 0.9, /*res=*/int2(4,4), cell_pos, cell_uv)) {
43    return float4(0, 0, 0, 1);
44  }
45  float2 duv = float2(ddx(i.uv.x), ddy(i.uv.y)) / 4;
46  float4 font_color = renderInBox(67, cell_uv, duv);
47
48  return font_color;
49}
50
51#endif  // DISINFO_LIGHTING
52