Jump to content

  • Log In with Google      Sign In   
  • Create Account

3D Vector Art graphical effect


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
4 replies to this topic

#1 AvengerDr   Members   -  Reputation: 751

Like
0Likes
Like

Posted 29 May 2014 - 01:50 PM

Hi all,

what would be the best way to achieve a "modern" vector art-like rendering effect? For example see:

UphYyjA.jpg

 

In my mind, it would need to be a bit more complex than a simple wireframe shader with a glow post-processing effect. I wouldn't want it to render back faces and all face edges. What kind of techniques should I look into?

 


--Avengers UTD Chronicles - My game development blog

Sponsor:

#2 imoogiBG   Members   -  Reputation: 1247

Like
0Likes
Like

Posted 29 May 2014 - 04:02 PM

a textured mesh, a billboards.

It really depends on the behavior that you want to achieve.



#3 Ashaman73   Crossbones+   -  Reputation: 8001

Like
0Likes
Like

Posted 30 May 2014 - 12:29 AM


In my mind, it would need to be a bit more complex than a simple wireframe shader with a glow post-processing effect.

Hmmm, I would approach it this way:

0. Assumption: you have your models (standard 3d geometry) with some edges marked as visible

1. clear render target

2. z-prepass, fill z-buffer by rendering the standrd model

3. render marked lines, utilizing the z-buffer to remove hidden lines

4. glow pass

5. profit wink.png

 

Add some AA on the way, e.g. when rendering the lines, to improve the line quality.



#4 AvengerDr   Members   -  Reputation: 751

Like
0Likes
Like

Posted 30 May 2014 - 02:00 AM

Hmmm, I would approach it this way:it more complex than a simple wireframe shader with a glow post-processing effect.

0. Assumption: you have your models (standard 3d geometry) with some edges marked as visible

1. clear render target

2. z-prepass, fill z-buffer by rendering the standrd model

3. render marked lines, utilizing the z-buffer to remove hidden lines

4. glow pass

5. profit wink.png

 

Add some AA on the way, e.g. when rendering the lines, to improve the line quality.

 

 

Yeah it's how to mark the edges that complicates (a bit) the issue. I happened to find this article on "Single-Pass Wireframe Rendering". It uses the barycentric coordinates of each triangle vertex to determine whether to draw the edges or not. Regardless of how it is rendered, are there algorithms to selectively hide edges based on say, the face normal or would it be better to do it by hand? I guess if one has time... :D


--Avengers UTD Chronicles - My game development blog

#5 haegarr   Crossbones+   -  Reputation: 4602

Like
2Likes
Like

Posted 30 May 2014 - 08:03 AM


Regardless of how it is rendered, are there algorithms to selectively hide edges based on say, the face normal ...

There are algorithms that compare the normals of adjacent triangles to classify the shared edge as a feature edge. Silhouette edges and crease edges are examples (google for "feature edge silhouette crease", for example). Removing a cross-edge inside an n-gon can be done similarly: If the dot-product of the normals of 2 adjacent triangles is very close to 1, then the two faces can be considered co-planar and the edge between them can be flagged to be not drawn. Using the geometry shader, such things can be done on the fly on the GPU.






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.



PARTNERS