Quantcast
Channel: Questions in topic: "shader programming"
Viewing all articles
Browse latest Browse all 169

How to convert image to smaller image array

$
0
0
So I need to create a program that converts an image/scene into smiley faces. The basic idea is this; I will have a scene with an image in it, and I want to create a shader or script that can turn that image into an array of :) faces. Similar to this, except instead of hexagons it would be :) ![alt text][1] [1]: /storage/temp/188566-screenshot-2021-11-10-192757.png I managed to create a simple shader that turns an image into a mosiac, but I don't know I how I would turn it to smileys from there. The mosiac code Shader "STYLY/Examples/Mosaic" { Properties{ _MainTex("Texture", 2D) = "white" {} [Space] _Color("Main Color", Color) = (1,1,1,1) [HDR]_EmissionColor("Emission Color", Color) = (0,0,0,1) _MosaicResolution("Mosaic Resolution", Range(2, 128)) = 32 _MosaicResolutionX("X Mosaic Resolution", Range(1, 4)) = 1 _MosaicResolutionY("Y Mosaic Resolution", Range(1, 4)) = 1 [Space] _Glossiness("Smoothness", Range(0,1)) = 0 _Metallic("Metallic", Range(0,1)) = 0 } SubShader{ Tags { "RenderType" = "Opaque" } LOD 200 CGPROGRAM #pragma surface surf Standard fullforwardshadows #pragma target 3.0 sampler2D _MainTex; struct Input { float2 uv_MainTex; }; half4 _Color; half4 _EmissionColor; half _Glossiness; half _Metallic; int _MosaicResolution; int _MosaicResolutionX; int _MosaicResolutionY; #define MOSAIC (_MosaicResolution * float2(_MosaicResolutionX, _MosaicResolutionY)) // Surface Shader void surf(Input IN, inout SurfaceOutputStandard o) { float2 uv = IN.uv_MainTex; uv = floor(uv * MOSAIC) / MOSAIC; fixed4 c = tex2D(_MainTex, uv); o.Albedo = c.rgb * _Color; o.Emission = c.rgb * _EmissionColor; o.Metallic = _Metallic; o.Smoothness = _Glossiness; o.Alpha = 1.0; } ENDCG } FallBack "Diffuse" } So my question is, how would I, instead of making the images squares, make them in the shape of :) ?

Viewing all articles
Browse latest Browse all 169

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>