Jump to content
  • Advertisement
Sign in to follow this  
Stimpy1983

[AGAL / Stage3D] Outline / Silhouette Shader

This topic is 2186 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi Everybody,

i search for a good Outline Shader - So that i draw the Outline of my Mesh. I don't need complete Toon Shading or things like that. Just a Outline from my Mesh.

I have found this paper:

http://blogs.aerys.i...g/#comment-1593

And i have try to implement it in AGAL, with this Result:

va0 = VertexPosition
va3 = VertexNormal
vc0 = WorldToScreenMatrix
vc4 = CameraPosition
vc20 = Constants (.y = 0.04)

vertexShaderAssemblerColor.assemble(Context3DProgramType.VERTEX,
"sub vt0, va0,vc4\n" +
"dp3 vt1, va3, vt0\n" +
"slt vt2, vc20.x,vt1\n" +
"mov vt3, vc20.y\n" +
"mul vt4, vt2, va3.xyz\n" +
"mul vt4, vt4, vt3\n" +
"add vt5, va0, vt4\n"+
"m44 op ,vt5 vc0\n"

fc20 = Constants,x= 0.1
fc8 = Color

Context3DProgramType.FRAGMENT,
"tex ft0 v1 fs0<2d,linear,repeat,linear,mipnone>\n" +
"slt ft1 v4.x fc20.x\n" +
"mul ft2 ft1 fc8\n"


so, but there nothing happens - Or a white screen. Have somebody some cool Outline Shader or know what is wrong with my?

Greeting Stimpy Edited by Stimpy1983

Share this post


Link to post
Share on other sites
Advertisement
I have figured out, that my code can't be working because all my Normals look up. So i have a plane 2d mesh , not a picture - a mesh , but all my vertexes are on the X/Y Axis. All my Normals are going up. The shader takes the angle between cam position and normal, if i understood right. So that can't be working....

Have somebody an idea how to draw an outline for a mesh where the normals are all in the same direction?!

Share this post


Link to post
Share on other sites
You need some value to distinguish between your model and the background. Often the depth and normal is take, but an alpha value (character = 1, background =0) will do the job too. Then use a sobel filter to detect the edges.

Share this post


Link to post
Share on other sites
was going to suggest using edge detections too, rendering back-facing polys will also work if you do that with a slightly enlarged version of the model.
both have their costs through.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!