Outline Post-Process

I have completed the outline post-process.


Outline Post Process video

By detecting and displaying the outline with the normal and depth map of the scene.

I created a new outline post-processing effect because ‘highlight layer,’ ‘render outline,’ and ‘edge rendering’ suffer from overlapping sides or imperfect rendering of rounded parts.

I think it’s pretty cool :grin:

If I have a chance, I will consider distributing it later.

12 Likes

Awesome! I would be curious to see how you made the normal buffer for the scene, if you can share the code of course :wink:

1 Like

So cool! is that something you plan to share?

1 Like

Thanks :slight_smile:

I get the scene normal by using this line.

var gBuffer = scene.enableGeometryBufferRenderer();

And you can get the normal with this line.

gBuffer.getGBuffer().textures[1]

In my case, I set the “normalSampler” with that in my post-process effect.

1 Like

I’d love to!

BabylonJS is designed to make development using 3D easy, so it was possible,
and I’m willing to share it gladly.

However, it seems that it’ll be after I first use this feature for my project. (It will take a few months)

I plan to modularize it into a package for my project, but will that be inconvenient for users?

If so, would it be better to submit a PR directly?

2 Likes

cc @RaananW for the best way to share it

1 Like

Personally i would prefer to use this wonderful feature directly from babylon )

Then I’ll think about it :smile:

1 Like

The best (for everyone IMO) would be to rlease it as an npm package for both umd and es6, allowing people to decide whether or not they use it, and how.
I am planning on making a sample project that does exactly that, but I am nowhere near finding the time to do that. I will be happy to provide some guiding points, if you want.
However, if it fits in the core library, feel free to submit a PR! We love those :slight_smile: . Due to back-compat, we will need to fully understand how it works, because it will have to be maintained.

1 Like