All pastes #2076108 Raw Edit

my dof

public text v1 · immutable
#2076108 ·published 2011-06-07 10:53 UTC
rendered paste body
//r1*=10.0;

	r0.w=abs(_c79.w);
	r3=_c4; //-0.5, -1.5, 1.5, 0.5

	float2	center;
	float	distance;
	float	focus;
	float	farblur;
	float	dof;

	distance=r0.z * r0.x - _c78.w; //dofDist.w
	distance+=_c78.y * -r3.w; //dofDist.y
	distance+=120;//offset
	center.x=_v0.x-0.5;
	center.y=0.5-_v0.y;
	focus=length(center.xy)*1.41421;
	focus=pow(focus,5)*3;
	focus=max(focus,0.5);
	farblur=clamp(distance*0.05,0.2,0.999);
	if(distance*0.1>2)dof=0.999;
	else dof=0.0;

//TEMP decrease bluriness for edge smoothing
//float2 off_c76=_c76.xy*(farblur);
float2 off_c76=_c76.xy*min(focus+farblur+dof,0.999);//1.0 is total maximum blur amount