Newer
Older
Dreamsturbia-Project-IADE-Unity3D / Assets / Textures / TextureShader 1.shader
  1. Shader "MyShaders/Texture"{
  2. Properties{
  3. _Color("Color", Color) = (1,1,1,1)
  4. _MainTex("Texture",2D) = "white"{}
  5. }
  6. SubShader{
  7. Pass{
  8. //Here code
  9. HLSLPROGRAM
  10. #pragma vertex MyVertexProgram
  11. #pragma fragment MyFragmentProgram
  12. #include "UnityCG.cginc"
  13. struct VertexData {
  14. float4 position : SV_POSITION;
  15. float2 uv : TEXCOORD0;
  16. };
  17. struct VertexToFragment
  18. {
  19. float4 position : SV_POSITION;
  20. float2 uv : TEXCOORD0;
  21. };
  22. //ACCESS COLORS
  23. float4 _Color;
  24. //ACCESS TEXTURES
  25. sampler2D _MainTex;
  26. //ACCESS TILING DATA
  27. float4 _MainTex_ST;
  28. //Here program vertexes and then fragments without it, this thing wont work.
  29. VertexToFragment MyVertexProgram(VertexData vertex)
  30. {
  31. VertexToFragment v2f;
  32. v2f.position = UnityObjectToClipPos(vertex.position);
  33. v2f.uv = vertex.uv * _MainTex_ST.xy + _MainTex_ST.zw;
  34. return v2f;
  35. }
  36. float4 MyFragmentProgram(VertexToFragment v2f) : SV_TARGET
  37. {
  38. return tex2D(_MainTex, v2f.uv) * _Color;
  39. }
  40. ENDHLSL
  41. }
  42. }
  43. }