// Created by Ofer Rubinstein.
// Licesne http://c...content-available-to-author-only...s.org/licenses/by/3.0/
float4 DrawPS(GeoOut pin) : SV_TARGET
{
pin.PosH2/=pin.PosH2.w;
pin.PosH2.y = -pin.PosH2.y;
// Sample Depth map according to screen space coordinates of the pixel.
float2 d = gDepth.Sample(samLinear, float3(0.5*(pin.PosH2.xy+1), 0), 0);
// Clip pixels hidden behind solid geometry(according to the depth map)
clip (d.r-pin.PosH2.z);
// Fade out pixels which are of distance of Delta units in the Z value
float Delta = 10;
float z1 = gProj._43/(pin.PosH2.z-gProj._33);
float z2 = gProj._43/(d.r-gProj._33);
float l = max(min((z2-z1), Delta)/Delta, 0);
// Make the particle look like a sphere
float a = max((1.0-((pin.Tex.x-0.5)*(pin.Tex.x-0.5) + (pin.Tex.y-0.5)*(pin.Tex.y-0.5))/0.25), 0);
// Blending two colors so that the particle is more red around the edge.
float3 c1 = float3(0.75, 0.5, 0.1);
float3 c2 = float3(0.5, 0, 0);
a*=a;
return float4((c1*a+(1-a)*c2)*a*l, a*l);
}
Ly8gQ3JlYXRlZCBieSBPZmVyIFJ1Ymluc3RlaW4uCi8vIExpY2VzbmUgaHR0cDovL2MuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnMub3JnL2xpY2Vuc2VzL2J5LzMuMC8KCgpmbG9hdDQgRHJhd1BTKEdlb091dCBwaW4pIDogU1ZfVEFSR0VUCnsKCXBpbi5Qb3NIMi89cGluLlBvc0gyLnc7CglwaW4uUG9zSDIueSA9IC1waW4uUG9zSDIueTsKCS8vIFNhbXBsZSBEZXB0aCBtYXAgYWNjb3JkaW5nIHRvIHNjcmVlbiBzcGFjZSBjb29yZGluYXRlcyBvZiB0aGUgcGl4ZWwuCglmbG9hdDIgZCA9IGdEZXB0aC5TYW1wbGUoc2FtTGluZWFyLCBmbG9hdDMoMC41KihwaW4uUG9zSDIueHkrMSksIDApLCAwKTsKCS8vIENsaXAgcGl4ZWxzIGhpZGRlbiBiZWhpbmQgc29saWQgZ2VvbWV0cnkoYWNjb3JkaW5nIHRvIHRoZSBkZXB0aCBtYXApCgljbGlwIChkLnItcGluLlBvc0gyLnopOwoJLy8gRmFkZSBvdXQgcGl4ZWxzIHdoaWNoIGFyZSBvZiBkaXN0YW5jZSBvZiBEZWx0YSB1bml0cyBpbiB0aGUgWiB2YWx1ZQoJZmxvYXQgRGVsdGEgPSAxMDsgCglmbG9hdCB6MSA9IGdQcm9qLl80My8ocGluLlBvc0gyLnotZ1Byb2ouXzMzKTsKCWZsb2F0IHoyID0gZ1Byb2ouXzQzLyhkLnItZ1Byb2ouXzMzKTsKCWZsb2F0IGwgPSBtYXgobWluKCh6Mi16MSksIERlbHRhKS9EZWx0YSwgMCk7CgkvLyBNYWtlIHRoZSBwYXJ0aWNsZSBsb29rIGxpa2UgYSBzcGhlcmUKCWZsb2F0IGEgPSBtYXgoKDEuMC0oKHBpbi5UZXgueC0wLjUpKihwaW4uVGV4LngtMC41KSArIChwaW4uVGV4LnktMC41KSoocGluLlRleC55LTAuNSkpLzAuMjUpLCAwKTsKCS8vIEJsZW5kaW5nIHR3byBjb2xvcnMgc28gdGhhdCB0aGUgcGFydGljbGUgaXMgbW9yZSByZWQgYXJvdW5kIHRoZSBlZGdlLgoJZmxvYXQzIGMxID0gZmxvYXQzKDAuNzUsIDAuNSwgMC4xKTsKCWZsb2F0MyBjMiA9IGZsb2F0MygwLjUsIDAsIDApOwoJYSo9YTsKCXJldHVybiBmbG9hdDQoKGMxKmErKDEtYSkqYzIpKmEqbCwgYSpsKTsKfQo=
prog.c:5: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘DrawPS’