Jump to content

View more

Image of the Day

Boxes as reward for our ranking mode. ヾ(☆▽☆)
#indiedev #gamedev #gameart #screenshotsaturday https://t.co/ALF1InmM7K
IOTD | Top Screenshots

The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.


Sign up now

Chromatic Aberration

4: Adsense

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.


  • You cannot reply to this topic
2 replies to this topic

#1 arijan   Members   

104
Like
0Likes
Like

Posted 26 July 2012 - 08:09 AM

Hi ,

As for this effect , I am trying to find a nice way to make "horizontal/vertical leak lines" to disappear.

( Horizontal example : http://active.tutsplus.com/tutorials/effects/create-a-retro-crt-distortion-effect-using-rgb-shifting/
2nd cat photo in the page )

( Vertical example :
)

So for such an effect like this , how would you suggest me to implement it ?
( Not asking how to do it , but asking what to do )

Many thanks

#2 Seabolt   Members   

781
Like
0Likes
Like

Posted 27 July 2012 - 09:01 AM

Looks like you could pull that off with storing a certain number of frame buffers, then colorizing them how ever you'd like, then when you render your frame have each pixel take a weighted average of all the frames. Might be a bit memory heavy though.
Perception is when one imagination clashes with another

#3 TiagoCosta   Members   

3655
Like
0Likes
Like

Posted 27 July 2012 - 10:15 AM

It's easy (I think Posted Image ):

-Render the scene to a render target.
-In post processing:
Chose 2 random texture offsets (small values) that will be used as offsets to sample the scene texture.
Draw a fullscreen quad and sample the scene texture 3 times:
1 - using no offsets;
2 - using the first texture offset.
3- using the second texture offset.
Ouput the pixel color like this:
return float4(sample1.r, sample2.g, sample3.b, 1.0f);

I think this should work.

Texture2D sceneTexture;

SamplerState triLinearSampler;

float4 PS(PSInput pIn) : SV_TARGET
{
	 float4 sample1 = sceneTexture.Sample(triLinearSampler, pIn.texC, int2(0, 0));
	 float4 sample2 = sceneTexture.Sample(triLinearSampler, pIn.texC, int2(-5, 0));
	 float4 sample3 = sceneTexture.Sample(triLinearSampler, pIn.texC, int2(5, 0));

	 return float4(sample1.r, sample2.g, sample3.b, 1.0f);
}

Edited by TiagoCosta, 27 July 2012 - 10:21 AM.





Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.