2016-06-29 8 views
1

私は "ブラシ"テクスチャで描きたいRenderTextureを持っています。これは高さマップなので、ブラシ内のwatherverはRenderTextureの値に追加する必要があります。 rendertextureにテクスチャを描画Unity5:レンダリングにテクスチャをどのように描画するのですか?

があまりにも難しいことではありません。

RenderTexture.active = _heightMap; //the render texture to be drawn to 
Rect screenRect = new Rect(x, y, width, height); 
Graphics.DrawTexture(screenRect, _brush, _addBrushMaterial); 

私は今、私のテクスチャ(「_addBrushMaterial」)にブラシの色を追加する材料が必要だと思います。しかし、私は色を追加するようにそれを作る方法を見つけることができません。

float4 frag (v2f_img i) : SV_Target 
{ 
    float4 col = tex2D(_MainTex, i.uv); 
    return col * _Scale; 
} 

マニュアルを参照して、これは非常に限られたと思われる程度なので、任意のヘルプは非常に高く評価されています。現時点では、それはそれは良いですので、それはそれを追加する必要があり、フラグメントシェーダは、単に色を設定します!

ありがとうございました

答えて

0

私がしなければならなかったのは、 "One One One"を加えることでした。

私は今、次のシェーダを使用します。

Properties 
{ 
    _MainTex ("Brush", 2D) = "white" {} 
    _Scale("Scaling factor", Float) = 1.0 
} 
SubShader 
{ 
    // No culling or depth 
    Cull Off ZWrite Off ZTest Always 

    Pass 
    { 
     Blend One One 

     CGPROGRAM 
     #pragma vertex vert_img 
     #pragma fragment frag 

     #include "UnityCG.cginc" 

     sampler2D _MainTex; 
     float _Scale; 

     float4 frag(v2f_img i) : SV_Target 
     { 
      return tex2D(_MainTex, i.uv) * _Scale; 
     } 
     ENDCG 
    } 
} 
関連する問題