Sign in to follow this  

Point sprite size in world space

Recommended Posts

Another particle Q... Anyone know of an example showing the correct calculation you need to perform in you want the PSIZE in your vertex format to be the world space size of your particle (until you hit the point sprite size limit). E.g. What should the CalcPSize function be in the snippet below ? What other inputs will it need ?
VertexOut  ParticleVP(float4 pos : POSTION, float worldSpSize: PSIZE, float4 color :COLOR)

	VertexOut Out=(VertexOut)0;
	Out.oPosition		= mul(position , modelViewProj  );
	Out.oColor 		= color;
	Out.oSize 		= CalcPSize(worldSpSize,Out.oPosition,....);

	return Out;

I've seen this kind of thing, but it doesn't seem like it would be right to me...
float ScaleFactor=16.0;

float CalcPSize(float worldSpSize, float4 oPos)
	return ScaleFactor*worldSpSize/oPos.z;

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this